@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--ink:#243a31;--ink-soft:#4f6158;--muted:#8b958b;--line:#e6e8df;--paper:#f6f6f0;--white:#fffefa;--green:#254638;--green-2:#456955;--lime:#d7f36a;--lime-pale:#edf5d0;--peach:#f3ad87;--peach-pale:#fff0e7;--gold:#f3d66b;--shadow:0 16px 50px rgba(40,57,45,.08);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-size:14px}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #8eb446;outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}.welcome-shell{width:min(1200px,calc(100% - 64px));margin:0 auto;min-height:calc(100vh - 28px);display:flex;flex-direction:column}.welcome-top{height:89px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(36,58,49,.12)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-family:Manrope,sans-serif;font-size:20px;letter-spacing:-1px;font-weight:800;text-decoration:none}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--green);display:grid;place-items:center;color:var(--lime)}.brand-mark svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand-period{color:#9cb836}.top-note{font-size:12px;color:#77847a;letter-spacing:.015em}.welcome-grid{flex:1;min-height:620px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:clamp(44px,8vw,118px);align-items:center;padding:68px 0}.welcome-copy{max-width:620px}.eyebrow{display:flex;align-items:center;gap:9px;color:#75836f;font-size:9px;letter-spacing:.16em;font-weight:700}.eyebrow-line{width:24px;height:1px;background:#8ba479}.welcome-copy h1{font-family:Manrope, sans-serif;font-size:clamp(52px,6.2vw,83px);line-height:.99;letter-spacing:-.075em;font-weight:600;margin:24px 0 22px;color:var(--ink)}.welcome-copy h1 em{font-family:Georgia,serif;font-weight:400;color:#6c8c4e;letter-spacing:-.065em}.welcome-lede{font-size:17px;line-height:1.65;max-width:500px;color:#68776d;margin:0}.how-strip{display:flex;align-items:center;gap:13px;margin:39px 0 31px;flex-wrap:wrap}.how-step{display:flex;align-items:center;gap:8px;color:#33493e;font-weight:600;font-size:11px}.step-number{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e7ecdf;color:#638052;font-size:9px;font-weight:700}.how-arrow{color:#9aa697;font-size:15px}.location-note{display:inline-flex;align-items:center;gap:12px;background:#fffefa;border:1px solid #e9ebe2;border-radius:12px;padding:12px 15px;box-shadow:0 5px 20px rgba(45,60,48,.035)}.location-icon{width:35px;height:35px;display:grid;place-items:center;background:#edf4db;border-radius:10px;color:#668447}.location-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.location-note small,.pilot-chip small{font-size:8px;letter-spacing:.13em;color:#85917f;display:block;font-weight:700;margin-bottom:3px}.location-note strong,.pilot-chip strong{font-size:12px;font-weight:700;color:#344b3d}.location-pulse{height:7px;width:7px;border-radius:50%;background:#96bc42;margin-left:5px;box-shadow:0 0 0 4px #eef5df}.welcome-footnote{color:#929b90;font-size:11px;margin:12px 0 0 4px}.join-card{background:var(--white);border:1px solid #e6e9df;border-radius:20px;padding:31px 31px 21px;box-shadow:0 22px 65px rgba(39,54,43,.085);position:relative;overflow:hidden}.join-card:before{content:'';position:absolute;width:190px;height:190px;right:-104px;top:-114px;border:1px solid #eef0e7;border-radius:50%;box-shadow:0 0 0 22px rgba(239,242,231,.45),0 0 0 45px rgba(239,242,231,.25)}.join-card-top{display:flex;justify-content:space-between;align-items:center}.tiny-badge{display:inline-flex;align-items:center;padding:6px 9px;border-radius:30px;color:#607646;background:#eef4df;letter-spacing:.12em;font-weight:700;font-size:8px}.join-spark{font-size:21px;color:#88a640}.join-card h2{font-family:Manrope,sans-serif;font-size:27px;letter-spacing:-.055em;margin:23px 0 7px;font-weight:700}.join-intro{font-size:12px;line-height:1.6;color:#7d887c;margin:0 0 23px}.join-card label{font-size:10px;font-weight:700;color:#46584a;display:block;margin-bottom:7px}.join-card input{width:100%;height:46px;border:1px solid #e2e6dc;background:#fcfcf8;border-radius:9px;padding:0 13px;color:var(--ink);font-size:12px}.join-card input::placeholder{color:#a8afa5}.button{border:0;border-radius:9px;min-height:45px;padding:0 17px;font-size:11px;font-weight:700;transition:transform .15s,background .15s,box-shadow .15s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--green);color:#fffefa;box-shadow:0 5px 12px rgba(37,70,56,.12)}.button-primary:hover{background:#315843;box-shadow:0 8px 18px rgba(37,70,56,.18)}.join-button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:11px;padding:0 15px}.join-button span{font-size:17px;font-weight:400}.text-button{border:0;background:none;color:#688153;font-size:10px;font-weight:700;display:block;margin:12px auto 17px;padding:5px}.text-button:hover{text-decoration:underline}.demo-notice{display:flex;gap:9px;padding:11px 12px;background:#f6f7f2;border-radius:9px;color:#859084}.notice-icon{flex:0 0 15px;width:15px;height:15px;display:grid;place-items:center;border:1px solid #a3ad9b;border-radius:50%;font-size:9px;font-family:Georgia,serif}.demo-notice p{font-size:9px;line-height:1.5;margin:0}.join-card-bottom{display:flex;justify-content:space-between;margin-top:17px;color:#9ba398;font-size:7px;font-weight:700;letter-spacing:.1em}.welcome-footer{height:53px;border-top:1px solid rgba(36,58,49,.12);display:flex;align-items:center;gap:14px;color:#8d988b;font-size:8px;letter-spacing:.14em}.footer-dash{height:1px;width:30px;background:#a9b399}

.app-shell{width:min(1320px,calc(100% - 56px));margin:0 auto;padding-bottom:25px}.app-header{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:45px}.app-brand{font-size:18px;flex-shrink:0}.app-brand .brand-mark{width:31px;height:31px;border-radius:10px}.main-nav{height:100%;display:flex;align-items:stretch;gap:7px}.nav-button{position:relative;border:0;background:none;color:#879187;font-size:11px;font-weight:600;padding:0 13px;display:flex;align-items:center;gap:7px}.nav-button:hover{color:var(--ink)}.nav-button.active{color:var(--green)}.nav-button.active:after{position:absolute;content:'';height:2px;background:#71934f;bottom:0;left:13px;right:13px;border-radius:2px}.nav-icon{font-size:15px;color:#829579}.profile-chip{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:10px;font-weight:700;color:#526253}.profile-avatar{width:29px;height:29px;border-radius:50%;background:#dfe9cc;color:#476345;display:grid;place-items:center;font-size:11px}.demo-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--lime);display:inline-block;box-shadow:0 0 0 3px rgba(215,243,106,.13)}.demo-label{color:#7d8c67;font-size:7px;letter-spacing:.1em;background:#edf2e2;border-radius:20px;padding:4px 6px}.demo-callout{display:flex;align-items:center;gap:9px;padding:11px 13px;background:#edf2e7;border:1px solid #e3ead8;border-radius:9px;margin:17px 0 28px;color:#73806f;font-size:9px}.demo-callout strong{color:#546845}.demo-callout button{margin-left:auto;border:0;background:none;color:#73806a;text-decoration:underline;font-size:9px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 22px;gap:18px}.page-heading h1{font-family:Manrope,sans-serif;font-size:32px;letter-spacing:-.065em;margin:9px 0 4px;font-weight:700}.page-heading p{margin:0;color:#7e897e;font-size:11px}.pilot-chip{display:flex;align-items:center;gap:10px;padding:9px 12px;background:#fffefa;border:1px solid var(--line);border-radius:10px;min-width:171px;box-shadow:0 4px 14px rgba(40,57,45,.035)}.pilot-pin{width:26px;height:26px;display:grid;place-items:center;background:#edf3e2;color:#69874e;border-radius:8px;font-size:17px}.chevron{margin-left:auto;color:#9aa294}.stats-row{position:relative;display:flex;align-items:center;gap:11px;margin:0 0 15px;flex-wrap:wrap}.stat-card{display:flex;align-items:center;gap:10px;min-width:154px;padding:10px 13px;background:#fffefa;border:1px solid #eaebe4;border-radius:10px}.stat-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-size:18px}.stat-icon-green{background:#e8f0e4;color:#557454}.stat-icon-lime{background:#f1f5d5;color:#84983c}.stat-icon-peach{background:#fff0e5;color:#c17c59}.stat-card strong{display:block;font-family:Manrope,sans-serif;font-size:16px;line-height:1.1}.stat-card small{display:block;font-size:9px;color:#899287;margin-top:3px}.stats-caption{margin-left:auto;font-size:7px;letter-spacing:.12em;color:#a0a89b}.map-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);gap:15px;align-items:stretch}.map-panel,.spots-panel{background:var(--white);border:1px solid #e8e9e1;border-radius:13px;box-shadow:0 7px 24px rgba(39,54,43,.04);overflow:hidden}.map-toolbar{height:58px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eceee6}.map-title{display:flex;align-items:center;gap:9px}.map-title-icon{height:30px;width:30px;border-radius:9px;background:#eff4e7;display:grid;place-items:center;color:#67834e;font-size:16px}.map-title strong{display:block;font-size:11px}.map-title small{display:block;color:#929b90;font-size:8px;margin-top:2px}.map-tools{display:flex;align-items:center;gap:11px}.map-live{color:#84917e;font-size:7px;letter-spacing:.1em;font-weight:700;display:flex;align-items:center;gap:6px}.map-live span{width:6px;height:6px;border-radius:50%;background:#9aba55}.square-button{height:29px;width:29px;border:1px solid #e8eadf;border-radius:8px;background:white;color:#70816b;font-size:17px}.map-canvas,.map-fallback{height:423px;width:100%;position:relative;z-index:1}.map-canvas{background:#e6ebdb}.map-fallback svg{position:absolute;inset:0;width:100%;height:100%}.map-label{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;letter-spacing:2px;fill:#86947f}.fallback-pins{position:absolute;inset:0}.fallback-pin{position:absolute;transform:translate(-50%,-100%);border:0;background:var(--green);color:white;width:27px;height:34px;border-radius:16px 16px 16px 3px;rotate:-45deg;box-shadow:0 4px 12px #293a2e40;display:grid;place-items:center}.fallback-pin span{rotate:45deg;font-weight:700;font-size:9px}.fallback-pin.dirty{background:#e1825f}.fallback-pin.clean{background:#779559}.fallback-credit{position:absolute;bottom:8px;left:10px;background:#fffefaad;padding:3px 5px;border-radius:3px;font-size:8px;color:#70806f}.map-legend{height:37px;display:flex;align-items:center;gap:14px;padding:0 14px;color:#778276;font-size:8px;flex-wrap:wrap}.map-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.legend-clean{background:#7c9f55}.legend-kind{background:#ecc85d}.legend-super{background:#df805e}.map-credit{margin-left:auto;color:#9ba394}.map-disclaimer{padding:0 14px 10px;color:#9ba394;font-size:8px}.leaflet-container{font:10px 'DM Sans',sans-serif;z-index:1}.leaflet-control-attribution{font-size:8px!important}.trash-marker{border:0;background:none}.trash-marker-inner{width:28px;height:34px;border-radius:16px 16px 16px 3px;transform:rotate(-45deg);background:var(--green);box-shadow:0 3px 10px #182d2040;border:2px solid #fff;display:grid;place-items:center;color:white}.trash-marker-inner span{transform:rotate(45deg);font-size:9px;font-weight:700}.trash-marker-inner.kind{background:#c99b35}.trash-marker-inner.super{background:#db7957}.trash-marker-inner.clean{background:#6d9050}.leaflet-popup-content-wrapper{border-radius:9px!important;box-shadow:0 8px 26px #20372620!important}.leaflet-popup-content{margin:10px 12px!important}.spots-panel{padding:16px 16px 14px;display:flex;flex-direction:column}.spots-heading{display:flex;justify-content:space-between;align-items:center}.small-eyebrow{font-size:7px;letter-spacing:.12em}.spots-heading h2{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.04em;margin:5px 0 0}.spot-count{height:27px;min-width:27px;border-radius:8px;display:grid;place-items:center;background:#edf2e5;color:#637b54;font-size:8px;font-weight:700}.spots-subtitle{font-size:9px;line-height:1.5;color:#8a9488;margin:8px 0 10px}.spot-list{display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:260px}.spot-card{width:100%;border:1px solid #eceee6;border-radius:9px;background:#fff;padding:10px 10px 9px;text-align:left;transition:border-color .16s,transform .16s}.spot-card:hover{border-color:#c7d3b5;transform:translateY(-1px)}.spot-top{display:flex;justify-content:space-between;align-items:start;gap:8px}.spot-name{font-size:10px;font-weight:700;color:#32493b}.spot-time{font-size:7px;color:#9ca398;white-space:nowrap}.spot-meta{display:flex;align-items:center;gap:6px;margin-top:7px}.rating-pill{display:inline-flex;align-items:center;gap:4px;border-radius:20px;padding:4px 6px;font-size:7px;font-weight:700}.rating-pill.clean{background:#edf4e7;color:#647f4d}.rating-pill.kind{background:#faf3d9;color:#9c8033}.rating-pill.super{background:#fff0e7;color:#b46c4d}.spot-votes{font-size:7px;color:#8d968c}.spot-history{display:flex;gap:4px;margin-top:7px}.history-dot{height:4px;width:15px;border-radius:5px;background:#e7e9e2}.history-dot.clean{background:#9eb97a}.history-dot.kind{background:#edcf74}.history-dot.super{background:#df967b}.spot-open-hint{margin-left:auto;font-size:12px;color:#9da69b}.add-button{display:flex;align-items:center;justify-content:center;gap:7px;margin:11px 0 9px;width:100%;min-height:39px}.add-button span{font-size:17px;font-weight:400}.points-note{border-top:1px solid #eff0ea;margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:8px}.points-star{height:25px;width:25px;border-radius:8px;background:#f5f4d7;display:grid;place-items:center;color:#a09740;font-size:14px}.points-note strong{display:block;font-size:8px}.points-note small{display:block;color:#9ba397;font-size:7px;margin-top:3px}.points-arrow{margin-left:auto;color:#94a37d}.purpose-card{margin-top:15px;padding:13px 15px;border:1px solid #e4e9dc;border-radius:10px;background:#f0f3e9;display:flex;align-items:center;gap:11px}.purpose-mark{flex:0 0 26px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#e2ebd5;color:#748d54}.purpose-card p{margin:0;color:#798578;font-size:9px;line-height:1.5}.purpose-card p strong{color:#3c5543}.purpose-location{margin-left:auto;color:#98a28f;font-size:7px;letter-spacing:.09em;white-space:nowrap}

.alternate-view{min-height:560px}.leaderboard-card{max-width:760px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:25px 27px;box-shadow:var(--shadow)}.leaderboard-top{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #eef0e8;padding-bottom:18px}.leaderboard-top h2{font-family:Manrope,sans-serif;font-size:21px;letter-spacing:-.045em;margin:13px 0 3px}.leaderboard-top p{font-size:10px;color:#899387;margin:0}.board-week{background:#f5f5ed;border-radius:8px;padding:8px 10px;font-size:8px;letter-spacing:.09em;color:#87917e}.board-week span{color:#7e9a50;margin-left:7px}.leaderboard-list{display:flex;flex-direction:column}.leader-row{min-height:67px;display:grid;grid-template-columns:33px 1fr 102px 65px;align-items:center;border-bottom:1px solid #f0f0ea;gap:8px}.leader-rank{color:#87947d;font-family:Manrope,sans-serif;font-size:11px;font-weight:700}.leader-rank.first{color:#b49830}.leader-person{display:flex;align-items:center;gap:9px}.leader-avatar{height:31px;width:31px;border-radius:50%;background:#e8eedc;color:#647d4c;display:grid;place-items:center;font-size:10px;font-weight:700}.leader-avatar.alt1{background:#f5e9db;color:#a6784f}.leader-avatar.alt2{background:#e4edf0;color:#5e7e87}.leader-avatar.alt3{background:#efe5ed;color:#926c89}.leader-handle{font-size:10px;font-weight:700}.leader-label{font-size:8px;color:#98a093;margin-top:3px}.leader-contrib{font-size:8px;color:#8b958a}.leader-score{text-align:right;font-family:Manrope,sans-serif;font-size:12px;font-weight:700}.leader-score small{font:8px 'DM Sans',sans-serif;color:#919a8d}.board-foot{display:flex;align-items:center;gap:9px;padding-top:15px;color:#899387;font-size:9px;line-height:1.5}.board-medal{width:23px;height:23px;border-radius:7px;background:#f4f2dd;color:#9d944a;display:grid;place-items:center;flex:0 0 23px}.activity-overview{max-width:760px;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:12px}.activity-score,.activity-stat{min-height:135px;border:1px solid var(--line);border-radius:13px;background:#fffefa;padding:17px;position:relative;overflow:hidden}.activity-score{background:var(--green);color:white}.activity-score small{color:#b5c8ae;display:block;font-size:8px;letter-spacing:.13em}.activity-score strong{display:block;font-family:Manrope,sans-serif;font-size:39px;letter-spacing:-.06em;margin-top:9px}.activity-score span{font-size:9px;color:#d3dfcd}.score-wheel{position:absolute;right:15px;top:23px;height:75px;width:75px;border:1px solid #ffffff25;border-radius:50%;display:grid;place-items:center;color:var(--lime);font-size:30px}.activity-stat{display:flex;flex-direction:column;justify-content:flex-end}.activity-icon{position:absolute;right:15px;top:15px;color:#829a67;font-size:18px}.activity-stat strong{font-family:Manrope,sans-serif;font-size:26px;letter-spacing:-.04em}.activity-stat span:last-child{font-size:9px;color:#939d91;margin-top:4px}.activity-empty{max-width:760px;margin-top:14px;padding:34px 20px;text-align:center;border:1px dashed #dce1d5;border-radius:12px;background:#fbfbf6}.empty-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;margin:0 auto 13px;background:#edf2e4;color:#759254;font-size:20px}.activity-empty h2{font-family:Manrope,sans-serif;font-size:16px;margin:0 0 5px;letter-spacing:-.04em}.activity-empty p{max-width:340px;margin:0 auto 15px;font-size:9px;line-height:1.6;color:#899487}.activity-empty .button{min-height:37px}.activity-feed{max-width:760px;margin-top:13px;display:flex;flex-direction:column;gap:8px}.feed-item{background:#fffefa;border:1px solid var(--line);border-radius:9px;padding:13px 15px;display:flex;align-items:center;gap:10px}.feed-icon{width:28px;height:28px;border-radius:8px;background:#edf3e5;color:#657f50;display:grid;place-items:center}.feed-item strong{font-size:9px}.feed-item small{display:block;color:#8f998d;font-size:8px;margin-top:3px}.feed-points{margin-left:auto;color:#638247;font-size:9px;font-weight:700}.app-footer{display:flex;justify-content:space-between;padding:20px 1px 0;color:#9aa397;font-size:7px;letter-spacing:.1em}.app-footer span:last-child{letter-spacing:0;font-size:8px}

.modal-root{position:fixed;inset:0;z-index:1000;background:rgba(24,39,30,.45);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}.modal-card{position:relative;background:var(--white);border-radius:16px;width:min(530px,100%);max-height:min(90vh,780px);overflow:auto;padding:23px;box-shadow:0 22px 70px #14271945;animation:modal-in .18s ease-out}.modal-card.wide{width:min(610px,100%)}@keyframes modal-in{from{transform:translateY(8px);opacity:.5}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;right:15px;top:14px;width:29px;height:29px;border-radius:8px;border:1px solid #e9ebe3;background:#fffefa;color:#7e8b7c;font-size:17px}.modal-kicker{font-size:8px;letter-spacing:.13em;color:#839078;font-weight:700}.modal-title{font-family:Manrope,sans-serif;font-size:23px;letter-spacing:-.055em;margin:7px 38px 5px 0}.modal-subtitle{font-size:10px;line-height:1.55;color:#879185;margin:0 0 16px}.spot-photo-art{height:150px;border-radius:10px;margin:13px 0 15px;background:linear-gradient(160deg,#cad7ba 0 45%,#a4b493 45% 58%,#756c55 59% 61%,#665e4c 61% 100%);position:relative;overflow:hidden}.spot-photo-art:before{content:'';position:absolute;width:160px;height:95px;background:#596b4e;opacity:.5;clip-path:polygon(0 100%,35% 15%,47% 65%,71% 0,100% 100%);top:0;right:3px}.spot-photo-art:after{content:'';position:absolute;left:15%;bottom:14px;width:70%;height:33px;background:#826c52;opacity:.85;clip-path:polygon(0 58%,14% 19%,31% 48%,42% 8%,59% 66%,74% 23%,100% 55%,92% 100%,10% 100%)}.photo-caption{position:absolute;left:12px;bottom:9px;z-index:1;color:white;text-shadow:0 1px 6px #263525;font-size:8px;letter-spacing:.07em}.modal-summary{display:flex;align-items:center;justify-content:space-between;padding:9px 0 13px;border-bottom:1px solid #eceee6}.modal-summary small{display:block;font-size:8px;color:#98a094}.modal-summary strong{display:block;font-size:10px;margin-top:3px}.modal-section-title{margin:14px 0 8px;font-size:9px;font-weight:700;color:#495a4b}.rating-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.rating-option{min-height:46px;border:1px solid #e4e8dd;background:#fffefa;border-radius:8px;color:#5c695b;font-size:8px;font-weight:700;padding:6px}.rating-option:hover,.rating-option.selected{border-color:#779750;background:#f3f7e9;color:#4a643a}.rating-emoji{display:block;font-size:12px;margin-bottom:3px}.history-row{display:flex;gap:6px;align-items:center;color:#8a9487;font-size:8px;margin:7px 0}.history-row .history-line{height:1px;flex:1;background:#e9ece4}.report-link{border:0;background:none;color:#9b7262;text-decoration:underline;font-size:8px;padding:10px 0 0}.report-link:hover{color:#754c3e}.modal-actions{display:flex;gap:8px;margin-top:16px}.modal-actions .button{flex:1}.button-secondary{background:#f0f2e9;color:#596b53}.photo-drop{height:171px;border:1px dashed #b8c7a9;border-radius:11px;background:#f7f8f2;position:relative;overflow:hidden;display:grid;place-items:center;margin:14px 0 12px}.photo-drop.drag-over{background:#edf4e4;border-color:#7d9a59}.photo-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:3}.photo-prompt{text-align:center;color:#819078;pointer-events:none}.photo-prompt .photo-plus{width:31px;height:31px;border-radius:10px;background:#e7eedc;color:#69854e;display:grid;place-items:center;margin:0 auto 7px;font-size:17px}.photo-prompt strong{display:block;color:#536849;font-size:9px}.photo-prompt small{display:block;font-size:8px;margin-top:4px}.photo-stage{width:100%;height:100%;display:grid;place-items:center;position:relative;background:#eef0e9}.photo-stage canvas{display:block;max-width:100%;max-height:100%;object-fit:contain;touch-action:none;cursor:crosshair}.selection-box{position:absolute;border:1px solid #fff;outline:1px solid #557a3e;background:#d7f36a44;pointer-events:none;display:none}.blur-hint{position:absolute;left:9px;top:8px;background:#263d30d9;color:#fff;border-radius:5px;padding:5px 7px;font-size:7px;pointer-events:none}.photo-prompt[hidden],.photo-stage[hidden]{display:none!important}.photo-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:-3px 0 10px}.photo-actions span{color:#8b9688;font-size:8px}.mini-button{border:1px solid #dfe4d8;border-radius:7px;background:#fffefa;color:#567148;padding:7px 9px;font-size:8px;font-weight:700}.mini-button:disabled{color:#a3aa9e}.form-row{margin:10px 0}.form-row label{display:block;font-size:9px;font-weight:700;color:#4e5e4f;margin-bottom:5px}.form-row input,.form-row textarea{width:100%;border:1px solid #e1e5db;border-radius:8px;padding:9px 10px;font-size:9px;background:#fffefa;color:var(--ink)}.form-row textarea{min-height:54px;resize:vertical}.privacy-check{display:flex;align-items:flex-start;gap:8px;color:#798579;font-size:8px;line-height:1.45;margin:12px 0}.privacy-check input{accent-color:#587448;margin-top:1px}.prototype-warning{display:flex;gap:7px;border-radius:8px;background:#fff4e5;color:#967e5d;padding:8px 9px;font-size:8px;line-height:1.45;margin-top:10px}.prototype-warning b{color:#816744}.report-reasons{display:flex;flex-direction:column;gap:8px;margin:12px 0}.report-reason{display:flex;align-items:center;gap:8px;color:#617061;font-size:9px}.report-reason input{accent-color:#587448}.toast{position:fixed;z-index:1100;left:50%;bottom:25px;transform:translate(-50%,18px);opacity:0;pointer-events:none;background:#263e31;color:white;padding:11px 16px;border-radius:9px;font-size:10px;box-shadow:0 9px 30px #14271933;transition:opacity .2s,transform .2s;max-width:calc(100% - 30px);white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:900px){.welcome-shell{width:min(100% - 42px,760px)}.welcome-grid{grid-template-columns:1fr;gap:40px;padding:52px 0}.welcome-copy{max-width:670px}.join-card{max-width:490px;width:100%;margin:0 auto}.welcome-copy h1{font-size:65px}.map-layout{grid-template-columns:minmax(0,1.25fr) minmax(260px,.9fr)}.app-shell{width:calc(100% - 36px)}.app-header{gap:18px}.stats-caption{display:none}.stat-card{min-width:0;flex:1}.stat-card small{font-size:8px}.map-canvas,.map-fallback{height:390px}}
@media(max-width:660px){body{font-size:13px}.welcome-shell{width:calc(100% - 34px)}.welcome-top{height:68px}.top-note{display:none}.welcome-grid{padding:43px 0 34px;gap:29px;min-height:0}.welcome-copy h1{font-size:56px;margin:20px 0 16px}.welcome-lede{font-size:14px;line-height:1.6}.how-strip{margin:25px 0 22px;gap:8px}.how-step{font-size:9px;gap:5px}.step-number{width:19px;height:19px;font-size:8px}.how-arrow{font-size:12px}.location-note{padding:10px 12px}.welcome-footnote{font-size:9px}.join-card{padding:24px 20px 18px;border-radius:16px}.join-card h2{font-size:23px}.welcome-footer{font-size:7px;gap:8px}.footer-dash{width:16px}.app-shell{width:calc(100% - 24px);padding-bottom:15px}.app-header{height:62px;gap:0;justify-content:space-between}.app-brand{font-size:16px;gap:7px}.app-brand .brand-mark{width:27px;height:27px}.app-brand .brand-mark svg{width:19px}.main-nav{position:fixed;z-index:500;bottom:0;left:0;right:0;background:#fffefa;border-top:1px solid var(--line);height:57px;display:flex;justify-content:space-around;gap:0;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -5px 20px #2037260c}.nav-button{flex:1;justify-content:center;flex-direction:column;gap:2px;font-size:8px;padding:4px 0}.nav-button.active:after{height:2px;left:28%;right:28%;bottom:auto;top:0}.nav-icon{font-size:14px}.profile-chip{gap:6px;font-size:8px}.profile-avatar{height:25px;width:25px}.demo-label{font-size:6px;padding:3px 5px}.demo-callout{margin:12px 0 21px;padding:9px 10px;font-size:8px;line-height:1.45;align-items:flex-start}.demo-callout .demo-dot{flex-shrink:0;margin-top:3px}.demo-callout button{font-size:8px;white-space:nowrap;padding:0}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:17px;gap:11px}.page-heading h1{font-size:27px}.page-heading p{font-size:10px}.pilot-chip{min-width:0;padding:7px 9px}.stats-row{gap:6px;margin-bottom:10px}.stat-card{padding:8px 7px;gap:6px;border-radius:8px}.stat-icon{height:25px;width:25px;font-size:14px}.stat-card strong{font-size:13px}.stat-card small{font-size:7px}.map-layout{grid-template-columns:1fr;gap:10px}.map-panel,.spots-panel{border-radius:11px}.map-toolbar{height:50px;padding:0 10px}.map-canvas,.map-fallback{height:310px}.map-legend{height:auto;min-height:34px;gap:8px;padding:6px 10px;font-size:7px}.map-disclaimer{padding:0 10px 8px;font-size:7px}.spots-panel{padding:14px 12px 11px}.spots-heading h2{font-size:15px}.spots-subtitle{font-size:8px}.spot-list{max-height:none}.spot-card{padding:9px}.add-button{min-height:39px}.points-note{margin-top:2px}.purpose-card{margin-top:10px;align-items:flex-start;padding:11px}.purpose-card p{font-size:8px}.purpose-location{display:none}.app-footer{margin-bottom:61px;gap:8px;font-size:6px}.app-footer span:last-child{font-size:7px;text-align:right}.alternate-view{min-height:500px}.leaderboard-card{padding:18px 14px}.leaderboard-top h2{font-size:18px}.leaderboard-top p{font-size:8px}.leader-row{grid-template-columns:25px 1fr 47px 56px;gap:5px;min-height:58px}.leader-contrib{font-size:7px}.leader-score{font-size:10px}.leader-score small{font-size:7px}.board-foot{font-size:8px}.activity-overview{grid-template-columns:1fr 1fr;gap:8px}.activity-score{grid-column:span 2;min-height:113px}.activity-stat{min-height:95px}.activity-score strong{font-size:32px}.score-wheel{height:56px;width:56px;font-size:23px;top:19px}.activity-empty{padding:27px 15px}.modal-root{padding:10px;align-items:flex-end}.modal-card{max-height:88vh;border-radius:16px 16px 12px 12px;padding:19px 16px}.modal-title{font-size:20px}.spot-photo-art{height:125px}.photo-drop{height:150px}.rating-options{gap:5px}.rating-option{font-size:7px;padding:5px 3px}.toast{bottom:68px;font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

/* Landing page refresh: a playful field-notes look with a camera-story hero. */
.welcome-shell{width:min(1280px,calc(100% - 64px));min-height:0;display:block;padding-bottom:28px}
.welcome-top{height:82px;border-bottom:1px solid rgba(36,58,49,.13);gap:24px}
.landing-nav{display:flex;align-items:center;gap:clamp(18px,3vw,38px)}
.landing-nav>a:not(.button){color:#526356;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;transition:color .18s ease}
.landing-nav>a:not(.button):hover{color:#789146}
.landing-nav .nav-cta{display:inline-flex;align-items:center;justify-content:center;height:44px;min-height:44px;padding:0 17px;line-height:1.2;font-size:14px;border-radius:9px;text-decoration:none;white-space:nowrap;box-sizing:border-box}
.hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(470px,1.08fr);align-items:center;gap:clamp(34px,5vw,76px);padding:62px 0 78px}
.hero-copy{max-width:580px;padding:12px 0}
.hero-copy .eyebrow,.section-heading .eyebrow{font-size:12px;letter-spacing:.14em}
.hero-copy h1{font-family:Manrope,sans-serif;font-size:clamp(58px,7.2vw,100px);line-height:.96;letter-spacing:-.08em;font-weight:700;margin:24px 0 22px;color:#243a31}
.hero-copy h1 .hero-accent{color:#789146}
.hero-copy .welcome-lede{font-size:clamp(18px,2vw,21px);line-height:1.55;max-width:510px;color:#5e6d60;margin:0}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:31px}
.hero-cta{display:inline-flex;align-items:center;justify-content:center;height:54px;min-height:54px;padding:0 22px;line-height:1.2;border-radius:10px;font-size:16px;box-shadow:0 7px 18px rgba(37,70,56,.16);text-decoration:none;box-sizing:border-box}
.hero-secondary{display:inline-flex;align-items:center;justify-content:center;height:54px;min-height:54px;box-sizing:border-box;color:#526356;font-size:16px;line-height:1.2;font-weight:700;text-decoration:none;padding:0 22px;border:1px solid #dfe5d7;border-radius:10px}
.hero-secondary:hover{color:#789146}

.story-stage{position:relative;isolation:isolate;width:100%;border-radius:28px;overflow:hidden;background:linear-gradient(143deg,#20392e,#2e4b3a 57%,#344f3b);box-shadow:0 25px 65px rgba(29,51,37,.16);padding:51px 18px 18px}
.story-stage:before,.story-stage:after{position:absolute;z-index:-1;content:"";border-radius:50%;pointer-events:none}
.story-stage:before{width:340px;height:340px;right:-143px;top:44px;border:1px solid rgba(234,242,215,.16);box-shadow:0 0 0 27px rgba(234,242,215,.035),0 0 0 59px rgba(234,242,215,.025)}
.story-stage:after{width:220px;height:220px;left:-124px;bottom:-120px;background:#a1b46b;opacity:.15;filter:blur(4px)}
.story-sun{position:absolute;right:48px;top:32px;width:45px;height:45px;border-radius:50%;background:#dbe98f;opacity:.8;box-shadow:0 0 0 12px rgba(219,233,143,.08)}
.story-orbit{position:absolute;border:1px solid rgba(224,236,195,.25);border-radius:50%;pointer-events:none}
.story-orbit-one{width:14px;height:14px;left:41px;top:121px;background:#d7f36a;border:0;box-shadow:0 0 0 8px rgba(215,243,106,.13)}
.story-orbit-two{width:8px;height:8px;right:46px;bottom:96px;background:#f1c47f;border:0}
.story-topline{position:absolute;left:22px;top:18px;z-index:2;display:flex;align-items:center;gap:9px;color:#edf2e8;font-size:10px;font-weight:700;letter-spacing:.13em}
.story-example-badge{border-radius:5px;background:var(--lime);padding:4px 6px;color:#20392e;font-size:8px;font-weight:800;letter-spacing:.08em}
.story-live-dot{width:8px;height:8px;border-radius:50%;background:#d7f36a;box-shadow:0 0 0 4px rgba(215,243,106,.16)}
.story-steps{position:relative;z-index:1;display:grid;gap:9px}
.story-step{min-width:0;border:1px solid rgba(255,255,255,.65);border-radius:13px;background:#fffdf4;color:#2a3d31;padding:11px 13px;box-shadow:0 8px 20px rgba(8,21,14,.09)}
.story-step-heading{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.story-step-number{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#d7f36a;color:#31503b;font-family:Manrope,sans-serif;font-size:12px;font-weight:800}
.story-step-heading h2{margin:0;color:#314638;font-family:Manrope,sans-serif;font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.story-upload-content{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);align-items:center;gap:12px}
.story-photo-frame{position:relative;overflow:hidden;height:103px;border-radius:10px;background:#b8c9a7;box-shadow:inset 0 0 0 1px rgba(31,56,37,.1)}
.story-photo-frame svg{display:block;width:100%;height:100%;object-fit:cover}
.story-photo-tag{position:absolute;left:7px;top:7px;border-radius:5px;background:#1f372bdc;padding:4px 6px;color:#fff;font-size:7px;font-weight:800;letter-spacing:.07em}
.story-upload-copy{min-width:0}
.story-location{display:block;color:#85927f;font-size:8px;font-weight:800;letter-spacing:.1em}
.story-photo-added{display:inline-flex;align-items:center;gap:5px;margin-top:6px;color:#557446;font-size:8px;font-weight:800;letter-spacing:.06em}
.story-photo-added b{display:grid;place-items:center;width:17px;height:17px;border-radius:6px;background:#e5efd1;font-size:11px}
.story-upload-copy p{margin:5px 0 0;color:#344a39;font-size:12px;font-weight:700;line-height:1.35}
.story-rating-question{margin:0 0 7px;color:#687666;font-size:10px;font-weight:700}
.story-rate-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.story-rating-choice{position:relative;display:grid;place-items:center;min-height:38px;border:1px solid #e0e5d8;border-radius:8px;background:#fffefa;padding:5px 8px;color:#647262;text-align:center;font-size:9px;font-weight:800;line-height:1.2}
.story-rating-update{padding-right:15px}
.story-rating-update b{position:absolute;top:4px;right:5px;color:#8ba168;font-size:9px}
.story-rating-choice.is-selected{border-color:#7d9750;background:#edf4d8;color:#45643d;box-shadow:0 0 0 2px #edf4d8}
.story-rating-cue{margin-top:5px;padding:5px 8px 6px;border-radius:8px;background:#f2f5e9}
.story-rating-arrows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;color:#78944d;font-size:13px;font-weight:800;line-height:1}
.story-rating-cue p{margin:2px 0 0;color:#71806d;text-align:center;font-size:9px;line-height:1.3}
.story-rating-cue p strong{color:#506c42}
.story-points-step .story-step-heading{margin-bottom:7px}
.story-points-earned{display:flex;align-items:center;gap:6px;margin-left:auto;color:#7b8875}
.story-points-earned b{color:#587444;font-family:Manrope,sans-serif;font-size:13px}
.story-points-earned small{font-size:7px;font-weight:800;letter-spacing:.07em}
.story-ranking{overflow:hidden;border:1px solid #e9ebdf;border-radius:9px;background:#fffefa;padding:0 9px 2px}
.story-rank-heading{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid #ebede3;color:#77836f;font-size:8px;font-weight:800;letter-spacing:.1em}
.story-rank-list{list-style:none;margin:0;padding:0}
.story-rank-list li{display:grid;grid-template-columns:19px 22px minmax(0,1fr) 36px 27px;align-items:center;gap:5px;min-height:25px;padding:2px 1px;border-bottom:1px solid #f0f1ea}
.story-rank-list li:last-child{border-bottom:0}
.story-rank-position{color:#85917f;text-align:center;font-family:Manrope,sans-serif;font-size:9px;font-weight:800}
.story-rank-avatar{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;font-family:Manrope,sans-serif;font-size:9px;font-weight:800}
.rank-avatar-gold{background:#f0dfbd;color:#775e32}.rank-avatar-sage{background:#e0e9d6;color:#55704f}.rank-avatar-you{background:#d7f36a;color:#3d593c}.rank-avatar-peach{background:#f4dfcf;color:#946647}
.story-rank-name{min-width:0}
.story-rank-name strong,.story-rank-name small,.story-rank-score b,.story-rank-score small{display:block}
.story-rank-name strong{overflow:hidden;color:#374b3b;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800}
.story-rank-name small{margin-top:1px;color:#869182;font-size:7px;white-space:nowrap}
.story-rank-score{text-align:right;color:#607649}
.story-rank-score b{font-size:9px}.story-rank-score small{color:#929b8d;font-size:7px}
.story-rank-move{color:#608243;text-align:right;font-size:9px;font-weight:800}
.story-rank-you{border-radius:6px;background:#f3f6e9}


.steps-section,.why-section{padding:48px 0 54px}
.section-heading{max-width:700px;margin:0 auto 30px;text-align:center}
.section-heading .eyebrow{justify-content:center}
.section-heading h2,.signup-copy h2,.location-copy h2{font-family:Manrope,sans-serif;font-size:clamp(34px,4.7vw,54px);line-height:1.05;letter-spacing:-.065em;color:#243a31;margin:16px 0 12px}
.section-heading p,.signup-copy>p,.location-copy p{color:#6d7b6e;font-size:17px;line-height:1.6;margin:0}
.step-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.step-card{position:relative;min-height:245px;padding:25px 25px 24px;border:1px solid #e4e8dd;border-radius:17px;background:#fffefa;box-shadow:0 9px 26px rgba(40,57,45,.035)}
.step-index{position:absolute;right:20px;top:17px;color:#a3ae95;font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:.04em}
.step-art{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;margin-bottom:21px}
.step-art svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.step-art-pin{background:#e7eedb;color:#67804e}.step-art-rate{background:#f8e9d8;color:#ad7f4c}.step-art-history{background:#e1eceb;color:#5d8582}
.step-card h3,.benefit-card h3{font-family:Manrope,sans-serif;font-size:20px;line-height:1.2;letter-spacing:-.04em;margin:0 0 9px;color:#2c4033}
.step-card p,.benefit-card p{font-size:15px;line-height:1.6;color:#6d7b6e;margin:0}
.why-section{padding-top:58px}
.why-heading{max-width:840px;margin-bottom:32px}
.why-heading h2{font-size:clamp(34px,4.2vw,54px)}
.benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.benefit-card{min-height:245px;padding:22px 20px;border:1px solid #e4e8dd;border-radius:16px;background:#fffefa;box-shadow:0 9px 26px rgba(40,57,45,.035)}
.benefit-card-people{background:#f6f5eb}
.benefit-art{position:relative;height:96px;margin:-3px 0 13px;overflow:hidden;border-radius:12px;background:#eaf0df}
.local-hero-art svg,.people-art svg,.guild-walk-art svg{display:block;width:100%;height:100%}
.benefit-symbol{display:grid;place-items:center;width:51px;height:51px;border-radius:15px;margin-bottom:20px}
.benefit-symbol svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guild-symbol{background:#f7e9d9;color:#a87e4e}.city-symbol{background:#e3eeee;color:#63858a}.attention-symbol{background:#e8efda;color:#718c4c}
.benefit-card h3{font-size:18px}
.benefit-card p{font-size:14px}

.signup-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.83fr);align-items:center;gap:clamp(32px,6vw,82px);margin:48px 0 31px;padding:clamp(25px,5vw,58px);border-radius:24px;background:#eeefe5;border:1px solid #e3e6d9}
.signup-copy{max-width:540px}
.signup-copy h2{font-size:clamp(36px,4.2vw,50px);margin-top:16px}
.signup-copy>p{max-width:470px}
.demo-highlights{display:grid;gap:12px;list-style:none;margin:24px 0 22px;padding:0;color:#4e6250;font-size:15px}
.demo-highlights li{display:flex;align-items:flex-start;gap:10px;line-height:1.45}
.demo-highlights li span{display:grid;place-items:center;flex:0 0 21px;width:21px;height:21px;border-radius:50%;background:#dce9c8;color:#547442;font-size:13px;font-weight:800}
.demo-data-note{padding:14px 16px;border-left:3px solid #91a75e;border-radius:0 9px 9px 0;background:#e5e9d9;color:#65725f;font-size:13px;line-height:1.55}
.demo-data-note strong{color:#3d5542}
.signup-section .join-card{width:100%;max-width:470px;margin:0 auto;padding:30px;background:#fffefa;border-radius:20px;box-shadow:0 16px 42px rgba(40,57,45,.09)}
.signup-section .join-card h3{font-family:Manrope,sans-serif;font-size:27px;letter-spacing:-.055em;margin:23px 0 20px;font-weight:700}
.signup-section .join-intro{font-size:15px;line-height:1.55}
.signup-section .join-card form label{font-size:14px}
.signup-section .join-card input{min-height:48px;font-size:16px}
.signup-section .join-button{min-height:50px;font-size:15px}
.signup-section .text-button{font-size:14px}
.signup-section .demo-notice{font-size:13px;line-height:1.5}
.join-spark svg{width:22px;height:22px;fill:none;stroke:#95a856;stroke-width:2;stroke-linecap:round}

.location-section{display:flex;align-items:center;gap:18px;margin:31px 0 27px;padding:20px 24px;border:1px solid #e4e8dd;border-radius:16px;background:#fffefa}
.location-pin-art{display:grid;place-items:center;flex:0 0 49px;width:49px;height:49px;border-radius:15px;background:#eef3df;color:#718b4d}
.location-pin-art svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.location-copy{flex:1}
.location-kicker{color:#88957e;font-size:11px;font-weight:800;letter-spacing:.12em}
.location-copy h2{font-size:23px;margin:4px 0 3px;letter-spacing:-.04em}
.location-copy p{font-size:14px;line-height:1.45}
.location-side-note{color:#99a28f;font-size:10px;font-weight:700;letter-spacing:.11em;white-space:nowrap}
.welcome-footer{min-height:46px;margin-top:21px;border-top:1px solid #e3e7dc;padding:17px 0 0;color:#879384;font-size:11px;letter-spacing:.09em}
.welcome-footer a{color:#73845e;font-size:11px;font-weight:700;text-decoration:none;letter-spacing:.07em}

@media(max-width:1020px){
  .welcome-shell{width:calc(100% - 48px)}
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:28px;padding:49px 0 62px}
  .hero-copy h1{font-size:clamp(56px,7vw,78px)}
  .story-stage{padding-left:15px;padding-right:15px}
  .story-upload-content{gap:9px}
  .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .welcome-shell{width:min(100% - 42px,700px)}
  .welcome-top{height:72px}
  .landing-nav{gap:16px}
  .landing-nav>a:not(.button){display:none}
  .hero-grid{grid-template-columns:1fr;gap:28px;padding:46px 0 49px}
  .hero-copy{max-width:680px;padding:0}
  .hero-copy h1{font-size:clamp(58px,11vw,84px)}
  .hero-copy .welcome-lede{max-width:600px}
  .story-stage{padding-left:18px;padding-right:18px}
  .signup-section{grid-template-columns:1fr;gap:27px;padding:34px}
  .signup-copy{max-width:680px}
  .signup-section .join-card{max-width:560px}
}
@media(max-width:560px){
  .welcome-shell{width:calc(100% - 32px);padding-bottom:12px}
  .welcome-top{height:66px}
  .brand{font-size:19px}
  .landing-nav .nav-cta{height:41px;min-height:41px;padding:0 12px;font-size:13px}
  .hero-grid{padding:38px 0 36px;gap:24px}
  .hero-copy .eyebrow,.section-heading .eyebrow{font-size:10px}
  .hero-copy h1{font-size:clamp(49px,14vw,68px);margin:18px 0 12px}
  .hero-copy .welcome-lede{font-size:17px;line-height:1.52}
  .hero-actions{gap:12px 18px;margin-top:22px}
  .hero-cta{height:49px;min-height:49px;padding:0 16px;font-size:14px}
  .hero-secondary{height:49px;min-height:49px;font-size:14px;padding:0 16px}
  .story-stage{padding:48px 11px 11px;border-radius:20px}
  .story-topline{left:13px;top:15px;font-size:9px}
  .story-sun{width:37px;height:37px;right:25px;top:31px}
  .story-orbit-one{left:15px;top:105px}
  .story-step{padding:10px;border-radius:11px}
  .story-step-heading{gap:7px;margin-bottom:7px}
  .story-step-number{flex-basis:21px;width:21px;height:21px;font-size:11px}
  .story-step-heading h2{font-size:11px}
  .story-upload-content{grid-template-columns:1fr;gap:7px}
  .story-photo-frame{height:137px;border-radius:8px}
  .story-photo-tag{font-size:7px}
  .story-upload-copy{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 6px}
  .story-location{font-size:7px}
  .story-photo-added{margin-top:3px;font-size:7px}
  .story-photo-added b{width:15px;height:15px;font-size:9px}
  .story-upload-copy p{grid-column:1/-1;margin-top:4px;font-size:11px}
  .story-rating-question{margin-bottom:6px;font-size:9px}
  .story-rate-scale{gap:4px}
  .story-rating-choice{min-height:41px;padding:4px;font-size:8px}
  .story-rating-update{padding-right:12px}
  .story-rating-update b{right:3px;top:3px;font-size:8px}
  .story-rating-cue{padding:5px 6px}
  .story-rating-arrows{font-size:12px}
  .story-rating-cue p{font-size:8px}
  .story-points-earned{gap:4px}
  .story-points-earned b{font-size:12px}
  .story-points-earned small{font-size:6px}
  .story-ranking{padding:0 6px 2px}
  .story-rank-heading{font-size:7px;padding:5px 0}
  .story-rank-list li{grid-template-columns:17px 20px minmax(0,1fr) 32px 23px;gap:4px;min-height:23px}
  .story-rank-avatar{width:19px;height:19px;font-size:8px}
  .story-rank-name strong{font-size:8px}
  .story-rank-name small{font-size:6.5px}
  .story-rank-score b{font-size:8px}
  .story-rank-move{font-size:8px}
  .steps-section,.why-section{padding:37px 0 28px}
  .section-heading{margin-bottom:22px}
  .section-heading h2,.signup-copy h2{font-size:clamp(32px,9vw,42px);margin:13px 0 9px}
  .section-heading p,.signup-copy>p{font-size:16px}
  .step-cards{grid-template-columns:1fr;gap:10px}
  .step-card{min-height:0;padding:19px 19px 20px;border-radius:14px}
  .step-art{width:48px;height:48px;border-radius:14px;margin-bottom:14px}
  .step-art svg{width:30px;height:30px}
  .step-card h3,.benefit-card h3{font-size:18px}
  .step-card p{font-size:15px}
  .why-section{padding-top:36px}
  .benefit-grid{grid-template-columns:1fr;gap:10px}
  .benefit-card{min-height:0;padding:19px;border-radius:14px}
  .benefit-card-people{padding-top:16px}
  .benefit-art{height:90px;margin-bottom:13px}
  .benefit-symbol{width:44px;height:44px;border-radius:13px;margin-bottom:14px}
  .benefit-symbol svg{width:27px;height:27px}
  .benefit-card p{font-size:14px}
  .signup-section{margin:25px 0 18px;padding:21px 15px;border-radius:18px;gap:20px}
  .signup-copy h2{font-size:34px}
  .signup-copy>p{font-size:15px}
  .demo-highlights{gap:10px;margin:17px 0;font-size:14px}
  .demo-data-note{font-size:13px;padding:12px}
  .signup-section .join-card{padding:23px 18px 17px;border-radius:16px}
  .signup-section .join-card h2{font-size:24px}
  .signup-section .join-intro{font-size:14px}
  .location-section{align-items:flex-start;gap:12px;margin:18px 0;padding:16px 13px;border-radius:13px}
  .location-pin-art{width:38px;height:38px;flex-basis:38px;border-radius:12px}
  .location-pin-art svg{width:23px;height:23px}
  .location-kicker{font-size:9px}
  .location-copy h2{font-size:19px}
  .location-copy p{font-size:13px}
  .location-side-note{display:none}
  .welcome-footer{margin-top:15px;padding-top:14px;font-size:9px;letter-spacing:.04em}
  .welcome-footer a{font-size:9px}
}

.header-signup{min-height:36px;padding:0 13px;font-size:10px;white-space:nowrap;flex:0 0 auto}
.demo-callout{gap:16px}
.demo-callout-copy{display:flex;align-items:flex-start;gap:9px;flex:1;min-width:0;line-height:1.5}
.demo-callout .demo-exit{display:inline-flex;align-items:center;justify-content:center;min-height:34px;margin-left:auto;padding:0 13px;border:1px solid #d9e1d1;border-radius:8px;background:#fffefa;color:#53694b;font-size:9px;font-weight:700;text-decoration:none;white-space:nowrap;flex:0 0 auto}
.demo-callout .demo-exit:hover,.purpose-actions .button-secondary:hover{background:#f6f8f1}
.purpose-card p{flex:1;min-width:220px}
.purpose-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}
.purpose-actions .button{min-height:34px;padding:0 11px;font-size:9px;white-space:nowrap}
.purpose-actions .button-secondary{border:1px solid #dfe5d7;background:#fffefa;color:#62735c}
@media(max-width:900px){.purpose-location{display:none}}
@media(max-width:660px){
  .header-signup{min-height:30px;padding:0 8px;font-size:8px}
  .demo-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 10px}
  .demo-callout-copy{grid-column:1/-1}
  .demo-callout .demo-exit{grid-column:2;grid-row:2;justify-self:end;margin-left:0}
  .purpose-card{display:grid;grid-template-columns:26px minmax(0,1fr);gap:9px}
  .purpose-card p{grid-column:2;grid-row:1;min-width:0}
  .purpose-actions{grid-column:2;display:flex;flex-wrap:wrap}
  .purpose-actions .button{flex:1}
}

.landing-nav .nav-signup{display:inline-flex;align-items:center;justify-content:center;height:44px;min-height:44px;padding:0 15px;border:1px solid #dfe5d7;border-radius:9px;background:#fffefa;color:#425a48;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;box-sizing:border-box}
.landing-nav .nav-signup:hover{background:#f2f5eb}
.local-hero-art svg,.people-art svg,.guild-walk-art svg,.street-walk-art svg{display:block;width:100%;height:100%}
@media(max-width:560px){
  .landing-nav{gap:7px}
  .landing-nav .nav-signup,.landing-nav .nav-cta{height:37px;min-height:37px;padding:0 8px;font-size:10px;border-radius:8px}
}

/* Launch updates signup and revised hero hierarchy. */
.hero-copy h1{font-size:clamp(48px,5.8vw,82px);letter-spacing:-.07em;line-height:1.03;margin:0 0 18px}
.hero-kicker{font-family:Manrope,sans-serif;font-size:clamp(16px,1.5vw,20px);font-weight:700;line-height:1.3;letter-spacing:.01em;color:#456a52;margin:0 0 14px}
.signup-copy h2{font-family:Manrope,sans-serif;letter-spacing:-.055em;line-height:1.08;color:var(--ink)}
.signup-copy>p{font-size:clamp(17px,1.7vw,20px);line-height:1.55;color:#627263}
.signup-section .join-card{position:relative}
.signup-section .join-card h3{font-size:clamp(23px,2.2vw,29px)}
.signup-section .join-card form label{font-size:14px}
.signup-section .join-card input[type=email]{width:100%;min-height:52px;font-size:16px}
.signup-section .join-card .signup-age{display:flex;align-items:center;gap:12px;min-height:44px;margin:12px 0 0;color:#46584a;font-size:15px;cursor:pointer}
.signup-section .join-card .signup-age input[type=checkbox]{width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:0;padding:0;accent-color:var(--green)}
.signup-section .join-button{justify-content:center;margin-top:14px;min-height:52px;font-size:16px}
.signup-honey{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.signup-feedback{margin:13px 0 0;font-size:14px;line-height:1.45;color:#315843}
.signup-feedback.is-error{color:#9b3d31}
.signup-privacy{margin:18px 0 0;color:#677769;font-size:13px;line-height:1.5}
@media(max-width:560px){
  .hero-copy h1{font-size:clamp(45px,11.5vw,64px);margin:0 0 14px}
  .hero-kicker{font-size:16px;margin-bottom:12px}
  .signup-section .join-card h3{font-size:23px}
}
