@font-face{font-family:Alexandria;src:url('./fonts/Alexandria-Regular.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--green:#163b32;--deep:#0e2d2a;--gold:#b8a575;--gold-light:#e4ce95;--paper:#f7f6f2;--ink:#233831;--muted:#718078;--line:#e3e7df;--white:#fff;--danger:#9c332d;--shadow:0 12px 40px #173c3010}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.9 Alexandria,Tahoma,Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:#967e46}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}input,textarea,select{width:100%;padding:13px 15px;border:1px solid #d7ded5;border-radius:9px;background:#fff;color:var(--ink);line-height:1.6;min-height:49px}input[type=radio],input[type=checkbox]{width:18px;height:18px;min-height:0;padding:0;accent-color:var(--green);flex-shrink:0}input:focus,textarea:focus,select:focus{outline:3px solid #dce8da;border-color:#799780}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{line-height:1.6;font-size:38px;letter-spacing:-1.2px}h2{font-size:23px;line-height:1.7;letter-spacing:-.6px;margin-bottom:12px}h3{font-size:15px}small{font-size:11px}strong{font-weight:600}fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-size:13px;line-height:2.05;margin-bottom:12px;width:100%;padding:0}legend small{color:#92998d}legend small:has(*){color:var(--gold)}.wrap{max-width:1240px;margin:auto;padding-inline:36px}.official-strip{background:var(--deep);color:#d7dfd2;font-size:10px;letter-spacing:.2px}.official-strip .wrap{display:flex;justify-content:space-between;padding-block:8px}.public-header{display:flex;align-items:center;justify-content:space-between;padding-block:24px;gap:20px}.brand{display:flex;gap:21px;align-items:center;font-size:13px;font-weight:600}.brand img{width:172px;height:67px;object-fit:contain}.brand small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:4px}.brand-divider{height:42px;width:1px;background:#d6d5c9}.back-link{font-size:11px;display:flex;gap:15px;align-items:center}.back-link span{font-size:23px}.survey-hero{background:var(--deep);color:#fff;position:relative;overflow:hidden;border-bottom:4px solid var(--gold)}.hero-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-block:43px}.eyebrow{font-size:10px;letter-spacing:.3px;color:var(--gold);display:flex;align-items:center;gap:10px;margin-bottom:14px}.small-line{width:26px;height:1px;background:var(--gold)}.survey-hero h1{font-size:39px;margin-bottom:16px;font-weight:500}.survey-hero h1 span{color:var(--gold-light)}.survey-hero p{color:#ccd7ce;font-size:13px;line-height:2.1;margin-bottom:22px}.hero-tags{display:flex;gap:22px;color:#d9dfd0;font-size:10px}.hero-tags span+span{border-right:1px solid #698074;padding-right:22px}.city-art{width:38%;text-align:center}.city-art svg{width:100%;max-width:370px}.city-art>span{display:block;color:#bfcdbd;font-size:10px;margin-top:8px}.survey-body{padding-top:36px;padding-bottom:48px}.survey-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;align-items:start}.journey{padding:16px 0;position:sticky;top:20px}.journey h2{font-size:18px;margin-bottom:26px}.journey ol{list-style:none;padding:0;margin:0}.journey li{display:flex;gap:14px;position:relative;align-items:start;padding-bottom:24px;color:#8c958b;font-size:11px}.journey li>span{width:32px;height:32px;display:grid;place-items:center;border:1px solid #d6dccf;background:var(--paper);border-radius:50%;font-size:10px;z-index:1;flex-shrink:0}.journey li:not(:last-child):after{content:'';position:absolute;right:16px;top:31px;bottom:0;width:1px;background:#d9dfd1}.journey li small{display:block;font-size:9px;margin-top:3px;font-weight:400;color:#8c958b}.journey li.active{color:var(--green);font-weight:600}.journey li.active>span{background:var(--green);color:#fff;border-color:var(--green);box-shadow:0 0 0 5px #e4e9df}.journey li.done>span{background:#e2e9dd;color:var(--green);border-color:#cad6c1}.journey li.not-applicable{opacity:.45}.journey-note{border-top:1px solid var(--line);padding-top:25px;margin-top:4px;font-size:10px}.journey-note .shield-icon{font-size:21px;color:var(--gold);display:inline-block;margin-left:8px}.journey-note p{color:var(--muted);margin-top:9px;font-size:10px}.survey-card{background:white;border:1px solid var(--line);border-radius:15px;padding:38px 40px;box-shadow:var(--shadow);min-height:580px;scroll-margin-top:20px}.section-kicker{color:#978557;font-size:10px;display:block;margin-bottom:9px}.lead,.muted{color:var(--muted);font-size:12px}.lead{margin-bottom:25px}.purpose-box{background:#f3f5ef;border-right:3px solid var(--gold);padding:22px 24px;margin-bottom:24px;border-radius:7px}.purpose-box h3{font-size:13px;margin-bottom:10px}.purpose-box p{font-size:11px;color:#5e6c61;line-height:2.2;margin:0}.info-row{display:flex;gap:18px;align-items:start;margin:18px 0}.info-row>span{color:var(--gold);font-size:11px;border:1px solid #e8e6dc;border-radius:7px;padding:3px 9px}.info-row p{font-size:11px;line-height:2;color:var(--muted);margin:0}.info-row strong{color:var(--ink);font-size:12px}.privacy-summary{border-block:1px solid var(--line);padding:16px 0;font-size:11px;margin-top:24px}.privacy-summary summary{cursor:pointer;color:var(--green)}.privacy-summary p{margin:14px 0 0}.privacy-summary a{border-bottom:1px solid var(--gold)}.consent-box{display:flex;align-items:start;gap:12px;margin:24px 0;font-size:11px;line-height:2;cursor:pointer}.consent-box input{margin-top:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 23px;font-size:12px;border-radius:8px;border:1px solid transparent;line-height:1.7;white-space:nowrap}.btn.primary{background:var(--green);color:#fff}.btn.primary:hover{background:#245244}.btn.secondary{border-color:#dce2d8;background:white;color:var(--green)}.btn.text{background:transparent;color:var(--muted);font-size:11px}.btn.small{font-size:10px;padding:9px 15px}.wide{width:100%;margin-top:22px}.form-actions{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:24px;margin-top:26px}.form-footnote{font-size:9px;color:var(--muted);margin:16px 0 0}.field-error{font-size:10px;color:var(--danger);margin:6px 0 0}.field-error:empty{display:none}.field-hint{font-size:10px;color:var(--muted);line-height:1.9;margin:9px 0 0}.form-top{display:flex;align-items:center;justify-content:space-between}.private-label{font-size:9px;color:var(--muted)}.progress-track{margin:12px 0 26px}progress{width:100%;height:4px;appearance:none;border:0;display:block;background:#edf0e9;border-radius:5px}progress::-webkit-progress-bar{background:#edf0e9;border-radius:5px}progress::-webkit-progress-value{background:var(--gold);border-radius:5px}progress::-moz-progress-bar{background:var(--gold)}.fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px 22px;margin-top:30px}.question.full{grid-column:1/-1}.question-code{color:#9f8c59;font-size:10px;margin-left:5px}.choices{display:grid;gap:10px}.choices-grid{grid-template-columns:1fr 1fr}.choice{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #e2e6dc;border-radius:9px;cursor:pointer;font-size:11px;transition:background .15s,border .15s}.choice:hover{background:#f7f8f3;border-color:#b7c4ad}.choice:has(input:checked){background:#f0f5ea;border-color:#668765;color:var(--green);box-shadow:inset 0 0 0 1px #66876520}.choice input{margin:0}.notice{padding:15px 19px;background:#eef3e9;color:#41603f;font-size:11px;border:1px solid #dde6d5;border-radius:8px;margin-bottom:22px}.notice.warning,.preview-banner{background:#fcf4df;color:#7d6539;border:1px solid #e9dfbd}.preview-banner{padding:12px 18px;margin-bottom:24px;border-radius:8px;font-size:10px}.notice.danger{background:#fff1ed;color:var(--danger);border-color:#f1c9bf}.honeypot{position:absolute;left:-10000px;top:-10000px;width:1px;height:1px;overflow:hidden}.review-list{margin:20px 0 30px}.review-list>div{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;padding:14px 0;border-bottom:1px solid var(--line);font-size:11px}.review-list dt{color:var(--muted)}.review-list dd{margin:0;white-space:pre-wrap;word-break:break-word}.result-state{padding:70px 15px;text-align:center}.result-icon{display:grid;place-items:center;width:65px;height:65px;margin:0 auto 24px;border-radius:50%;background:#e7efdf;color:var(--green);font-size:28px}.result-state p{color:var(--muted);font-size:12px}.result-state bdi{display:block;font-size:14px;margin:12px 0;word-break:break-all}#receipt{background:var(--paper);border:1px solid var(--line);padding:20px;margin:25px 0;border-radius:9px}.public-footer{padding-block:23px;border-top:1px solid #dcdfd4;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px}.public-footer>div{display:flex;gap:28px}.legal-page{padding-block:45px;max-width:1000px}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:28px;box-shadow:0 3px 20px #102f2204}.legal-page p{font-size:12px;margin-bottom:25px}.legal-page h2{font-size:18px}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;min-height:70vh;padding-block:50px}.auth-copy h1{font-weight:500;font-size:37px}.auth-copy p{font-size:12px;color:var(--muted)}.auth-lines{height:110px;background:repeating-linear-gradient(90deg,transparent 0,transparent 34px,#b9aa7a33 35px,#b9aa7a33 36px),linear-gradient(0deg,#b9aa7a33 1px,transparent 1px);border-bottom:2px solid var(--gold);border-radius:60% 50% 0 0;max-width:350px}.auth-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:38px;max-width:450px;width:100%;box-shadow:var(--shadow)}.input-label{display:block;font-size:11px;margin:17px 0 8px}.narrow{max-width:650px;padding-block:65px}
/* Administration */
.admin-body{background:#f5f6f2}.admin-shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:var(--deep);color:#fff;padding:28px 23px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.admin-sidebar .logo{width:180px;height:75px;object-fit:contain;margin-bottom:30px}.sidebar-label{font-size:9px;color:#9ead9f;letter-spacing:.3px;padding:17px 12px;border-top:1px solid #ffffff18}.admin-sidebar nav{display:grid;gap:8px}.admin-sidebar nav a{padding:12px 14px;border-radius:8px;font-size:11px;color:#bccbbf;display:flex;align-items:center;gap:12px}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:#ffffff0d;color:#e4ce95;border:1px solid #e4ce9525}.nav-icon{font-size:18px}.sidebar-foot{margin-top:auto;color:#9fb09e;font-size:9px;border-top:1px solid #ffffff18;padding-top:20px}.sidebar-foot strong{display:block;color:#e4ce95;font-size:11px;margin-bottom:5px}.admin-main{min-width:0}.admin-topbar{padding:20px 35px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px}.topbar-user{display:flex;align-items:center;gap:14px}.avatar{display:grid;place-items:center;border-radius:50%;width:32px;height:32px;color:var(--green);background:#eaf0e3}.admin-content{max-width:1550px;margin:auto;padding:28px 34px 50px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.page-heading h1{font-size:27px;margin:0 0 5px;font-weight:500}.page-heading p{font-size:11px;color:var(--muted);margin:0}.page-heading .eyebrow{margin-bottom:4px;font-size:9px}.filter-panel{padding:21px 23px;margin-bottom:23px}.panel-title{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}.panel-title h2{font-size:15px;margin:0}.panel-title p{font-size:9px;color:var(--muted);margin:5px 0 0}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.filter-control>label{display:block;font-size:10px;margin-bottom:7px}.filter-control select,.filter-control input{font-size:10px;padding:10px;min-height:41px}.filter-actions{display:flex;align-items:center;gap:15px;margin-top:18px}.filter-actions .btn{font-size:10px;padding:10px 20px}.filter-more{margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.filter-more summary{font-size:10px;color:var(--green);cursor:pointer;margin-bottom:13px}.filter-more .filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.range-inputs{display:flex;gap:8px}.active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.filter-chip{font-size:9px;background:#eef2e8;border:1px solid #dce4d2;padding:4px 8px;border-radius:5px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px 22px;position:relative}.stat-card.featured{background:var(--green);color:#fff;border-color:var(--green)}.stat-card>span{font-size:10px;color:var(--muted)}.stat-card.featured>span{color:#cbdbc8}.stat-card strong{display:block;font:500 33px/1.7 Alexandria,Tahoma;margin-top:5px;letter-spacing:-1px}.stat-card small{font-size:9px;color:var(--muted)}.stat-card.featured small{color:#c5d4bc}.stat-icon{position:absolute;left:18px;top:18px;color:var(--gold);font-size:20px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(275px,1fr);gap:22px;margin-bottom:24px}.map-panel{padding:23px}.map-wrap{height:390px;background:#f4f6ef;border:1px solid #e7ebdf;border-radius:10px;position:relative;overflow:hidden}.map-wrap svg{width:100%;height:100%;display:block;touch-action:none;user-select:none}.map-wrap path{stroke:#fff;stroke-width:1.8;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .2s}.map-wrap path:hover,.map-wrap path:focus{stroke:#b69a51;stroke-width:3;outline:none}.map-wrap path.selected{stroke:#b28835;stroke-width:3.5}.map-label{font:11px Alexandria,Tahoma;pointer-events:none;fill:#294338;paint-order:stroke;stroke:#ffffffb0;stroke-width:3px}.map-controls{position:absolute;left:14px;top:14px;display:grid;gap:5px}.map-controls button{background:white;border:1px solid #d8e1cf;border-radius:6px;width:31px;height:31px;color:var(--green);font-size:17px}.map-tooltip{position:absolute;bottom:14px;right:14px;background:white;border:1px solid var(--line);box-shadow:0 4px 15px #193f2320;padding:8px 13px;font-size:10px;border-radius:6px;pointer-events:none}.map-note{position:absolute;left:15px;bottom:13px;font-size:8px;color:#88917f}.legend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;color:var(--muted);margin-top:14px}.heat-scale{display:flex;align-items:center;gap:7px}.heat-gradient{width:110px;height:7px;background:linear-gradient(to left,#d8e5cb,#90ad76,#1a583f);border-radius:5px}.map-attribution{font-size:8px;color:#939b8b;margin:14px 0 0}.map-attribution a{text-decoration:underline}.rank-list{display:grid;gap:17px;margin:25px 0}.rank-row{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center}.rank-row .rank-number{font-size:10px;color:#a7ae9e}.rank-name{font-size:11px}.rank-count{font-size:12px;color:var(--green)}.rank-meter{display:block;width:100%;height:5px;margin-top:6px;appearance:none;border:0;background:#edf0e8}.rank-meter::-webkit-meter-bar{background:#edf0e8;border:0;border-radius:3px}.rank-meter::-webkit-meter-optimum-value{background:#739566;border-radius:3px}.rank-meter::-moz-meter-bar{background:#739566}.rank-percent{font-size:8px;color:var(--muted)}.empty-state{padding:36px 15px;text-align:center;color:var(--muted);font-size:11px}.empty-state span{display:block;color:#c2cdba;font-size:32px;margin-bottom:8px}.panel-footer{font-size:9px;border-top:1px solid var(--line);padding-top:15px;color:var(--muted)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:right;font-size:10px;white-space:nowrap}th{background:#f5f7f0;color:#73806b;font-size:9px;font-weight:400;padding:13px 14px;border-block:1px solid var(--line)}td{padding:14px;border-bottom:1px solid #edf0e8}tbody tr:hover{background:#fafbf7}.table-panel{margin-bottom:23px;padding:24px 0}.table-panel .panel-title{padding-inline:24px}.table-panel .panel-footer{margin-inline:24px;margin-top:16px}.table-link{color:#4b7254;text-decoration:underline}.badge{font-size:8px;padding:4px 8px;border-radius:5px;background:#eff3e7;color:#5e7c4d}.badge.amber{background:#faf0d5;color:#8b713b}.pagination{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;font-size:10px}.dashboard-footer{font-size:9px;color:var(--muted);text-align:center;margin-top:30px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.details-grid>div{padding:17px 0;border-bottom:1px solid var(--line)}.details-grid dt{font-size:10px;color:var(--muted);margin-bottom:6px}.details-grid dd{font-size:12px;margin:0;white-space:pre-wrap;word-break:break-word}.finance-note{font-size:10px;line-height:2;color:#8c7342;background:#faf6e9;padding:13px 20px;margin:0 24px 20px;border-radius:7px}.amount{font-variant-numeric:tabular-nums}.split-panels{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-bottom:24px}
@media(min-width:1500px){.admin-content{padding-inline:45px}.map-wrap{height:430px}}
@media(max-width:1100px){.wrap{padding-inline:25px}.survey-grid{grid-template-columns:220px minmax(0,1fr);gap:23px}.survey-card{padding:29px}.admin-shell{grid-template-columns:195px minmax(0,1fr)}.admin-sidebar{padding:22px 15px}.admin-sidebar .logo{width:163px}.admin-content{padding:25px 22px}.admin-topbar{padding-inline:22px}.dashboard-grid{grid-template-columns:1fr}.stats-grid{gap:10px}.stat-card{padding:17px}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card>span{font-size:9px}}
@media(max-width:760px){body{font-size:13px}.wrap{padding-inline:20px}.official-strip{font-size:8px}.public-header{padding-block:17px}.brand{gap:12px}.brand img{width:125px;height:52px}.brand>span:last-child{font-size:10px}.brand small{font-size:7px;max-width:135px}.brand-divider{height:31px}.back-link{font-size:0;gap:0}.back-link span{font-size:20px}.hero-inner{padding-block:30px;gap:10px}.survey-hero h1{font-size:29px}.survey-hero p{font-size:11px}.city-art{display:none}.hero-tags{gap:12px;font-size:8px}.hero-tags span+span{padding-right:12px}.survey-grid{display:block}.journey{position:static;padding:0 0 22px}.journey>.eyebrow,.journey>h2,.journey-note{display:none}.journey ol{display:flex;justify-content:space-between;gap:4px}.journey li{display:block;text-align:center;flex:1;padding-bottom:0;font-size:8px}.journey li>span{margin:0 auto 9px;width:26px;height:26px;font-size:8px}.journey li small{display:none}.journey li:not(:last-child):after{height:1px;left:-50%;right:50%;top:13px;width:auto;bottom:auto}.survey-body{padding-top:22px}.survey-card{padding:25px 22px;border-radius:12px;min-height:0}h2{font-size:20px}.lead{font-size:11px}.purpose-box{padding:18px}.purpose-box p{font-size:10px}.fields-grid{grid-template-columns:1fr;gap:24px}.question.full{grid-column:auto}.choices-grid{grid-template-columns:1fr}.form-actions{gap:8px}.btn{padding:12px 17px;font-size:11px;gap:13px}.public-footer{flex-direction:column;align-items:center;gap:8px;font-size:8px}.review-list>div{grid-template-columns:1fr;gap:7px}.auth-layout{display:block;min-height:70vh;padding-block:35px}.auth-copy{display:none}.auth-card{margin:auto;padding:26px}.legal-page h1{font-size:25px}.admin-shell{display:block}.admin-sidebar{position:static;height:auto;padding:12px 18px;display:flex;flex-direction:row;align-items:center;gap:15px;overflow:auto}.admin-sidebar .logo{width:112px;height:44px;margin:0}.admin-sidebar .sidebar-label,.admin-sidebar .sidebar-foot{display:none}.admin-sidebar nav{display:flex;gap:3px;white-space:nowrap}.admin-sidebar nav a{font-size:9px;padding:8px 10px;gap:5px}.nav-icon{font-size:14px}.admin-topbar{padding:13px 18px;font-size:8px}.admin-content{padding:22px 16px}.page-heading{align-items:start;gap:10px}.page-heading h1{font-size:23px}.page-heading p{font-size:9px}.page-heading .btn{font-size:9px;padding:9px 13px}.filter-panel{padding:18px}.filter-grid,.filter-more .filter-grid{grid-template-columns:1fr 1fr;gap:12px}.filter-control>label{font-size:9px}.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:17px}.stat-card strong{font-size:28px}.stat-icon{font-size:16px;left:13px;top:13px}.dashboard-grid,.split-panels{grid-template-columns:1fr;gap:18px}.map-wrap{height:330px}.map-panel,.panel{padding:20px}.table-panel{padding:20px 0}.map-attribution{font-size:7px}.map-label{font-size:10px}.details-grid{grid-template-columns:1fr}.finance-note{margin-inline:18px}.topbar-user{gap:8px}.desktop-only{display:none}.preview-banner{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
