:root{--bg:#fff;--surface:#f5f5f5;--surface-2:#ebebec;--line:#d6d6d8;--line-soft:#e6e6e8;--ink:#0a0a0a;--ink-soft:#3a3a3e;--ink-faint:#6c6c72;--grad:linear-gradient(180deg, #fff 0%, #ededee 100%);--chart:#0a0a0a0d;--shadow:0 1px 0 var(--line), 0 8px 24px #0a0a0a0a;--display:"Archivo", "Helvetica Neue", Arial, sans-serif;--body:"Inter", "Helvetica Neue", Arial, sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--maxw:1120px;--gap:1.5rem;--radius:4px}[data-theme=night]{--bg:#0a0a0b;--surface:#151517;--surface-2:#202023;--line:#2c2c30;--line-soft:#1d1d20;--ink:#fafafa;--ink-soft:#c7c7cd;--ink-faint:#8b8b92;--grad:linear-gradient(180deg, #131315 0%, #0a0a0b 100%);--chart:#fafafa0f;--shadow:0 1px 0 var(--line), 0 8px 24px #0006}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6;transition:background-color .25s,color .25s}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.05}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}.skip-link{background:var(--ink);color:var(--bg);z-index:100;padding:.6rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{left:0}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .75rem;font-size:.7rem}.ident{font-family:var(--mono);letter-spacing:.08em;border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:2px;padding:.15rem .45rem;font-size:.72rem}.site-header{z-index:40;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(8px);backdrop-filter:saturate(140%)blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;height:60px;display:flex}.brand{font-family:var(--display);letter-spacing:-.01em;font-size:1.05rem;font-weight:800}.brand span{color:var(--ink-faint);font-weight:600}.nav{align-items:center;gap:1.4rem;display:flex}.nav a{color:var(--ink-soft);font-size:.9rem}.nav a:hover{color:var(--ink)}.theme-toggle{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:var(--surface);color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;border-radius:999px;padding:.35rem .75rem;font-size:.7rem}.theme-toggle:hover{color:var(--ink);border-color:var(--ink-faint)}.hero{border-bottom:1px solid var(--line);background:var(--grad);position:relative;overflow:hidden}.hero:before{content:"";background:repeating-radial-gradient(circle at 70% 30%, transparent 0 38px, var(--chart) 38px 39px);pointer-events:none;width:70vw;max-width:720px;height:70vw;max-height:720px;position:absolute;inset:-40% -10% auto auto}.hero .wrap{padding:5.5rem 1.25rem 4rem;position:relative}.hero h1{max-width:16ch;font-size:clamp(2.4rem,6vw,4.2rem)}.hero p{color:var(--ink-soft);max-width:52ch;margin:1.25rem 0 2rem;font-size:1.1rem}.btn{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius);border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:.8rem 1.3rem;font-size:.78rem;display:inline-block}.btn:hover{opacity:.88;text-decoration:none}.btn.ghost{color:var(--ink);background:0 0}.btn-row{flex-wrap:wrap;gap:.75rem;display:flex}.section{border-bottom:1px solid var(--line);padding:4rem 0}.section h2{margin-bottom:.4rem;font-size:clamp(1.6rem,3vw,2.2rem)}.section .lead{color:var(--ink-soft);max-width:56ch;margin-bottom:2rem}.map-shell{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);height:460px;overflow:hidden}.leaflet-container{font-family:var(--body);background:var(--surface)!important}.leaflet-popup-content-wrapper{border-radius:var(--radius);background:var(--bg);color:var(--ink)}.leaflet-popup-tip{background:var(--bg)}.popup-ident{font-family:var(--mono);color:var(--ink-faint);font-size:.7rem}.popup-name{font-family:var(--display);margin:.1rem 0 .3rem;font-weight:700}.grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);padding:1.25rem;transition:border-color .2s,transform .2s}.card:hover{border-color:var(--ink-faint);transform:translateY(-2px)}.card .row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card h3{margin:.6rem 0 .3rem;font-size:1.1rem}.card .meta{color:var(--ink-faint);font-size:.82rem}.card p{color:var(--ink-soft);margin:.6rem 0 0;font-size:.92rem}.tag{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);border-top:1px solid var(--line-soft);margin-top:.9rem;padding-top:.6rem;font-size:.64rem;display:inline-block}.tier-featured{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);border-radius:999px;padding:.1rem .5rem;font-size:.6rem}.features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem 2rem;display:grid}.feature{border-top:1px solid var(--line);color:inherit;padding-top:1rem;text-decoration:none;display:block}.feature .n{font-family:var(--mono);color:var(--ink-faint);letter-spacing:.1em;font-size:.72rem}.feature h3{margin:.5rem 0 .4rem;font-size:1.05rem}.feature p{color:var(--ink-soft);margin:0;font-size:.9rem}.detail-head{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.detail-head h1{font-size:clamp(1.8rem,4vw,2.8rem)}.kv{grid-template-columns:1fr;gap:.5rem;max-width:420px;margin:1.5rem 0;display:grid}.kv .pair{border-bottom:1px solid var(--line-soft);justify-content:space-between;padding-bottom:.5rem;display:flex}.kv .k{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem}.kv .v{font-size:.92rem}.filters{flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;display:flex}.filter{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:var(--surface);border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:.4rem .8rem;font-size:.7rem}.filter[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.disclaimer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);padding:1rem 1.25rem;font-size:.85rem}.site-footer{padding:3rem 0}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;display:flex}.site-footer p{color:var(--ink-faint);max-width:48ch;margin:.3rem 0 0;font-size:.82rem}.site-footer .links{gap:1.25rem;font-size:.85rem;display:flex}@media (max-width:640px){.nav a:not(.theme-toggle){display:none}.hero .wrap{padding-top:3.5rem}}.form{flex-direction:column;gap:1.1rem;margin-top:2rem;display:flex}.field{border:0;flex-direction:column;gap:.4rem;margin:0;padding:0;display:flex}.field .k{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-size:.7rem}.field input,.field select{font-family:var(--body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .8rem;font-size:.95rem}.field input:focus,.field select:focus{outline:2px solid var(--ink);outline-offset:1px}.tiers{flex-wrap:wrap;gap:.6rem;display:flex}.tier{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;flex:180px;align-items:center;gap:.5rem;padding:.7rem .9rem;font-size:.9rem;display:flex}.tier.on{border-color:var(--ink)}.form-error{color:var(--ink);font-size:.9rem;font-weight:600}.form-note{color:var(--ink-soft);font-size:.9rem}.guide{max-width:720px}.guide h2{margin-top:2.2rem;font-size:1.4rem}.guide h2:first-of-type{margin-top:1.5rem}.guide p{color:var(--ink-soft)}.guide ol,.guide ul{color:var(--ink-soft);padding-left:1.2rem}.guide li{margin-bottom:.5rem}.guide .step{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-faint);font-size:.7rem}