:root{--bg:#f7f3ea;--surface:#fffdf8;--ink:#1c2a23;--muted:#55645b;--line:#ddd5c3;--green-900:#143327;--green-700:#1f5a43;--green-500:#3f8a67;--green-100:#e2eee6;--clay:#a8512b;--clay-100:#f5e3d8;--sand-200:#ece4d1;--focus:#0b57d0;--radius:14px;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:1rem/1.6 var(--sans);overflow-wrap:anywhere;margin:0}img,svg{max-width:100%}a{color:var(--green-700);text-underline-offset:2px}a:hover{color:var(--green-900)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.skip{background:var(--green-900);color:#fff;z-index:1000;padding:.6rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{left:0}.wrap{width:min(1120px,100% - 2rem);margin-inline:auto}h1,h2,h3{font-family:var(--serif);color:var(--green-900);letter-spacing:-.01em;margin:0 0 .6rem;line-height:1.15}h1{font-size:clamp(2rem,5vw,3.4rem)}h2{margin-top:2.5rem;font-size:clamp(1.5rem,3vw,2.1rem)}h3{font-size:1.2rem}p{margin:0 0 1rem}.lead{color:var(--muted);max-width:62ch;font-size:1.15rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--clay);margin-bottom:.5rem;font-size:.78rem;font-weight:700}.site-header{background:var(--green-900);color:#fff}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:.85rem;display:flex}.brand{font-family:var(--serif);color:#fff;align-items:center;gap:.55rem;font-size:1.35rem;font-weight:700;text-decoration:none;display:inline-flex}.brand svg{flex:none}.nav{flex-wrap:wrap;gap:1.1rem;display:flex}.nav a{color:#e6efe9;border-bottom:2px solid #0000;padding:.25rem 0;font-weight:600;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:#fff;border-bottom-color:#e9b88f}.hero{background:linear-gradient(180deg, var(--green-900), #1d4a38);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";opacity:.13;pointer-events:none;background:repeating-radial-gradient(circle at 85% 120%,#0000 0 22px,#fff 23px 24px);position:absolute;inset:0}.hero .wrap{padding-block:clamp(2.5rem,7vw,5rem);position:relative}.hero h1,.hero .lead{color:#fff}.hero .lead{color:#d6e5dc}.hero .eyebrow{color:#f0c49f}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.btn{cursor:pointer;font-weight:700;font:inherit;border:2px solid #0000;border-radius:999px;padding:.7rem 1.15rem;font-weight:700;text-decoration:none;display:inline-block}.btn-primary{color:var(--green-900);background:#f0c49f}.btn-primary:hover{color:var(--green-900);background:#f6d3b5}.btn-ghost{color:#fff;border-color:#ffffff8c}.btn-ghost:hover{color:#fff;background:#ffffff1f}.btn-solid{background:var(--green-700);color:#fff}.btn-solid:hover{background:var(--green-900);color:#fff}.btn-outline{border-color:var(--green-700);color:var(--green-700);background:0 0}.btn-outline:hover{background:var(--green-100)}.crumbs{color:var(--muted);padding:1rem 0 .25rem;font-size:.9rem}.crumbs ol{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--line);margin-right:.35rem}.state-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.6rem;margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.state-grid a{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;gap:.4rem;min-height:48px;padding:.6rem .8rem;font-weight:600;text-decoration:none;display:flex}.state-grid a:hover{border-color:var(--green-500)}.state-grid .soon{color:var(--muted);font-weight:500}.state-grid .soon small{font-size:.72rem;font-weight:500;display:block}.state-grid .live{background:var(--green-700);border-color:var(--green-700);color:#fff}.state-grid .live small{color:#d6e5dc;font-size:.72rem;display:block}.abbr{color:var(--muted);font-size:.75rem;font-weight:700}.state-grid .live .abbr{color:#d6e5dc}.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:1.1rem 1.15rem;display:flex}.card h3{margin:0}.card h3 a{color:var(--green-900);text-decoration:none}.card h3 a:hover{text-decoration:underline}.card .town{color:var(--muted);margin:0;font-size:.95rem}.card dl{grid-template-columns:auto 1fr;gap:.2rem .75rem;margin:.25rem 0 0;font-size:.92rem;display:grid}.card dt{color:var(--muted)}.card dd{margin:0;font-weight:600}.card dd.unknown{color:var(--clay);font-weight:500}.card .more{margin-top:auto;padding-top:.5rem;font-weight:700}.tag{background:var(--green-100);color:var(--green-900);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700;display:inline-block}.tag.primitive{background:var(--clay-100);color:#6f3417}.tag.rustic-pool{background:var(--sand-200);color:#55421d}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.4rem}.two-col{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1rem;display:grid}.notice{border-left:4px solid var(--clay);background:var(--clay-100);border-radius:0 10px 10px 0;padding:.85rem 1rem;font-size:.95rem}.notice p:last-child{margin:0}.filters{flex-wrap:wrap;gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:flex}.js-only{display:none}html.js .js-only{display:block}.chip{border:1.5px solid var(--green-700);background:var(--surface);color:var(--green-900);font:inherit;cursor:pointer;border-radius:999px;min-height:44px;padding:.5rem .9rem;font-weight:600}.chip[aria-pressed=true]{background:var(--green-700);color:#fff}.chip .n{opacity:.75;margin-left:.25rem;font-weight:500}.region-nav{flex-wrap:wrap;gap:.5rem 1rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.region-section[hidden],.card[hidden]{display:none}.region-section h2{margin-top:2rem}.empty{color:var(--muted);font-style:italic}#filter-status{min-height:1.5em;color:var(--muted)}.map-box{border:1px solid var(--line);border-radius:var(--radius);background:var(--sand-200);position:relative;overflow:hidden}.map{width:100%;height:clamp(320px,55vh,520px)}.map.small{height:320px}.map-fallback{padding:1rem 1.2rem;font-size:.95rem}.map-box.is-live .map-fallback{display:none}.hs-pin{background:var(--green-700);border:3px solid #fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 4px #00000080}.hs-pin.primitive{background:var(--clay)}.hs-pin.rustic-pool{background:#8a7a2a}.map-legend{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.facts{grid-template-columns:minmax(8rem,12rem) 1fr;gap:.6rem 1.25rem;margin:0;display:grid}.facts dt{color:var(--green-900);font-weight:700}.facts dd{margin:0}.facts .unknown{color:var(--clay)}.facts .note{color:var(--muted);font-size:.9rem;display:block}@media (width<=560px){.facts{grid-template-columns:1fr;gap:.1rem}.facts dd{margin-bottom:.7rem}}.src-list{padding-left:1.2rem}.src-list li{margin-bottom:.3rem}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:.6rem;padding:.8rem 1.1rem}.faq summary{cursor:pointer;color:var(--green-900);font-weight:700}.faq details[open] summary{margin-bottom:.5rem}.site-footer{background:var(--green-900);color:#cfe0d6;margin-top:4rem}.site-footer .wrap{gap:1.2rem;padding-block:2rem;display:grid}.site-footer a{color:#fff}.footer-nav{flex-wrap:wrap;gap:1.2rem;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.site-footer small{color:#b6cdc0;max-width:70ch;display:block}.prose{max-width:70ch}.prose h2{margin-top:2rem}section.block{margin-top:2.5rem}.stat-row{flex-wrap:wrap;gap:1.5rem;margin-top:1.25rem;display:flex}.stat b{font-family:var(--serif);color:#fff;font-size:2rem;display:block}.stat span{color:#cfe0d6;font-size:.85rem}.compare{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem;display:grid}.compare .panel h3{align-items:center;gap:.5rem;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.tag.flagged{color:#5c4400;background:#fff3cd;margin-left:.35rem}
