:root{--bg:#f7f1e4;--ink:#1a2744;--muted:#5c6670;--line:#e6dccb;--brand:#1e3a5f;--brand-2:#e07a2f;--navy:#16325a;--card:#fffcf7;--max:760px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-wrap:break-word}img,svg,video{max-width:100%;height:auto}a{color:var(--brand)}.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}.wide{max-width:1120px}.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:8px 12px;border-radius:8px;z-index:80}.skip:focus{left:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}header.site{position:-webkit-sticky;position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(255,252,247,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-bar{flex-wrap:wrap;justify-content:space-between;gap:10px 16px;padding-top:10px;padding-bottom:10px}.header-bar,.logo{display:flex;align-items:center}.logo{gap:10px;font-weight:800;font-size:15px;letter-spacing:.04em;color:var(--ink);text-decoration:none}.logo img{width:44px;height:44px;border-radius:50%;object-fit:cover}.nav-toggle{display:none;font:inherit;font-weight:700;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;color:var(--ink);cursor:pointer}nav.main{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:15px;font-weight:700}nav.main a.nav-link,nav.main button.nav-link{color:var(--ink);text-decoration:none;background:none;border:0;padding:0;font:inherit;font-weight:700;cursor:pointer}nav.main a.nav-link:hover,nav.main button.nav-link:hover{color:var(--brand-2)}nav.main .btn.plan{margin-left:6px;background:var(--brand-2);color:#fff;border:0;padding:10px 16px;border-radius:10px;font-weight:800}nav.main .btn.plan:hover{filter:brightness(1.05)}main{padding:0 0 56px}main .wrap{padding-top:28px}.home .wrap{padding-top:0}.home{padding-bottom:8px}h1{font-size:clamp(28px,6vw,40px);line-height:1.15;margin:.2em 0 .4em;letter-spacing:-.02em}h2{font-size:24px;line-height:1.25;margin:1.8em 0 .5em}h3{margin:1.4em 0 .4em}.lede,h3{font-size:19px}.lede,.meta{color:var(--muted)}.meta{font-size:14px}.tiny-note{color:var(--muted);font-size:13px;margin:10px 0 0}.btn{display:inline-block;background:var(--brand-2);color:#fff;text-decoration:none;padding:12px 18px;border-radius:10px;border:0;font:inherit;font-weight:800;cursor:pointer}.btn.alt{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.navy{background:var(--navy);color:#fff;padding:14px 28px;border-radius:12px;font-size:17px}.cards{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px;margin:18px 0}@media (min-width:640px){.cards{grid-template-columns:1fr 1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}.card h3{margin-top:0}.card a{text-decoration:none}.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:14px 0;border:1px solid var(--line);border-radius:10px;background:#fff}table{border-collapse:collapse;width:100%;font-size:15px}td,th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f3f1ea;font-weight:700}blockquote{margin:16px 0;padding:10px 16px;border-left:4px solid var(--brand-2);background:#fff8e6;border-radius:6px}.note{background:#eef5ef;border:1px solid #cfe2d2;border-radius:10px;padding:12px 14px;font-size:15px}code{background:#f0eee7;padding:1px 5px;border-radius:4px;font-size:.92em}footer.site{border-top:1px solid var(--line);background:#fffaf2;font-size:15px;color:var(--muted)}footer.site .wrap{padding-top:28px;padding-bottom:16px}.footer-grid{display:grid;grid-gap:28px;gap:28px;padding-top:8px!important}@media (min-width:760px){.footer-grid{grid-template-columns:1.4fr 1fr;align-items:start}}.footer-digest h2,.footer-digest p{margin-top:0}.footer-nav{display:flex;flex-wrap:wrap;gap:8px 16px}.footer-nav a{color:var(--muted)}.footer-legal{padding-top:8px!important;padding-bottom:32px!important;font-size:13px}.footer-legal p{margin:4px 0}.digest-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.digest-form input[type=email]{flex:1 1 200px;min-width:0;font-size:16px;padding:10px 12px;border:1px solid #cfcabd;border-radius:10px;background:#fff}.digest-note{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.post-list{list-style:none;padding:0;margin:0}.post-list li{padding:14px 0;border-bottom:1px solid var(--line)}.post-list a{font-weight:700;font-size:19px;text-decoration:none;color:var(--ink)}.calc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin:18px 0}.calc fieldset{border:0;padding:0;margin:0 0 18px}.calc legend{font-weight:800;font-size:18px;margin-bottom:8px}.row{display:grid;grid-template-columns:auto 1fr;grid-gap:6px 10px;gap:6px 10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.row .name{font-weight:600}.row .src{grid-column:1/-1;font-size:13px;color:var(--muted)}.row .inputs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.row label{font-size:13px;color:var(--muted);display:block}input[type=email],input[type=number],input[type=search],input[type=text],select{width:100%;font-size:16px;padding:8px;border:1px solid #cfcabd;border-radius:8px;background:#fff;min-width:0;color:var(--ink)}.grid2{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media (min-width:560px){.grid2{grid-template-columns:1fr 1fr}}.results{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;margin-top:10px}@media (min-width:560px){.results{grid-template-columns:1fr 1fr}}.res{background:#f6faf6;border:1px solid #cfe2d2;border-radius:12px;padding:12px}.res .big{font-size:26px;font-weight:800;color:var(--navy);line-height:1.2}.res .sub,.small{font-size:14px;color:var(--muted)}.post table{min-width:600px}.hero{padding:28px 0 10px}.hero-grid{display:grid;grid-gap:28px;gap:28px;align-items:center}@media (min-width:900px){.hero-grid{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.15fr);gap:36px}}.hero-copy h1{display:flex;flex-direction:column;align-items:flex-start;gap:.08em;margin:0 0 14px;letter-spacing:-.03em;line-height:1.05}.hero-display{font-size:clamp(40px,8vw,58px);font-weight:800}.hero-secondary{display:block;white-space:nowrap;font-size:clamp(22px,5.6vw,34px);font-weight:800}.hero-copy .lede{margin:0 0 20px;max-width:28ch;font-size:18px}.hero-search{display:flex;align-items:center;gap:8px;max-width:340px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 6px 6px 14px;box-shadow:0 4px 16px rgba(26,39,68,.05)}.hero-search.page{max-width:520px;margin:12px 0 18px}.hero-search .search-icon{color:var(--muted);display:flex}.hero-search input[type=search]{border:0;padding:8px 0;outline:none;background:transparent}.hero-search button{flex:0 0 auto;background:var(--navy);color:#fff;border:0;border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;font-weight:800;cursor:pointer}.hero-art img{width:100%;border-radius:28px;display:block;box-shadow:0 16px 40px rgba(26,39,68,.12);object-fit:cover}.section{padding:28px 0}.section h2{margin-top:0}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:16px}.section-head h2{margin:0}.section-kicker{margin:4px 0 0;color:var(--muted)}.text-link{font-weight:800;text-decoration:none;color:var(--navy)}.text-link:hover{color:var(--brand-2)}.system-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}@media (min-width:720px){.system-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.system-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;width:100%;min-height:100%;text-align:left;background:#fffaf2;border:1px solid var(--line);border-radius:18px;padding:16px 14px 18px;font:inherit;color:inherit;cursor:pointer;box-shadow:0 4px 14px rgba(26,39,68,.03)}.system-card:hover{border-color:#d3c4a8;transform:translateY(-1px)}.system-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center}.system-icon svg{width:22px;height:22px}.system-card strong{font-size:15px}.system-card span:last-child{color:var(--muted);font-size:13px;line-height:1.45}.loop-grid{display:grid;grid-gap:24px;gap:24px;align-items:center}@media (min-width:860px){.loop-grid{grid-template-columns:1.1fr .9fr}}.loop p{color:var(--muted);max-width:48ch}.loop-svg{width:min(100%,360px);justify-self:center}.loop-label{font-size:12px;font-weight:800;fill:var(--ink)}.calcs-wrap{background:#fff6ea;padding:36px 0}.calc-grid{display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px}@media (min-width:700px){.calc-grid{grid-template-columns:1fr 1fr}}@media (min-width:1020px){.calc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.calc-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-decoration:none;color:inherit;font:inherit;text-align:left;cursor:pointer;min-height:100%;width:100%}.calc-card.featured{border:2px solid var(--brand-2);box-shadow:0 8px 20px rgba(224,122,47,.12)}.calc-card:hover{border-color:var(--brand-2)}.calc-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#eef3f8;color:var(--navy)}.calc-icon.on{background:#fff1e4;color:var(--brand-2)}.calc-icon svg{width:22px;height:22px}.calc-card strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.calc-card strong em{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--brand-2);background:#fff1e4;border-radius:999px;padding:2px 8px}.calc-card span:last-child{color:var(--muted);font-size:14px}.book-row{list-style:none;margin:0;padding:4px 2px 10px;display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;align-items:stretch}.book-row li{flex:0 0 196px;display:flex;scroll-snap-align:start}.book-row .book-card{width:100%}.book-cover-wrap{display:flex;align-items:center;justify-content:center;aspect-ratio:2/3;width:100%;background:#f3eee3;border-radius:10px;overflow:hidden}.book-cover-wrap img{width:100%;height:100%;object-fit:contain}.book-card{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;text-decoration:none;color:inherit;height:100%}.book-card:hover{border-color:var(--brand-2)}.book-spine{align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:4px 8px;background:#f3eee3;color:var(--navy)}.book-spine[data-cat="Regenerative Design & Architecture"],.book-spine[data-cat=Design]{background:#fde7d4;color:#9a4b16}.book-spine[data-cat=Power]{background:#fff0cc;color:#8a5a00}.book-spine[data-cat=Water]{background:#dcebff;color:#1d4f91}.book-spine[data-cat=Food]{background:#ffe1d0;color:#9a3d12}.book-spine[data-cat="Heat & Cooling"]{background:#ffd9d2;color:#9a2818}.book-spine[data-cat=Shelter]{background:#e4e2f3;color:#3c3a72}.book-spine[data-cat=Waste]{background:#d8f3e6;color:#146044}.book-spine[data-cat="Land & Soil"]{background:#e2f0d4;color:#2b5c1d}.book-spine[data-cat=Community]{background:#ebdcf5;color:#5b2b7a}.book-card strong{font-size:16px;line-height:1.3}.book-author,.book-blurb,.book-meta{color:var(--muted);font-size:14px}.book-blurb{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4;max-height:2.8em}.book-cta{margin-top:auto;display:block;width:100%;box-sizing:border-box;text-align:center;background:var(--navy);color:#fff;font-weight:800;font-size:14px;border-radius:10px;padding:10px 12px}.book-card:hover .book-cta{filter:brightness(1.06)}.library-grid{align-items:stretch}.library-grid li{display:flex}.library-grid .book-card{width:100%}.library-group{margin-top:28px}.library-group h2{margin-bottom:12px}.library-grid li{scroll-margin-top:96px}.library-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;grid-gap:14px;gap:14px}@media (min-width:640px){.library-grid{grid-template-columns:1fr 1fr}}@media (min-width:960px){.library-grid{grid-template-columns:1fr 1fr 1fr}}.research-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media (min-width:800px){.research-grid{grid-template-columns:1fr 1fr 1fr}}.research-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;height:100%}.research-card:hover{border-color:var(--brand-2)}.research-art{display:block;height:130px;background:radial-gradient(circle at 70% 30%,#ffe08a 0 14px,transparent 15px),linear-gradient(#f4b26a,#ee8a4a 42%,#c56d6a 58%,#5c6b4a 59%,#6f8b52)}.research-card:nth-child(2) .research-art{background:radial-gradient(circle at 30% 28%,#fff4c2 0 16px,transparent 17px),linear-gradient(#7eb6d6,#f2b06a 48%,#4f7a45 49%,#6b9450)}.research-card:nth-child(3) .research-art{background:radial-gradient(circle at 78% 24%,#fff6d2 0 12px,transparent 13px),linear-gradient(#f08a62,#d97878 50%,#3f6f7a 51%,#4f8a6a)}.research-body{display:flex;flex-direction:column;gap:8px;padding:16px}.research-body strong{font-size:18px;line-height:1.3}.research-body span{color:var(--muted);font-size:14px}.research-body .meta{margin-top:auto}.search-results{list-style:none;padding:0;margin:18px 0 0}.search-results li{padding:14px 0;border-bottom:1px solid var(--line)}.search-results a{font-weight:800;text-decoration:none;color:var(--ink);font-size:19px}.modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(22,32,52,.48);display:grid;place-items:center;padding:20px}.modal-dialog{width:min(100%,420px);background:#fffaf2;border-radius:24px;padding:28px 24px 24px;text-align:center;box-shadow:0 24px 60px rgba(16,24,40,.25)}.modal-art{width:min(72vw,240px);height:auto;margin:0 auto 8px;display:block}.modal-dialog h2{margin:8px 0;font-size:26px}.modal-dialog p{margin:0 0 10px;color:var(--muted)}.modal-label{font-weight:700;color:var(--ink)!important}.modal-dialog .btn{margin-top:8px;min-width:140px}@media (max-width:820px){.nav-toggle{display:inline-block}nav.main{display:none;width:100%;flex-direction:column;align-items:stretch;padding:8px 0 12px;gap:12px}nav.main.open{display:flex}nav.main .btn.plan{margin-left:0;text-align:center}}@media (max-width:520px){.system-grid{grid-template-columns:1fr 1fr}.hero{padding-top:16px}.hero-search{max-width:100%}}