:root{--ink:#13251e;--muted:#5e6f67;--green:#176b47;--green-dark:#0d4d32;--lime:#d9f2b4;--cream:#f5f2e9;--paper:#fffefa;--line:#d9ded8;--shadow:0 18px 50px rgba(18,48,35,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--green-dark)}button,input,select{font:inherit}.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line);background:rgba(255,254,250,.96);position:sticky;top:0;z-index:100}.brand{text-decoration:none;color:var(--ink);font-size:22px;font-weight:800;letter-spacing:-.04em}.brand span{color:var(--green)}nav{display:flex;align-items:center;gap:22px}nav a{text-decoration:none;font-weight:650;font-size:14px}.auth-button{display:inline-block;border:1px solid var(--green);padding:8px 12px;border-radius:999px;background:white;color:var(--green);cursor:pointer;text-decoration:none}.hero{padding:clamp(54px,8vw,110px) clamp(20px,7vw,100px);background:radial-gradient(circle at 85% 15%,#d9f2b4 0,transparent 32%),linear-gradient(135deg,#f7f3e7,#eff6ee);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.8fr);gap:clamp(40px,7vw,100px);align-items:center}.hero h1,.dashboard h1{font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:.15em 0 .3em;max-width:850px}.hero-copy>p:last-child{font-size:20px;color:var(--muted);max-width:660px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--green);margin:0 0 10px}.search-panel{background:white;border:1px solid rgba(23,107,71,.18);border-radius:20px;padding:28px;box-shadow:var(--shadow);display:grid;gap:19px}.search-panel label{display:grid;gap:7px;font-size:14px;font-weight:750;position:relative}.search-panel input,.search-panel select{width:100%;border:1px solid #bbc9c1;border-radius:10px;padding:13px 14px;background:white;color:var(--ink)}.search-panel input:focus,.search-panel select:focus{outline:3px solid rgba(23,107,71,.16);border-color:var(--green)}.search-panel label:nth-child(3){grid-template-columns:1fr auto}.search-panel label:nth-child(3)>:first-child{grid-column:1/-1}.unit{align-self:center;margin-left:-50px;pointer-events:none;color:var(--muted)}button.primary{border:0;border-radius:11px;padding:14px 20px;background:var(--green);color:white;font-weight:800;cursor:pointer}button.primary:hover{background:var(--green-dark)}.place-results{position:absolute;top:76px;left:0;right:0;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:20;max-height:250px;overflow:auto}.place-results:empty{display:none}.place-option{display:block;width:100%;border:0;border-bottom:1px solid var(--line);background:white;text-align:left;padding:11px 13px;cursor:pointer}.place-option:hover{background:#eff7f1}.place-option small{color:var(--muted)}.results-shell,.dashboard,.detail-shell,.source-note{max-width:1240px;margin:auto;padding:clamp(44px,6vw,82px) clamp(20px,4vw,48px)}.results-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.results-heading h2{font-size:36px;letter-spacing:-.04em;margin:0}.results-heading p{color:var(--muted)}.view-toggle{display:flex;border:1px solid var(--line);border-radius:9px;padding:3px}.view-toggle button{border:0;background:transparent;padding:8px 14px;border-radius:6px;cursor:pointer}.view-toggle .active{background:var(--ink);color:white}.cards{display:grid;gap:16px}.card{border:1px solid var(--line);border-radius:16px;padding:22px 24px;background:white;display:grid;grid-template-columns:1fr auto;gap:14px 24px;box-shadow:0 5px 20px rgba(20,40,30,.04)}.card:hover{border-color:#a7bcb0}.match-band{display:inline-flex;width:max-content;padding:5px 9px;border-radius:999px;background:var(--lime);color:var(--green-dark);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.card h3{margin:8px 0 4px;font-size:22px;line-height:1.2}.card .location,.muted{color:var(--muted)}.score{font-size:34px;font-weight:850;color:var(--green);text-align:right}.score small{display:block;font-size:11px;color:var(--muted);text-transform:uppercase}.facts{display:flex;flex-wrap:wrap;gap:8px}.fact{background:var(--cream);padding:6px 9px;border-radius:7px;font-size:13px}.why{grid-column:1/-1;border-top:1px solid var(--line);padding-top:13px}.why summary{font-weight:750;cursor:pointer}.why ul{margin:10px 0 0;padding-left:20px;color:var(--muted)}.card-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}.card-actions a,.secondary,.action{border:1px solid var(--green);border-radius:9px;padding:9px 13px;background:white;color:var(--green-dark);font-weight:700;text-decoration:none;cursor:pointer}.map{height:620px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.source-note{margin-top:25px;margin-bottom:60px;border-radius:20px;background:var(--ink);color:white}.source-note h2{font-size:32px;margin:0 0 8px}.source-note p{max-width:760px;color:#d9e5df}.detail-shell{max-width:1050px}.detail-title{font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-.05em;margin:10px 0}.detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:32px}.panel{border:1px solid var(--line);border-radius:15px;padding:22px;background:white;margin:18px 0}.panel h2{margin-top:0}.timeline{list-style:none;padding:0}.timeline li{display:grid;grid-template-columns:110px 1fr;gap:15px;padding:12px 0;border-bottom:1px solid var(--line)}.label-source,.label-estimate{font-size:11px;text-transform:uppercase;font-weight:850;letter-spacing:.08em;border-radius:4px;padding:3px 5px}.label-source{background:#e8eee9}.label-estimate{background:#fff0d5;color:#71400c}.dashboard{min-height:70vh}.dashboard h1{font-size:clamp(38px,5vw,62px)}.dashboard-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-section{border:1px solid var(--line);border-radius:14px;padding:18px}.loading,.empty{color:var(--muted);padding:25px 0}.error{border-left:4px solid #aa322c;background:#fff0ef;padding:13px;color:#6f1f1b}.source-record{border-left:3px solid #aab8b0;padding-left:14px;margin:16px 0}.source-record dl{display:grid;grid-template-columns:150px 1fr;gap:5px 12px;font-size:14px}.source-record dt{color:var(--muted)}.source-record dd{margin:0}footer{border-top:1px solid var(--line);padding:28px clamp(20px,5vw,72px);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px}
.project-description{font-size:18px;color:var(--muted);max-width:850px}.admin-form{display:grid;grid-template-columns:1fr 220px auto;gap:10px}.admin-form input,.admin-form select{border:1px solid var(--line);border-radius:9px;padding:10px}.diagnostics{white-space:pre-wrap;overflow:auto;background:#102019;color:#e6f3eb;border-radius:10px;padding:16px;max-height:600px}
@media(max-width:800px){.site-header nav>a{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.hero h1{font-size:48px}.results-heading{align-items:start;flex-direction:column}.card{grid-template-columns:1fr}.score{text-align:left}.detail-grid,.dashboard-sections{grid-template-columns:1fr}.timeline li{grid-template-columns:1fr}.map{height:430px}footer{flex-direction:column}.source-record dl{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}}
