:root{--red:#cf2037;--red-dark:#a71529;--ink:#24252b;--muted:#60646d;--line:#dedfdf;--paper:#f6f5f1;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:var(--red-dark);text-underline-offset:3px}button,input,select{font:inherit}.button,.secondary,button{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid #2357c5;outline-offset:4px}.site-header{min-height:102px;padding:20px max(24px,calc((100% - 1160px) / 2));justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);background:white}.brand,.site-header{display:flex;align-items:center}.brand{gap:14px;font-size:19px;font-weight:800;text-decoration:none;color:var(--ink);line-height:1.2}.brand small{display:block;font-size:14px;font-weight:400;margin-top:6px}.brand-mark{display:grid;place-items:center;background:var(--red);color:white;width:58px;height:58px;font-size:25px;font-weight:900;font-style:italic}.initiative{font-size:13px;color:var(--muted)}.dev-banner{background:#eee9dd;padding:9px 20px;text-align:center;font-size:13px}main{max-width:1208px;padding:0 24px 72px;margin:0 auto;min-height:65vh}.hero{padding:72px 0 46px;max-width:920px}.eyebrow{color:var(--red-dark);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:0 0 20px}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(34px,4.8vw,62px);font-weight:800;margin:0 0 24px}h1 em{color:var(--red);font-style:normal}h2{font-size:27px;margin:0 0 20px}h3{font-size:24px}p{margin:0 0 20px}.lead{max-width:680px;font-size:19px;color:var(--muted)}.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.pills span{border:1px solid #d5d7d2;border-radius:30px;padding:5px 13px;font-size:12px}.pills span:before{content:"✓";margin-right:7px;color:#346851}.entry-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px}.entry{background:white;border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;border-radius:6px}.entry p{color:var(--muted);font-size:15px}.entry h2{margin:20px 0}.entry .button,.entry .status{margin-top:auto}.entry small{font-size:12px;color:var(--muted);margin-top:12px}.primary-entry{border-top:4px solid var(--red);padding-top:25px}.step-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--red);border:1px solid var(--red);color:white;text-decoration:none;border-radius:4px;padding:12px 19px;font-size:15px;font-weight:700;min-height:48px}.button:hover:not(:disabled){background:var(--red-dark)}.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bfc2c5;border-radius:4px;padding:10px 16px;background:white;color:var(--ink);text-decoration:none;min-height:46px}.status{font-size:12px;padding-top:18px;color:var(--muted)}.info-row,.status{border-top:1px solid var(--line)}.info-row{display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-top:52px;padding-top:30px}.info-row p,footer{color:var(--muted)}footer{border-top:1px solid var(--line);padding:28px max(24px,calc((100% - 1160px) / 2));display:flex;justify-content:space-between;gap:24px;font-size:12px}footer nav{display:flex;gap:20px}.page-heading{padding:48px 0 20px}.page-heading h1{font-size:clamp(32px,4vw,45px)}.page-heading p:not(.eyebrow){color:var(--muted);max-width:740px}.panel{padding:32px;background:white;border:1px solid var(--line);border-radius:6px}.form-panel{max-width:960px}.progress{list-style:none;padding:0 0 26px;margin:0 0 28px;display:flex;gap:26px;border-bottom:1px solid var(--line)}.progress li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.progress li span{border-radius:50%;background:#eeeff0;width:27px;height:27px;display:grid;place-items:center;flex-shrink:0}.progress li[aria-current]{color:var(--red-dark);font-weight:700}.progress li[aria-current] span{color:white;background:var(--red)}.field-label,legend{display:block;font-weight:700;margin-bottom:10px}input[type=password],select{display:block;width:100%;max-width:580px;border:1px solid #aeb2b7;border-radius:4px;padding:12px;min-height:48px;background:white;color:var(--ink);margin-bottom:26px}fieldset{margin:25px 0;padding:0;border:0}legend small{font-size:12px;font-weight:400;color:var(--muted);display:block;margin-top:5px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice{border:1px solid var(--line);padding:14px;border-radius:4px;display:flex;gap:10px;align-items:center;cursor:pointer;font-size:14px}.choice:has(:checked){border-color:var(--red);background:#fff3f3}.choice input{width:19px;height:19px;accent-color:var(--red);flex-shrink:0}.hint{color:var(--muted);font-size:13px;margin:22px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.map-wrapper{overflow:hidden;border:1px solid #d3d7d2;border-radius:5px}.map{height:470px;width:100%}.map-consent{min-height:390px;padding:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background-color:#eaf0e7;background-image:linear-gradient(30deg,transparent 45%,#fff8 0,#fff8 47%,transparent 0),linear-gradient(100deg,transparent 65%,#fff9 0,#fff9 68%,transparent 0)}.map-consent p{max-width:450px;color:#475546;font-size:14px}.map-consent a{font-size:12px;margin-top:14px}.map-symbol{color:var(--red);font-size:44px;line-height:1}.map-consent h3{margin:20px 0 12px}.route-marker{width:32px;height:32px;border:2px solid white;background:var(--red);color:white;border-radius:50%;font-size:12px;font-weight:700;padding:0;box-shadow:0 1px 5px #0005}.map-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.map-tools span{font-size:13px;color:var(--muted);margin-right:auto}.map-tools button{font-size:12px}.error{padding:14px;background:#fff0f0;border-left:3px solid var(--red);color:#891327;margin-top:18px;font-size:14px}.text-button{background:transparent;border:none;padding:8px;text-decoration:underline;color:inherit}.summary{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:25px}.summary dt{font-size:12px;color:var(--muted)}.summary dd{margin:4px 0 0;font-weight:700;font-size:14px}.prose{max-width:780px;padding-top:50px}.prose h1{font-size:42px}.prose h2{margin-top:32px;font-size:24px}.notice{padding:20px;background:#eee9dd;border-radius:4px;margin-bottom:24px}.login-panel{max-width:530px;margin:60px auto}.login-panel h1{font-size:34px}.admin-heading{justify-content:space-between;gap:20px}.admin-heading,.stats{display:flex;align-items:center}.stats{gap:40px;padding:25px;margin-bottom:25px;background:white;border:1px solid var(--line)}.stats strong{display:block;font-size:38px;color:var(--red);line-height:1.1}.stats span{font-size:13px}.stats p{margin:0;color:var(--muted);font-size:14px;max-width:600px}.table-wrapper{overflow-x:auto;margin-top:30px}textarea{width:100%;border:1px solid #aeb2b7;border-radius:4px;padding:12px;font:inherit;resize:vertical;min-height:100px}.parent-question,.photo-field{padding:20px;border:1px solid var(--line);border-radius:5px;margin:28px 0}input[type=file]{display:block;max-width:100%;margin-bottom:18px}.photo-preview{display:block;max-width:100%;max-height:420px;width:auto;height:auto;object-fit:contain;border-radius:4px;margin:18px 0}.report-summary{display:grid;gap:18px}.report-summary dt{color:var(--muted);font-size:13px}.report-summary dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.admin-nav{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.admin-nav a[aria-current=page]{border-color:var(--red);color:var(--red-dark);background:#fff3f3}.filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.filter-grid label{font-size:14px;font-weight:700;min-width:0}.filter-grid input,.filter-grid select{display:block;width:100%;max-width:100%;margin:7px 0 0;font-size:14px;min-height:48px;padding:10px;border:1px solid #aeb2b7;background:white;border-radius:4px}.report-context{padding:28px 0 10px}.report-context ul{padding-left:22px;font-size:14px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-grid .panel{padding:20px}.metric-grid strong{display:block;color:var(--red);font-size:38px}.metric-grid span{display:block;font-size:13px}.report-map-section{margin:32px 0}.report-map{height:520px}.distribution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.distribution{min-width:0;padding:24px}.distribution h2{font-size:23px}.distribution td{overflow-wrap:anywhere}.hotspot-section,.suggestions{margin-top:24px}.suggestions p{white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width:850px){.filter-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.distribution-grid{grid-template-columns:1fr}}@media (max-width:540px){.filter-grid{grid-template-columns:1fr}.report-map{height:390px}.metric-grid .panel{padding:12px}}@media print{@page{margin:15mm}body{background:white;font-size:11pt}.dev-banner,.no-print,.site-header,footer{display:none!important}main{max-width:none;padding:0}.page-heading{padding-top:0}.panel{border-color:#aaa}.distribution-grid{display:block}.distribution{margin-top:16px;page-break-inside:avoid;break-inside:avoid}.metric-grid{grid-template-columns:repeat(4,1fr)}.report-map-section{page-break-inside:avoid;break-inside:avoid}.report-map{height:350px}.table-wrapper{overflow:visible}tr{page-break-inside:avoid;break-inside:avoid}thead{display:table-header-group}a{color:black;text-decoration:none}}table{border-collapse:collapse;width:100%;background:white;font-size:14px}caption{padding-bottom:12px;font-weight:700}caption,td,th{text-align:left}td,th{padding:16px;border-bottom:1px solid var(--line)}th{background:#eeede8}@media (max-width:850px){.entry-grid{grid-template-columns:1fr}.entry{padding:24px}.entry .button{align-self:flex-start}.hero{padding-top:42px}.info-row{grid-template-columns:1fr;gap:0}.choices{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column}}@media (max-width:540px){main{padding:0 16px 45px}.site-header{padding:16px;min-height:85px}.initiative{display:none}.panel{padding:20px 16px}.progress{gap:9px}.progress li{flex-direction:column;text-align:center;flex:1 1;font-size:11px}.choices{grid-template-columns:1fr}.map{height:400px}.map-consent{padding:22px 16px}.actions>*{flex:1 1}.admin-heading,.stats{align-items:flex-start;flex-direction:column}.stats{gap:16px}.summary{flex-direction:column;gap:12px}.map-tools{gap:8px}.map-tools span{width:100%}.lead{font-size:17px}}