.qjg-map-section{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);background:var(--moss-deep);padding:var(--space-5) 0;margin-top:var(--space-5)}.qjg-map-section-inner{max-width:1280px;margin:0 auto;padding:0 var(--space-2)}.qjg-map-section .eyebrow{color:#cfe0c8}.qjg-map-section h2{color:#fff;margin-top:0}.qjg-map-section .lead{color:#dfe8da}.qjg-map-layout{display:block}.qjg-map-text{margin-bottom:var(--space-3)}.qjg-map-caption{color:#cfe0c8;font-size:.85rem;margin:var(--space-2) 0 0}.qjg-map-browse{margin:var(--space-2) 0 0;font-size:.9rem}.qjg-map-browse a{color:#fff;font-weight:600;text-decoration:underline}.qjg-map-browse a:hover,.qjg-map-browse a:focus-visible{color:#cfe0c8}.qjg-map-count{color:#fff;font-weight:600}@media (min-width: 900px){.qjg-map-layout{display:grid;grid-template-columns:minmax(0,36fr) minmax(0,64fr);gap:var(--space-4);align-items:start}.qjg-map-text{margin-bottom:0}}.qjg-map-frame{background:var(--paper);border-radius:16px;padding:10px;box-shadow:0 18px 40px #00000059}#home-map{position:relative;width:100%;height:480px;border-radius:10px;background:var(--line-soft)}@media (max-width: 480px){#home-map{height:520px}}@media (min-width: 900px){#home-map{height:600px}}.qjg-map-inset-wrap{position:absolute;left:12px;top:12px;z-index:1050;background:var(--surface);border:2px solid var(--surface);border-radius:8px;box-shadow:0 4px 14px #20251f66}.qjg-map-inset-label{display:block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);background:var(--surface);padding:.2rem .4rem;margin:0;border-bottom:1px solid var(--line);border-radius:6px 6px 0 0}#home-map-inset{width:130px;height:110px;position:relative;background:var(--line-soft)}#home-map-inset.maplibregl-map{overflow:visible}.qjg-map-inset-wrap .qjg-map-hint{padding:.3rem .5rem;font-size:.68rem;min-height:0}@media (max-width: 480px){#home-map-inset{width:96px;height:84px}}.qjg-map-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:#20251fd1;color:#fff;border:none;border-radius:99px;padding:.6rem 1.1rem;font-size:.9rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;min-height:44px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.qjg-map-hint:hover{background:#20251ff2}.maplibregl-ctrl-attrib{font-size:10px;background:#ffffffd9!important}.maplibregl-map{font-family:var(--font-sans);background:var(--line-soft)}.qjg-map-pin-hit,.qjg-map-cluster-hit{width:44px;height:44px;display:flex;align-items:flex-end;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit}.qjg-map-pin-hit:focus-visible,.qjg-map-cluster-hit:focus-visible{outline:none}.qjg-map-pin{width:26px;height:26px;background:var(--moss);border:2px solid var(--surface);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 6px #20251f73}.qjg-map-pin.is-photoless{background:var(--ink-faint)}.qjg-map-pin-hit:focus-visible .qjg-map-pin{outline:3px solid #fff;outline-offset:2px}.qjg-map-cluster-hit{align-items:center}.qjg-map-cluster{display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid var(--surface);font-family:var(--font-sans);font-weight:700;color:#fff;box-shadow:0 2px 6px #20251f66}.qjg-map-cluster-sm{width:34px;height:34px;font-size:.8rem;background:var(--moss)}.qjg-map-cluster-md{width:42px;height:42px;font-size:.88rem;background:var(--moss-deep)}.qjg-map-cluster-lg{width:50px;height:50px;font-size:.95rem;background:var(--ink)}.qjg-map-cluster-hit:focus-visible .qjg-map-cluster{outline:3px solid #fff;outline-offset:2px}.maplibregl-popup{z-index:1100}.maplibregl-popup-content{border-radius:12px;padding:0;overflow:hidden;width:220px}.maplibregl-popup-tip{border-top-color:var(--surface);border-bottom-color:var(--surface)}.maplibregl-popup-close-button{width:28px;height:28px;font-size:1.05rem;line-height:1;color:#fff;background:#20251f8c;border-radius:0 12px 0 10px}.maplibregl-popup-close-button:hover{background:#20251fc7}.maplibregl-popup-close-button:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 4px #20251fd9}.qjg-map-popup{display:block;-webkit-tap-highlight-color:transparent}.qjg-map-popup-photo{display:block;width:100%;height:120px;object-fit:cover;background:var(--moss-tint)}.qjg-map-popup-credit{display:block;padding:.2rem .8rem 0;font-size:.68rem;color:var(--ink-faint-aa)}.qjg-map-popup-photo-empty{display:flex;align-items:center;justify-content:center;width:100%;height:120px;background:var(--moss-tint);color:var(--moss)}.qjg-map-popup-body{display:block;padding:.7rem .8rem .8rem}.qjg-map-popup-eyebrow{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--moss);margin-bottom:.25rem}.qjg-map-popup-title{display:block;font-family:var(--font-serif);font-size:.98rem;line-height:1.3;color:var(--ink);margin-bottom:.4rem;text-decoration:none}.qjg-map-popup-link{display:block;font-size:.82rem;font-weight:600;color:var(--moss);text-decoration:none}.qjg-map-popup:hover .qjg-map-popup-link,.qjg-map-popup:focus-visible .qjg-map-popup-link{color:var(--moss-deep);text-decoration:underline}.qjg-map-popup:focus-visible{outline:2px solid var(--moss);outline-offset:2px}.qjg-map-fallback{background:var(--paper);border-radius:10px;padding:var(--space-2) var(--space-3)}.qjg-map-fallback h3{margin-top:0;color:var(--ink)}.qjg-map-fallback-group{margin:0 0 var(--space-2)}.qjg-map-fallback-group h4{font-family:var(--font-sans);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint-aa);margin:0 0 .3rem}.qjg-map-fallback-group h4 a{display:inline;padding:0;border:none;border-radius:0;color:inherit;text-decoration:underline}.qjg-map-fallback-group h4 a:hover,.qjg-map-fallback-group h4 a:focus-visible{color:var(--moss)}.qjg-map-fallback-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.qjg-map-fallback-group a{display:inline-block;padding:.3rem .6rem;border:1px solid var(--line);border-radius:99px;font-size:.85rem;text-decoration:none;color:var(--ink-soft)}@media (prefers-reduced-motion: reduce){.qjg-map-hint{transition:none}}
