:root{--paper:#f7f2e9;--paper-2:#fbf8f2;--paper-3:#efe7d9;--ink:#17140f;--ink-soft:#4a4239;--ink-mute:#7a6f61;--rule:rgba(23,20,15,0.14);--rule-soft:rgba(23,20,15,0.07);--brass:#a3742f;--brass-bright:#c08a3e;--sage:#5b6b58;--clay:#b4623f;--shadow:0 1px 2px rgba(23,20,15,0.04),0 12px 32px -18px rgba(23,20,15,0.28);--serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,"Times New Roman",serif;--sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;--max:1240px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;background-image:radial-gradient(1200px 600px at 80% -10%,rgba(163,116,47,.1),transparent 60%),radial-gradient(900px 500px at -10% 20%,rgba(91,107,88,.09),transparent 55%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;margin:0;line-height:1.08}p{margin:0 0 1em}.eyebrow{font-family:var(--sans);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.shell{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px;position:relative;z-index:1}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(247,242,233,.86);border-bottom:1px solid var(--rule-soft)}.site-header .shell{display:flex;align-items:center;justify-content:space-between;height:66px;gap:24px}.wordmark{font-family:var(--serif);font-size:1.22rem;letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px}.wordmark em{font-style:italic;color:var(--brass)}.nav{display:flex;align-items:center;gap:22px}.nav a{font-size:.86rem;color:var(--ink-soft)}.nav a:hover{color:var(--ink)}.hero{padding:84px 0 40px}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;grid-gap:56px;gap:56px;align-items:end}.hero h1{font-size:clamp(2.9rem,6.4vw,5.2rem);margin:18px 0 22px}.hero h1 em{font-style:italic;color:var(--brass)}.hero .lede{font-size:1.12rem;color:var(--ink-soft);max-width:46ch}.hero-note{border-left:1px solid var(--rule);padding-left:22px;color:var(--ink-soft);font-size:.92rem}.hero-note strong{color:var(--ink);font-weight:600}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1px;gap:1px;margin:44px 0 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--rule-soft)}.stat{background:var(--paper);padding:20px 22px}.stat .n{font-family:var(--serif);font-size:1.9rem;color:var(--ink)}.stat .k{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);margin-top:4px}.atlas{padding:40px 0 96px}.atlas-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.atlas-head h2{font-size:clamp(1.8rem,3vw,2.5rem)}.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}.controls.countries{margin-top:-6px;gap:8px}.chip.small{padding:6px 12px;font-size:.8rem;letter-spacing:.02em}.countries .chip.small[data-on=true]{background:var(--brass,#9a7b4f);border-color:var(--brass,#9a7b4f);color:var(--paper)}.field{display:flex;align-items:center;gap:8px;border:1px solid var(--rule);background:var(--paper-2);border-radius:999px;padding:9px 16px;min-width:240px;flex:1 1 260px}.field input{border:0;outline:0;background:transparent;font:inherit;font-size:.92rem;color:var(--ink);width:100%}.field svg{flex:none;opacity:.55}.chip{border:1px solid var(--rule);background:transparent;color:var(--ink-soft);border-radius:999px;padding:8px 15px;font:inherit;font-size:.82rem;cursor:pointer;transition:all .16s ease;white-space:nowrap}.chip:hover{border-color:var(--ink-mute);color:var(--ink)}.chip[data-on=true]{border-color:var(--ink)}.btn,.chip[data-on=true]{background:var(--ink);color:var(--paper)}.btn{border:0;border-radius:999px;padding:11px 20px;font:inherit;font-size:.88rem;cursor:pointer;transition:transform .16s ease,background .16s ease}.btn:hover{background:#2a251d;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--rule)}.btn.ghost:hover{border-color:var(--ink-mute);background:var(--paper-2)}.btn.brass{background:var(--brass)}.btn.brass:hover{background:var(--brass-bright)}.atlas-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);grid-gap:28px;gap:28px;align-items:start}.map-wrap{position:-webkit-sticky;position:sticky;top:84px;border:1px solid var(--rule);border-radius:20px;overflow:hidden;background:var(--paper-3);box-shadow:var(--shadow)}.map{height:min(74vh,720px);width:100%;background:#ece4d6}.map-hint{position:absolute;left:14px;top:14px;z-index:500;background:rgba(251,248,242,.94);border:1px solid var(--rule);border-radius:12px;padding:10px 14px;font-size:.78rem;color:var(--ink-soft);max-width:260px;box-shadow:var(--shadow)}.leaflet-container{font-family:var(--sans);background:#ece4d6}.leaflet-control-attribution{font-size:10px!important;background:rgba(251,248,242,.8)!important}.leaflet-popup-content-wrapper{border-radius:12px;border:1px solid var(--rule);box-shadow:var(--shadow)}.leaflet-popup-content{margin:12px 14px;font-family:var(--sans)}.popup-name{font-family:var(--serif);font-size:1rem;margin-bottom:2px}.popup-meta{font-size:.78rem;color:var(--ink-mute)}.popup-price{color:var(--brass);font-weight:600;font-size:.86rem;margin-top:6px}.pin{width:14px;height:14px;border-radius:999px;background:var(--brass);border:2px solid var(--paper-2);box-shadow:0 0 0 1px rgba(23,20,15,.18),0 2px 6px rgba(23,20,15,.2);transition:transform .15s ease,background .15s ease}.pin[data-selected=true]{background:var(--ink);transform:scale(1.5)}.pin[data-near=true]{background:var(--sage)}.list{display:flex;flex-direction:column;gap:12px;max-height:min(74vh,720px);overflow-y:auto;padding-right:6px;scroll-behavior:smooth}.card{display:grid;grid-template-columns:44px 1fr auto;grid-gap:14px;gap:14px;align-items:start;padding:16px 18px;border:1px solid var(--rule-soft);border-radius:14px;background:var(--paper-2);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.card:hover{border-color:var(--rule);transform:translateY(-1px);box-shadow:var(--shadow)}.card[data-selected=true]{border-color:var(--brass);box-shadow:0 0 0 1px rgba(163,116,47,.25)}.card .rank{font-size:.95rem;color:var(--ink-mute);padding-top:2px}.card .name,.card .rank{font-family:var(--serif)}.card .name{font-size:1.06rem;line-height:1.2;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .where{font-size:.82rem;color:var(--ink-mute)}.card .right{text-align:right}.card .price{font-family:var(--serif);font-size:1.05rem}.card .dist{font-size:.76rem;color:var(--sage);white-space:nowrap}.bar{height:3px;background:var(--rule-soft);overflow:hidden;margin-top:10px}.bar,.bar>i{border-radius:999px}.bar>i{display:block;height:100%;background:var(--brass)}.bar-meta{display:flex;justify-content:space-between;font-size:.72rem;margin-top:6px}.bar-meta,.empty{color:var(--ink-mute)}.empty{border:1px dashed var(--rule);border-radius:14px;padding:32px;text-align:center}.detail{padding:56px 0 96px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);grid-gap:56px;gap:56px;align-items:start}.back{font-size:.82rem;color:var(--ink-mute)}.back:hover{color:var(--ink)}.detail h1{font-size:clamp(2.1rem,4.2vw,3.3rem);margin:16px 0 14px}.detail .addr{color:var(--ink-soft);font-size:.98rem}.detail .price-line{display:flex;align-items:baseline;gap:14px;margin:26px 0 8px}.detail .price-line .p{font-family:var(--serif);font-size:2rem;color:var(--brass)}.detail .price-line .sub{font-size:.84rem;color:var(--ink-mute)}.prose{font-family:var(--serif);font-size:1.06rem;line-height:1.62;color:#241f18}.prose p:first-of-type:first-letter{float:left;font-size:3.2em;line-height:.82;padding:6px 10px 0 0;color:var(--brass)}.section-rule{border:0;border-top:1px solid var(--rule);margin:40px 0}.mini-map{height:260px;border-radius:16px;overflow:hidden;margin:26px 0}.mini-map,.panel{border:1px solid var(--rule)}.panel{position:-webkit-sticky;position:sticky;top:88px;border-radius:18px;background:var(--paper-2);padding:24px;box-shadow:var(--shadow)}.panel h3{font-size:1.22rem;margin-bottom:6px}.panel .goal{font-size:.84rem;color:var(--ink-mute);margin-bottom:16px}.panel .amounts{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin:14px 0}.panel .amounts button{border:1px solid var(--rule);background:transparent;border-radius:10px;padding:9px 0;font:inherit;font-size:.82rem;cursor:pointer;color:var(--ink-soft)}.panel .amounts button[data-on=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.panel label{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);margin:12px 0 6px}.panel input,.panel textarea{width:100%;border:1px solid var(--rule);background:var(--paper);border-radius:10px;padding:10px 12px;font:inherit;font-size:.92rem;color:var(--ink);outline:none}.panel input:focus,.panel textarea:focus{border-color:var(--brass)}.panel .btn{width:100%;margin-top:16px}.panel .fine{font-size:.72rem;color:var(--ink-mute);margin-top:12px;line-height:1.5}.panel .msg{font-size:.84rem;margin-top:10px}.panel .msg.ok{color:var(--sage)}.panel .msg.err{color:var(--clay)}.panel .recent{margin-top:16px;border-top:1px solid var(--rule-soft);padding-top:12px}.panel .recent div{display:flex;justify-content:space-between;font-size:.8rem;color:var(--ink-soft);padding:3px 0}.site-footer{border-top:1px solid var(--rule);padding:40px 0 64px;margin-top:40px}.footer-grid{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-mute)}.footer-grid a{text-decoration:underline;text-underline-offset:3px}.doc{padding:64px 0 96px;max-width:760px}.doc h1{font-size:clamp(2.2rem,4vw,3.2rem);margin-bottom:26px}.doc h2{font-size:1.5rem;margin:40px 0 12px}.doc li,.doc p{font-family:var(--serif);font-size:1.05rem;color:#241f18}.doc ol{padding-left:22px}@media (max-width:980px){.atlas-body,.detail-grid,.hero-grid{grid-template-columns:1fr}.map-wrap,.panel{position:static}.list{max-height:none}.hero{padding:52px 0 28px}.stats{grid-template-columns:1fr}}