:root{
--cream:#f8f7f1;--paper:#fffef9;--ink:#1c302c;--ink2:#455b52;--mute:#687d71;--hair:#e0e5dc;--mint:#c5e7d2;--sage:#91b9a1;--deep:#102720;--deep2:#18352c;--gold:#d9ba85;--shadow:0 24px 65px rgba(22,47,36,.12);--serif:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.62 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:#2a795a}
button{font:inherit;cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #58aa7e;outline-offset:3px}
img,svg{max-width:100%}
.skip{position:absolute;top:-100px;left:0;padding:12px;background:white;z-index:100}.skip:focus{top:0}
.wrap{max-width:1260px;margin-inline:auto;padding-inline:37px}
.site-header{height:74px;position:sticky;top:0;z-index:30;background:rgba(248,247,241,.94);border-bottom:1px solid #d5ddd4;backdrop-filter:blur(18px)}
.header-wrap{height:100%;display:flex;align-items:center;gap:26px;justify-content:space-between}
.logo{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.16em;font-weight:800;white-space:nowrap}.logo-mark{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:var(--deep);color:#d5eacf;font-size:20px}.logo small{font-size:10px;color:#76907d;font-weight:500;letter-spacing:.11em}
.nav{display:flex;align-items:center;gap:25px}
.nav a{font-size:12px;color:#435c4e;font-weight:550;white-space:nowrap;transition:color .2s}.nav a[aria-current="page"]{font-weight:800;color:#1b4f37}
.header-cta{display:inline-flex;align-items:center;gap:12px;background:var(--deep);color:#e5f4e4!important;padding:10px 15px;border-radius:4px;font-size:11px!important;font-weight:750!important}
.mobile-nav{display:none;background:transparent;border:0;padding:9px}.mobile-nav span{display:block;width:23px;height:2px;background:var(--ink);margin:5px 0}
.progress-top{position:absolute;bottom:-1px;left:0;width:0;height:2px;background:#4c9972;transition:width .12s linear;pointer-events:none}
.section-eyebrow,.micro,.project-type,.paper-tag{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#527d64}
h1,h2,h3,p{overflow-wrap:break-word}
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.052em}
.hero{background:radial-gradient(ellipse at 90% 42%,#275143 0%,#173a30 36%,#0f281f 78%);color:#eff6e9;overflow:hidden;position:relative}
.hero:before{content:"";pointer-events:none;position:absolute;inset:0;background-image:linear-gradient(rgba(178,219,188,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(178,219,188,.035) 1px,transparent 1px);background-size:43px 43px;mask-image:linear-gradient(90deg,transparent 12%,black)}
.hero-grid{min-height:660px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:44px;padding-top:64px;padding-bottom:78px;position:relative}
.hero .section-eyebrow{color:#b7d9c5}.hero-title{font:400 clamp(55px,5.3vw,85px)/1.055 var(--serif);letter-spacing:-.058em;margin:22px 0 24px;max-width:620px}
.hero-title em{color:#bfe3c6;font-weight:400}
.hero-desc{font-size:17px;color:#c2d5c9;line-height:1.8;max-width:570px;margin:0}
.hero-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:5px;padding:12px 18px;font-size:12px;font-weight:750;transition:transform .25s,background .25s}
.btn:hover{transform:translateY(-3px);color:inherit}.btn-mint{background:#d4eccc;color:#16382b}.btn-outline{border-color:#668874;color:#e5f4e5}.btn-dark{background:#183c30;color:#e4f1e5}.btn-line{border-color:#9db6a5;color:#2d6149}.btn:focus-visible{outline-color:#c0f1dc}
.hero-caption{margin-top:20px;font-size:11px;color:#9ab7a6}
.hero-stage{position:relative;height:520px;perspective:1200px;isolation:isolate}
.stage-aura{position:absolute;inset:10% 5%;background:radial-gradient(ellipse,#76bfa768,transparent 65%);filter:blur(50px);z-index:-2}
.stage-ring{position:absolute;inset:11% 6%;border:1px solid #a2c4aa44;border-radius:50%;transform:rotate(-17deg);z-index:-1}
.stage-ring:after{content:"";position:absolute;inset:14%;border:1px dashed #a1caaa66;border-radius:50%}
.screen{position:absolute;overflow:hidden;border:1px solid #a2bdb077;border-radius:12px;background:#f0efe8;box-shadow:0 35px 80px #05170f99;transition:transform .5s ease}
.screen img{width:100%;height:100%;object-fit:cover;display:block}.screen img:not([src]){display:none}
.screen-main{width:75%;height:330px;right:5%;top:15%;transform:rotate(5deg)}
.screen-left{width:42%;height:202px;left:2%;top:43%;transform:rotate(-10deg);z-index:2}
.screen-small{width:35%;height:180px;right:0%;top:1%;transform:rotate(9deg);z-index:1}
.hero-stage:hover .screen-main{transform:rotate(3deg) translateY(-8px)}.hero-stage:hover .screen-left{transform:rotate(-7deg) translateY(-8px)}.hero-stage:hover .screen-small{transform:rotate(7deg) translateY(-8px)}
.screen-marker{position:absolute;display:flex;align-items:center;gap:6px;bottom:18px;right:6px;padding:9px 12px;border:1px solid #829e8d88;background:#142a23e8;color:#e9f3e7;border-radius:4px;font-size:10px;letter-spacing:.09em;backdrop-filter:blur(8px);z-index:5}
.screen-marker i{display:block;background:#b6d8c3;border-radius:100%;width:6px;height:6px}
.stage-caption{position:absolute;bottom:0;left:5%;font-size:10px;color:#9db7a5;letter-spacing:.04em}
.underhero{border-bottom:1px solid var(--hair);background:#e8eee5}.underhero-grid{display:grid;grid-template-columns:repeat(4,1fr)}.underhero-grid>div{padding:23px 19px;border-right:1px solid #d0dad0}.underhero-grid>div:first-child{padding-left:0}.underhero-grid>div:last-child{border:0}.underhero-grid strong{font-size:13px;font-weight:720}.underhero-grid span{display:block;font-size:10px;color:#6c8877;margin-bottom:4px;letter-spacing:.12em}
.section{padding-top:100px;padding-bottom:100px;scroll-margin-top:80px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:36px}
.section-head>div{max-width:740px}.section-head h2,.page-title{font:400 clamp(41px,4.6vw,67px)/1.11 var(--serif);letter-spacing:-.045em;margin:17px 0 0}
.section-head h2 em,.page-title em{font-style:italic;color:#6d9a7e}.section-head p{color:#647c6e;max-width:390px;font-size:14px;line-height:1.75;margin:0 0 6px}
.eyeline{display:flex;gap:14px;align-items:center}
.eyeline:after{content:"";height:1px;width:60px;background:#92b29b}
.idea-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:26px;align-items:stretch}
.idea-copy{padding:37px;background:#fdfcf6;border:1px solid #dde4d9;min-height:355px}
.idea-copy h3{font:400 35px/1.19 var(--serif);letter-spacing:-.035em;margin:10px 0 15px;max-width:510px}
.idea-copy p{font-size:14px;color:#607366;max-width:480px;line-height:1.85}
.idea-steps{display:flex;gap:6px;flex-wrap:wrap;margin:27px 0 0}.idea-steps span{border:1px solid #b5c9b8;border-radius:50px;font-size:11px;padding:7px 11px;background:#f1f5eb;color:#365f49}
.impact-panel{background:#dce9dc;border:1px solid #c3d7c2;padding:37px;position:relative;overflow:hidden}
.impact-panel:after{content:"";position:absolute;width:310px;height:310px;right:-90px;bottom:-130px;border:1px solid #80a78a66;border-radius:50%;box-shadow:0 0 0 40px #83b28d18,0 0 0 90px #83b28d12}
.impact-panel .bignum{font:400 115px/1 var(--serif);letter-spacing:-.1em;color:#598775;opacity:.75}
.impact-panel h3{font:400 33px/1.18 var(--serif);margin:22px 0 12px;position:relative;z-index:2}
.impact-panel p{font-size:13px;line-height:1.7;color:#597766;max-width:290px;position:relative;z-index:2}
.project-showcase{display:grid;grid-template-columns:1.16fr .84fr;gap:20px}
.project-feature{border:1px solid #d5ded5;background:#fefdf8;overflow:hidden;position:relative}
.project-feature .preview{height:340px;overflow:hidden;background:#1f3631}
.project-feature img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .65s ease}
.project-feature:hover img{transform:scale(1.03)}
.project-feature .project-inner{padding:25px 28px 29px}
.project-feature .project-inner h3{font:400 34px/1.15 var(--serif);margin:14px 0 8px}
.project-feature .project-inner p{color:#5d7667;font-size:13px;margin:0 0 17px}
.project-feature a:hover{text-decoration:none}
.project-feature.mini .preview{height:190px}.project-feature.mini .project-inner h3{font-size:27px}
.showcase-side{display:grid;grid-template-rows:1fr 1fr;gap:20px}
.feature-link{font-size:12px;font-weight:760;color:#2b6b4b;display:inline-flex;gap:14px}
.why-band{background:#18392e;color:#edf7e9;position:relative;overflow:hidden}
.why-band:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 90% 15%,#5482674a,transparent 65%)}
.why-band .section-head h2 em{color:#b7d9bb}.why-band .section-eyebrow{color:#add8b9}
.why-band .section-head p{color:#b8d1be}.why-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative}
.why-tiles article{border:1px solid #688b7480;padding:30px;min-height:240px;background:#2a514033}
.why-tiles article span{font:400 45px/1 var(--serif);color:#8db89e}
.why-tiles article h3{font:400 25px/1.18 var(--serif);margin:22px 0 11px}
.why-tiles article p{color:#bad0c0;font-size:13px;margin:0}
.research-strip{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.research-preview{border:1px solid #d8e0d6;background:#fffef8;padding:30px;min-height:235px;display:flex;flex-direction:column}
.research-preview h3{font:400 30px/1.22 var(--serif);margin:18px 0 10px;max-width:470px}
.research-preview p{font-size:13px;color:#647768;margin:0 0 25px}
.research-preview a{margin-top:auto;font-size:12px;font-weight:740;color:#33664c}
.footer-callout{background:#e5eee1;padding:70px 0;border-top:1px solid #cedfd0}
.footer-callout .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}
.footer-callout h2{font:400 clamp(37px,4vw,58px)/1.1 var(--serif);letter-spacing:-.04em;margin:0 0 12px}
.footer-callout p{color:#587564;max-width:560px;margin:0}
.footer{background:#10281f;color:#e7f0e6;padding:48px 0 20px}.footer-inner{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:40px}
.footer .logo{color:#e7f0e6}.footer .logo-mark{background:#c1e3c5;color:#133e2a}
.footer p,.footer a{font-size:12px;color:#a9c8b4}.footer p{max-width:350px}.footer nav{display:flex;flex-direction:column;align-items:start;gap:12px}
.footer .foot-label{letter-spacing:.16em;color:#c9dec8;font-size:10px;font-weight:800;margin:0 0 5px}
.foot-bottom{border-top:1px solid #375345;margin-top:32px;padding-top:19px;font-size:11px;color:#91ae99;display:flex;justify-content:space-between;gap:25px}
.page-hero{padding-top:78px;padding-bottom:63px}.page-hero h1{max-width:840px}.page-hero p{font:18px/1.65 var(--serif);max-width:650px;color:#657b6b}
.page-hero.dark{background:linear-gradient(120deg,#0c261c,#224b37);color:#eff5e8}.page-hero.dark .section-eyebrow{color:#c1e5c6}.page-hero.dark h1 em{color:#b3dcc0}.page-hero.dark p{color:#c3d7c5}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.filters button{border:1px solid #b8c9bb;background:transparent;border-radius:50px;padding:9px 15px;font-size:12px;color:#527363;font-weight:650}
.filters button[aria-pressed="true"]{background:#244d39;border-color:#244d39;color:#f4f5e9}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.project-card{border:1px solid #d9e1d6;background:#fffef9;display:flex;flex-direction:column;min-width:0;overflow:hidden;transition:box-shadow .25s,transform .25s}
.project-card[hidden]{display:none!important}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.card-visual{position:relative;height:214px;background:#1c4035;overflow:hidden}
.card-visual img{height:100%;width:100%;display:block;object-fit:cover;object-position:top center;transition:transform .5s}
.project-card:hover .card-visual img{transform:scale(1.045)}
.card-label{position:absolute;top:14px;left:14px;display:inline-flex;gap:5px;align-items:center;background:rgba(249,251,242,.96);padding:6px 9px;border:1px solid #c9d8ca;color:#325444;font-size:10px;font-weight:720;border-radius:3px}
.card-body{padding:23px 24px 25px;display:flex;flex-direction:column;flex:1}
.card-type{font-size:10px;letter-spacing:.14em;font-weight:740;color:#76917b;text-transform:uppercase}
.card-body h2{font:400 27px/1.19 var(--serif);margin:10px 0}
.card-body p{color:#62796a;font-size:13px;margin:0}
.card-impact{margin-top:15px;padding-top:12px;border-top:1px solid #e4e8df;font-size:12px;color:#3c6b51}
.card-foot{margin-top:auto;padding-top:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.card-foot a,.card-foot button{font-size:11px;font-weight:730;color:#31654a;border:0;background:transparent;padding:0}
.card-foot a:hover,.card-foot button:hover{text-decoration:underline}
.card-detail{display:none;border-top:1px solid #e3e9e0;background:#eff5ec;padding:15px 24px;font-size:12px;color:#4a6855}
.card-detail.open{display:block}.card-detail strong{color:#2e5d45}.card-detail p{margin:3px 0 8px}
.card-illustration{height:100%;width:100%;display:grid;place-items:center;position:relative;overflow:hidden}
.card-illustration .illus-label{position:absolute;bottom:13px;left:15px;color:#d2e4d7;font-size:9px;letter-spacing:.13em}
.v-memory{background:radial-gradient(circle at 48% 48%,#577b68,#192b2f 60%)}.v-memory .rings{width:180px;height:180px;border:1px solid #a2dab0;border-radius:50%;box-shadow:0 0 0 22px #a4d4b019,0 0 0 50px #a4d4b011;display:grid;place-items:center}.v-memory .rings span{font:400 35px var(--serif);color:#e4f3da}
.v-code{background:radial-gradient(circle at 15% 15%,#456b62,#142832 65%)}.v-code .lines{border:1px solid #7aab9188;border-radius:8px;width:70%;padding:18px;background:#10252ace;transform:rotate(-6deg)}.v-code .lines i{display:block;height:8px;background:#9ad8b2;border-radius:7px;margin-bottom:12px;opacity:.6}.v-code .lines i:nth-child(2){width:68%;background:#c4b787}.v-code .lines i:nth-child(3){width:83%}.v-code .lines i:nth-child(4){width:44%;background:#6a9e94}
.v-realm{background:linear-gradient(#93bbad 0 47%,#709782 48% 55%,#335e51 56% 100%)}.v-realm:before,.v-realm:after{content:"";position:absolute;bottom:14%;background:#234f45;clip-path:polygon(0 100%,55% 5%,100% 100%)}.v-realm:before{width:100%;height:68%;left:-25%;opacity:.7}.v-realm:after{width:120%;height:57%;right:-40%;background:#143f37}.v-realm .sun{position:absolute;right:22%;top:17%;height:64px;width:64px;border-radius:50%;background:#f4eabf;box-shadow:0 0 40px #f1e8ae66}
.v-friends{background:linear-gradient(#556b76 0 57%,#2d4f46 58% 100%)}.v-friends .house{width:165px;height:90px;background:#e4c69e;position:absolute;bottom:22%;border:5px solid #e3d5b1}.v-friends .house:before{content:"";position:absolute;top:-66px;left:-17px;border-left:99px solid transparent;border-right:99px solid transparent;border-bottom:66px solid #835f50}.v-friends .house:after{content:"";position:absolute;width:39px;height:59px;left:58px;bottom:0;background:#876c63;border:3px solid #e2d09d}
.v-audio{background:radial-gradient(circle at 50% 70%,#465c60,#1b3035 75%)}.v-audio .wave{display:flex;align-items:center;gap:5px;height:90px}.v-audio .wave i{width:5px;border-radius:5px;background:linear-gradient(#d5ddad,#74bfa8);height:var(--h);box-shadow:0 0 14px #8de2ba55}
.note-list{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}
.note-card{background:#fffef9;border:1px solid #dce5dc;padding:30px;display:flex;flex-direction:column;min-height:260px}
.note-card .paper-tag{margin:0;color:#70917c}.note-card h3{font:400 28px/1.18 var(--serif);margin:18px 0 12px}
.note-card p{color:#607668;font-size:13px;line-height:1.7;margin:0 0 20px}.note-card a{margin-top:auto;color:#326548;font-size:12px;font-weight:730}
.literature{margin-top:40px;border-top:1px solid #cbd9ce}.literature a{padding:18px 0;display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid #d9e2d8;font-size:13px}
.literature a span{color:#6c8876;font-size:11px;white-space:nowrap}
.steps-layout{display:grid;grid-template-columns:.95fr 1.05fr;gap:35px;align-items:start}
.steps{display:grid;gap:7px}
.step{width:100%;text-align:left;display:flex;align-items:start;gap:20px;border:1px solid #d8e2d8;padding:22px;background:#fffef9;color:#254339;transition:background .2s}
.step[aria-pressed="true"]{background:#e1eee2;border-color:#98bba1}
.step span{font:400 25px var(--serif);color:#7f9b85}.step b{font-size:16px;display:block}.step small{display:block;color:#6d8071;font-size:12px;margin-top:4px;line-height:1.6}
.step-visual{position:sticky;top:100px;min-height:430px;border-radius:8px;background:linear-gradient(145deg,#214b3d,#0d241c);color:#d8efdb;padding:35px;overflow:hidden}
.step-visual:after{content:"";position:absolute;inset:30px;border:1px solid #89b59940;border-radius:50%;transform:rotate(36deg)}
.step-visual .visual-figure{position:relative;z-index:1;text-align:center;margin-top:85px}
.step-visual .visual-figure strong{font:400 56px/1 var(--serif);display:block;letter-spacing:-.04em}
.step-visual .visual-figure p{font-size:13px;color:#b9d0bc;max-width:290px;margin:20px auto}
.step-visual .phase-icon{width:92px;height:92px;border:1px solid #aed6b2;border-radius:50%;display:grid;place-items:center;margin:0 auto 25px;font:400 40px var(--serif);background:#a3c8a221}
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:24px}.about-split p{font-size:15px;line-height:1.8;color:#546e5f}
.canvas-rail{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}.canvas-rail span{font-size:11px;border:1px solid #aac6af;border-radius:40px;padding:9px 12px}
.reveal{opacity:1}
@media(min-width:821px){.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .65s ease,transform .65s ease}.js-motion .reveal.is-visible{opacity:1;transform:none}}
@media(max-width:1080px){.wrap{padding-inline:26px}.hero-grid{gap:22px}.hero-stage{height:430px}.screen-main{height:260px}.screen-left{height:170px}.screen-small{height:140px}.projects-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header{height:66px}.mobile-nav{display:block}.header-wrap{height:66px}.nav{display:none;position:absolute;top:65px;left:0;right:0;background:#fdfcf5;box-shadow:0 20px 35px #20352919;padding:20px 27px 24px;flex-direction:column;align-items:start;gap:18px}.nav.open{display:flex}.hero-grid{grid-template-columns:1fr;padding-block:61px 55px}.hero-title{font-size:65px}.hero-stage{height:410px;max-width:590px;width:100%;margin:auto}.underhero-grid{grid-template-columns:repeat(2,1fr)}.underhero-grid>div:nth-child(2){border:0}.idea-layout,.project-showcase,.steps-layout,.about-split{grid-template-columns:1fr}.showcase-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.why-tiles{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:17px}.footer-callout .wrap{display:block}.footer-callout .btn{margin-top:23px}.note-list{grid-template-columns:1fr 1fr}.step-visual{position:relative;top:0}}
@media(max-width:580px){.wrap{padding-inline:18px}.hero-title{font-size:clamp(51px,12vw,69px)}.hero-desc{font-size:15px}.hero-stage{height:325px}.screen-main{height:210px;width:80%;right:3%}.screen-left{height:125px;width:44%;top:50%}.screen-small{height:122px;width:38%}.hero-stage .stage-caption{font-size:9px}.section{padding-block:66px}.section-head h2,.page-title{font-size:45px}.underhero-grid strong{font-size:12px}.underhero-grid>div{padding:17px 8px}.project-showcase,.showcase-side,.projects-grid,.note-list,.why-tiles,.research-strip{grid-template-columns:1fr}.project-feature .preview{height:225px}.project-feature.mini .preview{height:205px}.why-tiles article{min-height:0}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner>div:first-child{grid-column:span 2}.foot-bottom{display:block}.page-hero{padding-block:52px}.card-visual{height:215px}.card-body h2{font-size:26px}.project-grid{gap:14px}.step-visual{min-height:340px}.step-visual .visual-figure{margin-top:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

@media(max-width:820px){html:not(.js-enhanced) .site-header{height:auto;position:static}html:not(.js-enhanced) .header-wrap{height:auto;padding-block:14px;flex-wrap:wrap}html:not(.js-enhanced) .mobile-nav{display:none}html:not(.js-enhanced) .nav{display:flex;position:static;box-shadow:none;background:transparent;padding:6px 0;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px}}
