:root{--cream:#fdf6eb;--green:#084c38;--ink:#133c31;--lime:#d7e889;--muted:#647367;--line:#d9ddc9;--heading:'Bricolage Grotesque',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #af680e;outline-offset:7px}::selection{background:var(--lime);color:var(--green)}img{max-width:100%;height:auto;display:block}h1,h2,p{margin:0}h1,h2{font-family:var(--heading);font-weight:700;line-height:1.04;letter-spacing:-.055em}.section-width{width:min(1180px,calc(100% - 96px));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-80px;padding:8px 16px;background:var(--green);color:var(--cream);z-index:20}.skip-link:focus{top:16px}
.site-header{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;width:min(1320px,calc(100% - 80px));margin:auto;min-height:112px;gap:30px}.brand{width:224px;flex-shrink:0}.site-header nav{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:600}.site-header nav>a{white-space:nowrap}.site-header nav>a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:6px}.nav-cta{border:1px solid #9cad91;padding:9px 18px;border-radius:6px;display:flex;gap:22px;align-items:center}.nav-cta:hover{background:#e9edd5}
.street-world{position:relative;isolation:isolate;min-height:clamp(760px,68vw,1040px);overflow:hidden}.opening-copy{position:relative;z-index:2;text-align:center;width:min(890px,calc(100% - 60px));margin:0 auto;padding-top:48px;pointer-events:none}.opening-copy a{pointer-events:auto}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;line-height:1.5}.opening-copy .eyebrow{display:flex;justify-content:center;align-items:center;gap:9px}.little-sun{font-size:21px;color:#829c36;line-height:1}h1{font-size:clamp(62px,6.55vw,102px);margin-top:24px;letter-spacing:-.062em}h1 span{color:#4a733f}.opening-description{font-size:18px;line-height:1.6;margin:22px auto 24px;max-width:550px}.button{display:inline-flex;align-items:center;gap:30px;padding:13px 24px;background:var(--green);color:var(--cream);border:1px solid var(--green);border-radius:7px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#28623d;transform:translateY(-2px)}.street-art{position:absolute;z-index:0;left:0;right:0;bottom:12px;pointer-events:none}.street-art img{width:100%;height:auto}.scene-caption{position:absolute;bottom:1px;left:20px;right:20px;text-align:center;color:#596a50;font-size:11px;letter-spacing:.02em;z-index:2}
.the-idea{position:relative;display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:36px;padding-top:100px;padding-bottom:116px}.idea-copy{padding-top:10px;max-width:490px}.idea-copy .eyebrow{margin-bottom:22px}h2{font-size:clamp(40px,4.1vw,60px)}.idea-copy>p:not(.eyebrow){font-size:17px;color:#506455;margin-top:24px;max-width:420px}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:14px;font-weight:700;padding-bottom:5px;border-bottom:1px solid #79906b}.idea-copy .text-link{margin-top:28px}.text-link:hover{gap:35px}.neighbour-scene{position:relative;align-self:center}.neighbour-scene img{width:100%;height:auto}.hand-note{position:absolute;right:55px;bottom:65px;transform:rotate(-5deg);font-family:var(--heading);font-size:20px;line-height:1.2;color:#6d813d;letter-spacing:-.03em;text-align:center}
.good-streets{position:relative;background:var(--green);color:var(--cream);padding-block:100px 94px;overflow:hidden}.good-streets::before{content:'';position:absolute;top:-16px;left:-2%;width:104%;height:26px;background:var(--cream);border-radius:0 0 50% 50%}.good-streets-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:100px}.good-streets-intro .eyebrow{color:#d7e889;margin-bottom:24px}.good-streets-intro>p:not(.eyebrow):not(.route-caption){margin-top:25px;max-width:360px;font-size:15px;line-height:1.8;color:#d1deca}.street-moments{padding-top:10px}.street-moments details{border-bottom:1px solid #52785b}.street-moments details:first-child{border-top:1px solid #52785b}.street-moments summary{list-style:none;display:grid;grid-template-columns:28px 1fr 20px;align-items:center;gap:15px;padding:24px 0;cursor:pointer;font-family:var(--heading);font-size:23px;font-weight:500;letter-spacing:-.03em;line-height:1.25}.street-moments summary::-webkit-details-marker{display:none}.moment-number{font-family:var(--body);font-size:11px;letter-spacing:.02em;color:#c1d68c;align-self:start;padding-top:5px}.expander{width:16px;height:16px;position:relative}.expander::before,.expander::after{content:'';position:absolute;background:#d7e889;top:7px;left:1px;width:14px;height:1px}.expander::after{transform:rotate(90deg);transition:transform .2s}details[open] .expander::after{transform:rotate(0)}.moment-copy{padding:0 30px 26px 43px;color:#d1deca;font-size:14px;line-height:1.8}.route-doodle{position:relative;width:280px;height:96px;margin-top:35px;color:#d7e889;transform:rotate(-3deg)}.route-doodle svg{width:100%;height:100%}.route-point{position:absolute;width:12px;height:12px;left:3px;top:41px;border:3px solid #d7e889;border-radius:50%;background:var(--green)}.route-point.end{left:auto;right:3px;top:36px;background:#d7e889}.route-caption{font-size:10px;letter-spacing:.03em;color:#c7d7b9;margin-top:8px}
.our-beginning{padding-top:108px;padding-bottom:80px}.our-beginning>.eyebrow{color:#657443;margin-bottom:25px}.our-beginning h2{max-width:850px;font-size:clamp(45px,5vw,74px)}.our-beginning>p:not(.eyebrow){max-width:680px;margin-top:25px;font-size:17px;color:#506455}.beginning-bottom{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:45px;padding-top:28px;border-top:1px solid var(--line)}.starting-note{font-size:13px;color:#6a775d}.starting-note>span{display:inline-block;font-size:24px;vertical-align:middle;margin-right:8px;color:#7a9432}.site-footer{display:flex;align-items:center;gap:38px;padding:38px 0;border-top:1px solid var(--line);font-size:12px}.site-footer a{width:170px;flex-shrink:0}.site-footer p{flex:1}.site-footer>span{color:#6d7966}
@media(min-width:1700px){.street-art{width:1700px;left:50%;right:auto;transform:translateX(-50%)}.street-world{min-height:1120px}}
@media(max-width:1100px){.site-header{width:calc(100% - 56px)}.site-header nav{gap:24px}.section-width{width:calc(100% - 72px)}.brand{width:200px}.street-world{min-height:clamp(720px,75vw,840px)}.opening-copy{padding-top:38px}h1{font-size:76px}.street-art{width:1120px;left:50%;right:auto;transform:translateX(-50%);bottom:6px}.the-idea{padding-top:85px;padding-bottom:90px;gap:25px}.hand-note{right:30px;bottom:38px;font-size:17px}.good-streets-layout{gap:54px}.street-moments summary{font-size:21px}.good-streets{padding-block:80px}.our-beginning{padding-top:85px}.starting-note{max-width:360px}}
@media(max-width:760px){body{font-size:16px}.site-header{width:calc(100% - 36px);min-height:86px;gap:20px}.brand{width:165px}.site-header nav{gap:18px;font-size:12px}.nav-cta{display:none!important}.section-width{width:calc(100% - 44px)}.street-world{min-height:720px}.opening-copy{padding-top:36px;width:calc(100% - 38px)}.opening-copy .eyebrow{font-size:9px;letter-spacing:.1em}.little-sun{font-size:17px}h1{font-size:clamp(50px,8.6vw,66px);margin-top:22px;line-height:1.04}.opening-description{font-size:15px;line-height:1.6;margin:20px auto}.button{font-size:13px;padding:11px 20px;gap:22px}.street-art{width:950px;bottom:9px;left:48%}.scene-caption{font-size:9px;bottom:0}.the-idea{display:flex;flex-direction:column;padding-top:72px;padding-bottom:75px;gap:28px;align-items:stretch}.idea-copy{max-width:none}.idea-copy .eyebrow{margin-bottom:20px}.idea-copy h2{font-size:44px}.idea-copy>p:not(.eyebrow){font-size:16px;max-width:570px;margin-top:21px}.neighbour-scene{width:min(100%,470px);align-self:center}.hand-note{position:static;transform:rotate(-4deg);margin-top:-35px;align-self:flex-end;padding-right:15px;font-size:18px}.good-streets-layout{display:block}.good-streets-intro h2{font-size:46px}.good-streets-intro>p:not(.eyebrow):not(.route-caption){max-width:560px}.route-doodle,.route-caption{display:none}.street-moments{margin-top:35px}.street-moments summary{font-size:21px;padding:22px 0;gap:10px;grid-template-columns:22px 1fr 18px}.moment-copy{padding-left:32px;padding-right:10px}.good-streets{padding-block:64px}.our-beginning{padding-block:70px 50px}.our-beginning h2{font-size:46px}.our-beginning>p:not(.eyebrow){font-size:16px}.beginning-bottom{flex-direction:column;align-items:flex-start;gap:24px;margin-top:32px}.site-footer{flex-wrap:wrap;gap:16px 25px;padding-block:30px}.site-footer a{width:145px}.site-footer p{font-size:11px}.site-footer>span{width:100%;font-size:11px}}
@media(max-width:400px){.site-header nav{gap:15px;font-size:11px}.brand{width:145px}.street-world{min-height:690px}.opening-copy{padding-top:31px}h1{font-size:49px}.opening-description{font-size:14px}.street-art{width:885px;left:49%;bottom:6px}.idea-copy h2,.good-streets-intro h2,.our-beginning h2{font-size:40px}.street-moments summary{font-size:19px}.site-footer{gap:16px}.site-footer p{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.ui-icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle}.little-sun .ui-icon{width:20px;height:20px}.starting-note .ui-icon{width:17px;height:17px}.place-source .ui-icon,.data-details a .ui-icon,.scenario-method a .ui-icon{width:12px;height:12px;margin-left:3px}

@media(max-width:760px){.site-header{flex-wrap:wrap;justify-content:center;gap:10px;padding-block:14px;min-height:0}.site-header nav{width:100%;justify-content:center;gap:20px;padding-bottom:4px}}

.site-header nav [aria-current="page"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px;text-decoration-color:#8caa62}.site-footer .footer-contact{width:auto;flex:none;text-decoration:underline;text-underline-offset:4px}

@media(max-width:760px){.site-header nav{flex-wrap:wrap;gap:10px 8px;font-size:11px}.site-header nav>a{padding-block:5px}}
