:root{--bg:#faf7f3;--paper:#fff;--ink:#2d2218;--muted:#74695e;--line:#e8ddcf;--leaf:#568b72;--leaf-dark:#28645a;--leaf-soft:#edf7f2;--sun:#e9a13a;--coral:#d97864;--latin-font:"Avenir Next","Trebuchet MS","Helvetica Neue",sans-serif;--display-font:"Palatino Linotype","Book Antiqua",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;color:var(--ink);font-family:var(--latin-font);line-height:1.65;background:radial-gradient(circle at 10% 0%,rgba(86,139,114,.11),transparent 32rem),var(--bg)}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display-font)}.page-header,main,footer{width:min(1120px,calc(100vw - 40px));margin-inline:auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0}.brand-link{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brand-link img{width:50px;height:50px;object-fit:contain}.brand-link span{display:grid;line-height:1.2}.brand-link strong{font-size:.92rem}.brand-link small{color:var(--leaf-dark);font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.home-link{padding:9px 14px;border:1px solid rgba(86,139,114,.25);border-radius:999px;color:var(--leaf-dark);font-size:.78rem;font-weight:800;text-decoration:none}
.project-hero{overflow:hidden;padding:clamp(30px,3.5vw,42px) clamp(42px,7vw,74px);border:1px solid rgba(86,139,114,.18);border-radius:32px;background:radial-gradient(circle at 85% 28%,rgba(233,161,58,.15),transparent 18rem),linear-gradient(135deg,#fff,#f4faf7);box-shadow:0 18px 48px rgba(45,34,24,.07)}.project-hero>div{max-width:850px}.eyebrow{color:var(--leaf-dark);font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.project-hero h1{margin-top:7px;font-size:clamp(2.7rem,7vw,5.1rem);line-height:.98}.hero-intro{max-width:760px;margin-top:18px;color:var(--muted);font-size:clamp(1rem,2vw,1.18rem)}.author-photo-wrap img{display:block;width:100%;height:auto;aspect-ratio:1/1;border-radius:50%;object-fit:cover;object-position:50% 22%}
.section-jump{display:flex;gap:10px;margin:16px 0 20px;padding:12px;border:1px solid rgba(45,34,24,.07);border-radius:18px;background:var(--paper)}.section-jump a{flex:1;padding:11px 16px;border-radius:12px;color:var(--leaf-dark);font-size:.8rem;font-weight:850;text-align:center;text-decoration:none}.section-jump a:hover{background:var(--leaf-soft)}.story-section{scroll-margin-top:24px;padding-bottom:78px}.section-heading,.author-heading{display:grid;grid-template-columns:54px minmax(0,1fr);gap:22px;align-items:start}.section-number{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;color:var(--leaf-dark);background:var(--leaf-soft);font-size:.75rem;font-weight:900}.section-heading h2,.snapshot-heading h2,.author-copy h2,.thanks-section h2{margin-top:4px;font-size:clamp(2rem,5vw,3.35rem);line-height:1.05}.author-heading{margin-bottom:17px}.prose-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(30px,6vw,74px);margin:34px 0 0 76px}.lead-copy,.wide-copy,.building-intro{color:var(--muted);font-size:1rem}.lead-copy p+p,.wide-copy p+p,.building-intro p+p,.author-copy p+p,.thanks-section p+p{margin-top:16px}.idea-card{align-self:start;padding:25px;border:1px solid rgba(86,139,114,.18);border-radius:20px;background:var(--leaf-soft)}.idea-card strong{color:var(--leaf-dark);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.idea-card p{margin-top:9px;color:#385c50;font-family:var(--display-font);font-size:1.18rem;font-weight:700;line-height:1.5}.wide-copy{max-width:920px;margin:34px 0 0 76px}.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:36px 0 0 76px}.timeline article{padding:23px;border:1px solid rgba(45,34,24,.08);border-radius:19px;background:var(--paper)}.timeline span,.timeline strong{display:block}.timeline span{color:var(--coral);font-size:.69rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.timeline strong{margin-top:5px}.timeline p{margin-top:5px;color:var(--muted);font-size:.77rem}
.snapshot{margin-bottom:78px;padding:clamp(30px,5vw,48px);border-radius:28px;color:#fff;background:linear-gradient(135deg,#285f56,#568b72);box-shadow:0 16px 38px rgba(40,95,86,.16)}.snapshot .eyebrow{color:#d7f0e5}.snapshot-heading{display:grid;gap:3px}.snapshot-heading h2{font-size:clamp(1.8rem,4vw,2.7rem)}.snapshot-heading>p:last-child{margin-top:7px;color:#dcebe5;font-size:.82rem}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:28px}.stat-grid article{padding:19px 12px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.08);text-align:center}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font-family:var(--display-font);font-size:clamp(1.65rem,3.5vw,2.5rem);line-height:1}.stat-grid span{margin-top:8px;color:#e5f1ec;font-size:.68rem;font-weight:750;line-height:1.35}
.building-intro{max-width:940px;margin:32px 0 0 76px}.tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin:34px 0 0 76px}.tech-grid article{padding:26px;border:1px solid rgba(45,34,24,.08);border-radius:20px;background:var(--paper)}.tech-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:var(--leaf-dark);background:var(--leaf-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;font-weight:900}.tech-grid h3{margin-top:16px;font-family:var(--latin-font);font-size:1rem}.tech-grid p{margin-top:7px;color:var(--muted);font-size:.82rem}.tech-grid code{font-size:.76rem}.project-links{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0 76px}.project-links a{padding:10px 16px;border:1px solid rgba(86,139,114,.24);border-radius:999px;color:var(--leaf-dark);background:var(--paper);font-size:.77rem;font-weight:850;text-decoration:none}
.author-section{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:clamp(36px,7vw,86px);align-items:center;scroll-margin-top:24px;margin-bottom:72px;padding:24px 0 12px}.author-photo-wrap{justify-self:end;width:220px;height:220px;overflow:hidden;padding:7px;border-radius:50%;background:#fff;box-shadow:0 12px 28px rgba(45,34,24,.12)}.author-copy>p:not(.eyebrow){max-width:680px;margin-left:76px;color:var(--muted)}.author-copy h2+p{margin-top:17px}.thanks-section{margin-bottom:72px;padding:clamp(32px,6vw,56px);border:1px solid rgba(86,139,114,.16);border-radius:28px;background:linear-gradient(135deg,#fff,#f1f8f5)}.thanks-section h2{max-width:780px}.thanks-section>p:not(.eyebrow){max-width:900px;margin-top:17px;color:var(--muted)}
@media(min-width:801px){#why .wide-copy{margin-top:0}.desktop-break{display:block}.author-photo-wrap{margin-right:23px}}
footer{display:flex;align-items:center;gap:14px;padding:24px 0 42px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}footer img{width:46px;height:46px;object-fit:contain}.footer-copy{display:grid;flex:1;gap:3px}.footer-copy small{color:#7b7770;font-size:.68rem}footer>a{color:var(--leaf-dark);font-weight:800}
@media(max-width:800px){.desktop-break{display:none}.prose-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.author-section{grid-template-columns:minmax(0,1fr) 190px}.author-photo-wrap{width:180px;height:180px}}
@media(max-width:560px){.page-header{align-items:flex-start}.brand-link strong{font-size:.78rem}.home-link{padding:8px 10px;font-size:.7rem}.project-hero{padding:30px 24px}.project-hero h1{font-size:clamp(2.6rem,14vw,3.6rem)}.section-jump{display:grid;margin-bottom:28px}.section-heading{grid-template-columns:1fr;gap:12px}.author-heading{grid-template-columns:46px minmax(0,1fr);gap:14px}.prose-grid,.wide-copy,.timeline,.building-intro,.tech-grid,.project-links{margin-left:0}.timeline,.tech-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.author-section{grid-template-columns:1fr}.author-copy>p:not(.eyebrow){margin-left:0}.author-photo-wrap{justify-self:start;width:160px;height:160px}.thanks-section{padding:30px 24px}footer{align-items:flex-start;flex-wrap:wrap}.footer-copy{flex-basis:calc(100% - 60px)}footer>a{margin-left:60px}}
