:root{--ink:#251f21;--ink2:#5a5154;--page:#faf6f0;--hair:#e4dcd0;--accent:#8b0000;--green:#2d7868}*{box-sizing:border-box}html,body{margin:0}body{background:var(--page);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.card{max-width:960px;margin:0 auto;padding:24px 16px 48px}h1{font:600 34px/1.15 Georgia,serif;margin:8px 0}h2{font:600 24px/1.2 Georgia,serif;margin:4px 0 12px}h3{font:600 18px Georgia,serif;margin:2px 0 8px}.fact{color:var(--accent);font-weight:600;margin:0}section{margin-top:36px}.label{text-transform:uppercase;letter-spacing:.06em;font-size:12px;color:var(--ink2);margin:0}.callout{border-left:3px solid var(--ink2);background:#fff;padding:10px 14px;margin:16px 0;border-radius:4px}.callout.warning{border-color:#c2410c}.callout div{color:var(--ink2)}.caption{font-size:13px;color:var(--ink2)}.field{display:block;margin:16px 0}.field>span{display:block;margin-bottom:6px}.choices{display:flex;gap:8px;flex-wrap:wrap}.choices button,.btn{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:inherit;cursor:pointer}.choices button.on,.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}input[type=range]{width:100%;min-height:44px;accent-color:var(--accent)}input[type=text]{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--hair);border-radius:8px;font:inherit}.rows{padding-left:0;list-style:none;counter-reset:r;margin:16px 0}.rows li{counter-increment:r;display:flex;flex-direction:column;padding:10px 0 10px 36px;border-bottom:1px solid var(--hair);position:relative}.rows li:before{content:counter(r);position:absolute;left:0;top:10px;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;text-align:center;font-size:13px;line-height:24px}.rows span{color:var(--ink2);font-size:14px}.facts{display:grid;grid-template-columns:minmax(110px,30%) 1fr;gap:0;margin:12px 0}.facts dt,.facts dd{margin:0;padding:10px 0;border-bottom:1px solid var(--hair)}.facts dt{color:var(--ink2);font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.rec{background:#fff;border-radius:8px;padding:16px;border:1px solid var(--hair)}.links{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}.links a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-size:14px}footer{margin-top:36px;color:var(--ink2);font-size:13px}.route-map{position:relative;width:100%;max-width:760px}.route-map img{display:block;width:100%;height:auto;border-radius:12px}.route-map svg{position:absolute;inset:0;width:100%;height:100%}.walk-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}@media(max-width:600px){h1{font-size:28px}.facts{grid-template-columns:1fr 1fr}}.pin{cursor:pointer;-webkit-tap-highlight-color:transparent}.pin:focus{outline:none}.pin:focus circle:nth-child(3){stroke:#c2410c;stroke-width:5}.modal-bg{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.modal{position:relative;background:#fff;border-radius:16px;max-width:460px;width:100%;max-height:85vh;overflow:auto;padding:22px 20px 18px;box-shadow:0 10px 40px #0000004d}.modal h3{margin:2px 0;font-size:24px}.modal-n{font-size:13px;font-weight:700;color:#2d7868}.modal-a{color:#555;margin-bottom:10px}.modal-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:30px;line-height:1;cursor:pointer;padding:6px 10px}.modal-l{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 0}.modal-l a{color:#2d7868;font-weight:600}.modal-c{width:100%;padding:12px;border-radius:10px;border:0;background:#251f21;color:#fff;font-size:16px;cursor:pointer}.route-map.picking{cursor:crosshair;outline:3px solid #1d4ed8;border-radius:12px}.field select{min-height:44px;border-radius:10px;border:1px solid #251f21;padding:0 12px;font:inherit;background:#fff;max-width:100%}.choices button[aria-pressed=true]{background:#e0a100;border-color:#e0a100;color:#251f21}@media(max-width:600px){.facts{grid-template-columns:1fr}.facts dt{padding:10px 0 0;border-bottom:0;font-size:13px}.facts dd{padding:2px 0 10px}}.modal .facts{grid-template-columns:1fr}.modal .facts dt{padding:10px 0 0;border-bottom:0;font-size:13px}.modal .facts dd{padding:2px 0 10px;line-height:1.45}.modal{max-height:88vh;max-height:88dvh;-webkit-overflow-scrolling:touch}.modal-c{position:sticky;bottom:-18px;box-shadow:0 -8px 12px #fff;min-height:48px}.modal-x{position:sticky;float:right;top:0;margin:-14px -10px 0 0;background:#fff;border-radius:999px;z-index:2}.choices button.aside{border-style:dashed;color:var(--ink2)}.overview svg{width:100%;height:auto;display:block}.overview .lg{display:inline-flex;align-items:center;gap:4px;margin-right:12px}.overview .lg i{width:10px;height:10px;border-radius:50%;display:inline-block}.btn:disabled{opacity:.45;cursor:not-allowed}.overview .lgs{display:block;margin-bottom:4px}.tabs{display:flex;gap:8px;margin:18px 0 6px;position:sticky;top:0;z-index:5;background:var(--page);padding:8px 0}.tabs button{flex:1;min-height:48px;border-radius:12px;border:2px solid #251f21;background:#fff;font:inherit;font-weight:700;font-size:1.05em;cursor:pointer}.tabs button.on{background:#251f21;color:#fff}details.more{margin-top:14px}details.more summary{cursor:pointer;font-weight:600;min-height:44px}.zbar{display:flex;gap:8px;margin:8px 0}.rzoom{max-width:960px;max-height:75vh;overflow:auto;border-radius:12px;border:1px solid #d9d2c6;-webkit-overflow-scrolling:touch}.rzoom .route-map img{border-radius:0}.zbar{scroll-margin-top:72px}
