@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#142c2e;--muted:#5e6c6c;--paper:#f7f8f3;--coral:#fa6148;--line:#dce2da;--sage:#e3ecd9;--white:#fff;--yellow:#f4dc88}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--coral);outline-offset:4px}header{max-width:1440px;padding:23px 5%;display:flex;align-items:center;gap:35px;margin:auto;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:.02em;line-height:1.4;white-space:nowrap}.brand small{display:block;font-size:8px;letter-spacing:.15em;margin-top:3px}.brand-symbol{border-radius:12px;background:var(--ink);color:white;padding:3px 8px;font-size:29px;letter-spacing:-3px}.brand-symbol span{color:var(--coral);font-size:22px;margin-left:4px}nav{display:flex;gap:24px;margin-left:auto;font-size:12px;font-weight:700}nav a.active{color:#b93624}nav a:hover{color:var(--coral)}button{border:0;background:transparent;color:var(--ink)}.path{border:1px solid var(--line);border-radius:30px;padding:9px 14px;font-size:12px;font-weight:700;white-space:nowrap}.path span{background:var(--sage);border-radius:15px;padding:5px 8px;margin-left:7px}.menu{display:none}main{max-width:1280px;margin:auto;padding:0 32px 65px;min-height:70vh}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:30px;padding:70px 0 40px;align-items:center}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.17em;font-weight:800;text-transform:uppercase}.dot{width:7px;height:7px;border-radius:50%;background:var(--coral)}h1{font-size:clamp(38px,4.7vw,65px);line-height:1.12;letter-spacing:-.055em;margin:23px 0}h1 em{font-style:normal;color:#d94732}h2{font-size:29px;line-height:1.3;letter-spacing:-.035em;margin:8px 0 15px}h3{font-size:19px;line-height:1.4;margin:12px 0}p{color:var(--muted)}.hero p{max-width:440px;font-size:16px;line-height:1.9}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--ink);color:white;border-radius:9px;padding:13px 19px;font-size:12px;font-weight:700}.btn:hover{background:#294a4d}.btn.coral{background:var(--coral);color:#142c2e}.btn.outline{background:transparent;color:var(--ink);border:1px solid #bac6bc}.hero-note{font-size:11px;color:var(--muted);margin-top:20px;display:flex;gap:16px}.scene{position:relative;min-height:430px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#e8eedf 10%,transparent 67%)}.scene svg{width:100%;max-width:470px}.floating{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 15px;box-shadow:0 10px 25px #142c2e09;font-size:11px}.floating strong{display:block;font-size:12px}.floating.one{top:23px;left:18px;transform:rotate(-4deg)}.floating.two{right:0;bottom:45px;transform:rotate(3deg)}.floating .icon{color:var(--coral)}.strip{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:12px;margin:10px 0 60px;background:white}.strip>div{padding:22px 27px;display:flex;gap:17px;align-items:center}.strip>div+div{border-left:1px solid var(--line)}.strip strong{display:block;font-size:13px}.strip small{font-size:11px;color:var(--muted)}.number{font-size:30px;font-weight:800;letter-spacing:-.05em}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:30px 0 25px}.section-head p{margin:0;font-size:13px}.text-link{font-size:12px;font-weight:700;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:25px;display:flex;flex-direction:column;align-items:start}.card .num{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--muted)}.card p{font-size:13px;flex:1;margin:0 0 22px}.card .text-link{margin-top:auto;display:block}.card:hover{border-color:#9eaca0}.tile-icon{display:flex;align-items:center;justify-content:center;background:var(--sage);font-size:25px;border-radius:10px;height:48px;width:48px;margin-bottom:25px}.card:nth-child(2n) .tile-icon{background:#fce7dd}.card:nth-child(3n) .tile-icon{background:#f6edd1}.tag{display:inline-block;font-size:10px;background:var(--sage);border-radius:20px;padding:4px 9px;margin:0 5px 8px 0;font-weight:700}.lab-banner{display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;background:var(--ink);color:white;padding:38px 42px;border-radius:16px;margin-top:35px}.lab-banner p{color:#c2d0c7;max-width:590px;font-size:13px}.lab-banner .eyebrow{color:#bdd1b8}.page-head{padding:50px 0 15px;max-width:790px}.page-head h1{font-size:45px}.notice{border-left:3px solid var(--coral);padding:11px 17px;background:#fff3ea;font-size:12px;border-radius:0 7px 7px 0;margin-bottom:25px;color:#77523f}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:25px 0}.toolbar input{flex:1;min-width:180px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filter{border:1px solid var(--line);border-radius:30px;padding:8px 16px;font-size:12px}.filter.selected{background:var(--ink);color:white;border-color:var(--ink)}input,textarea,select{background:white;border:1px solid #bfcac1;border-radius:8px;padding:11px 13px;color:var(--ink);width:100%}textarea{min-height:115px;resize:vertical}label{display:block;font-size:12px;font-weight:700;margin:15px 0 7px}.label-note{font-weight:400;color:var(--muted)}.tool-logo{font-size:24px;font-weight:800;letter-spacing:-.08em;width:48px;height:48px;border-radius:12px;background:var(--sage);display:grid;place-items:center}.tool-bottom{width:100%;display:flex;align-items:center;justify-content:space-between}.empty{grid-column:1/-1;padding:35px;text-align:center;border:1px dashed var(--line);border-radius:10px}.academy-grid{grid-template-columns:repeat(2,1fr)}.module-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:15px}.module-top .tile-icon{margin:0 0 12px}.module-meta{font-size:10px;color:var(--muted);margin:12px 0 20px}.split{display:grid;grid-template-columns:280px 1fr;gap:35px}.steps{border:1px solid var(--line);border-radius:12px;padding:21px;background:white;align-self:start}.step{display:flex;width:100%;text-align:left;gap:12px;padding:12px 4px;font-size:12px;align-items:center}.step span{border:1px solid var(--line);border-radius:50%;width:28px;height:28px;display:grid;place-items:center;flex-shrink:0}.step.current{font-weight:800}.step.current span{background:var(--coral);border:0}.step.done span{background:var(--sage)}.lab-panel{background:white;border:1px solid var(--line);border-radius:14px;padding:28px}.lab-panel h2{font-size:24px}.progress-line{height:6px;border-radius:20px;background:#e3e9e1;overflow:hidden;margin:15px 0}.progress-line span{display:block;height:100%;background:var(--coral);transition:width .3s}.save-state{font-size:11px;color:var(--muted)}.form-actions{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.prompt{background:var(--paper);border:1px solid var(--line);padding:20px;border-radius:10px;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}.check{display:flex;gap:10px;align-items:start;font-size:12px;font-weight:500}.check input{width:auto;margin-top:5px}.project-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}.project-meta div{border-top:1px solid var(--line);padding:18px 0}.project-meta small{display:block;color:var(--muted)}.project-meta strong{font-size:14px}.idea-cover{height:140px;margin:-25px -25px 20px;width:calc(100% + 50px);background:var(--sage);border-radius:14px 14px 0 0;display:grid;place-items:center;font-size:50px}.idea-card:nth-child(2n) .idea-cover{background:#fae0d4}.idea-card:nth-child(3n) .idea-cover{background:#f3e8b9}.article{max-width:800px;background:white;border:1px solid var(--line);border-radius:14px;padding:30px;margin:20px auto}.article p{font-size:14px}.article ul{color:var(--muted);font-size:14px}.lesson-nav{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0}.quiz-option{display:block;text-align:left;border:1px solid var(--line);border-radius:8px;margin:8px 0;padding:12px;width:100%;font-size:13px}.quiz-option.chosen{border-color:var(--ink);background:var(--sage)}.feedback{padding:15px;border-radius:9px;background:var(--sage);font-size:13px;margin:15px 0}.feedback.wrong{background:#ffe7df}.pill{padding:8px 12px;border-radius:20px;background:white;font-size:11px;border:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:16px;padding:35px;width:min(640px,90vw);max-height:85vh;color:var(--ink)}dialog::backdrop{background:#112c2db3;backdrop-filter:blur(4px)}.close{position:absolute;right:15px;top:10px;font-size:20px}dialog h2{margin-top:14px}dialog .btn{margin-top:12px}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;gap:25px;align-items:center;flex-wrap:wrap;font-size:10px}footer p{flex:1}.footer-brand{font-weight:800;font-size:16px}.footer-brand span{color:var(--coral)}footer button{font-size:11px;text-decoration:underline}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:8px;opacity:0;pointer-events:none;transition:.2s;font-size:12px;z-index:10}#toast.visible{opacity:1}.skip{position:fixed;top:-70px;background:white;padding:12px;z-index:11}.skip:focus{top:0}.completed{color:#315c34}.gallery-hint{font-size:11px;margin-top:10px}.long-text{white-space:pre-wrap;overflow-wrap:anywhere}.article .buttons{margin-bottom:0}@media(min-width:1500px){header{padding-left:80px;padding-right:80px}}@media(max-width:1050px){header{gap:18px}nav{gap:13px;font-size:11px}.brand small{font-size:7px}.path{padding:8px;font-size:10px}.hero h1{font-size:49px}.hero{gap:10px}.scene{min-height:365px}.floating.one{left:0;top:5px}}@media(max-width:780px){header{padding:16px 20px;flex-wrap:wrap}.brand{font-size:14px}.brand-symbol{font-size:25px}.menu{display:block;margin-left:auto;font-size:22px}.path{font-size:11px}nav{display:none;order:4;width:100%;flex-wrap:wrap;padding:10px 0;font-size:13px}nav.open{display:flex}main{padding:0 20px 35px}.hero{grid-template-columns:1fr;padding-top:35px}.hero h1{font-size:48px;max-width:500px}.hero p{font-size:14px}.scene{min-height:340px;max-width:450px;margin:0 auto;width:100%}.scene svg{max-height:330px}.floating.two{bottom:25px}.strip{margin-bottom:35px}.strip>div{padding:15px 10px;gap:8px}.strip .number{font-size:24px}.strip strong{font-size:10px}.strip small{font-size:9px}.grid{grid-template-columns:repeat(2,1fr)}.lab-banner{padding:26px;grid-template-columns:1fr;gap:0}.lab-banner .btn{justify-self:start}.split{grid-template-columns:1fr;gap:20px}.steps{padding:10px;display:flex;justify-content:space-between;gap:5px}.step{flex-direction:column;text-align:center;font-size:9px;padding:5px;gap:5px}.page-head h1{font-size:36px}.section-head{align-items:start}.section-head h2{font-size:24px}.section-head .text-link{font-size:10px}.project-meta{grid-template-columns:1fr}.article{padding:22px}.hero-note{font-size:10px}}@media(max-width:470px){.grid{grid-template-columns:1fr}.hero h1{font-size:42px}.path{margin-left:0}.brand-symbol{display:none}.hero-note{gap:10px}.section-head{flex-direction:column;gap:5px}.lab-panel{padding:20px}.strip small{display:none}.card{padding:22px}.idea-cover{margin:-22px -22px 20px;width:calc(100% + 44px)}footer{gap:10px}footer p{flex-basis:100%}dialog{padding:25px}.floating{font-size:9px}.floating strong{font-size:10px}.btn{padding:12px 15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{header,footer,.steps,.form-actions,.buttons,.toolbar,.notice,dialog,#toast{display:none!important}main{max-width:none;padding:0}.lab-panel,.article{border:0;padding:0}.split{display:block}body{background:white;color:black}.prompt{background:white;border:0}}

main:focus{outline:none}
header{background:white}.project-brand{position:relative;display:block;overflow:hidden;width:300px;height:83px;flex:0 0 300px}.project-brand img{position:absolute;width:350px;max-width:none;height:auto;left:-35px;top:-40px}@media(max-width:1050px){.project-brand{width:230px;height:64px;flex-basis:230px}.project-brand img{width:269px;left:-27px;top:-31px}}@media(max-width:780px){header{gap:12px}.project-brand{width:235px;height:66px;flex-basis:235px}.project-brand img{width:274px;left:-27px;top:-31px}.path{margin-left:auto}}@media(max-width:470px){header{gap:7px}.project-brand{width:230px;height:65px;flex-basis:230px}.project-brand img{width:268px;left:-26px;top:-30px}.menu{margin-left:auto}.path{margin-left:auto}}@media(max-width:350px){.project-brand{width:210px;height:60px;flex-basis:210px}.project-brand img{width:245px;left:-24px;top:-28px}}
.strip{grid-template-columns:repeat(3,minmax(0,1fr))}.strip>div,.strip>div>div{min-width:0}.strip strong{overflow-wrap:anywhere}

.funding-banner{background:#fff;padding:12px 0}.funding-banner[hidden]{display:none}.funding-logos img{display:block;width:100%;height:auto}.funding-banner p{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){.funding-banner{padding:24px 18px}.funding-logos{overflow:hidden;aspect-ratio:1200/439}.funding-logos img{width:170.67%;max-width:none}.funding-banner p{position:static;width:auto;height:auto;overflow:visible;clip-path:none;font-size:14px;line-height:1.65;margin:18px 0 0;color:#142c2e;font-weight:600}}

footer[hidden]{display:none}

.idea-photo{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:18px}

.neighborhood-entry{margin:28px 0;background:#edf3e8}.neighborhood-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;margin-top:28px;align-items:start}.neighborhood-chat{max-height:420px;overflow:auto;margin:18px 0}.neighborhood-message{background:#edf3e8;padding:16px;border-radius:12px;margin-bottom:12px;overflow-wrap:anywhere}.neighborhood-message.from-user{background:#f8ede6}.neighborhood-message p{margin-bottom:0}.neighborhood-faq{padding:18px 0;border-bottom:1px solid var(--line)}.neighborhood-faq summary{cursor:pointer;font-weight:700}.neighborhood-empty{border:1px dashed var(--line);padding:20px;border-radius:12px;margin-top:20px}.neighborhood-layout .text-link{margin:12px 0}@media(max-width:850px){.neighborhood-layout{grid-template-columns:1fr}}
