.location-canvas { position:relative; background:#eeefe9; overflow:hidden; }
.location-canvas .maplibregl-canvas { outline-offset:-4px; }
.location-canvas .maplibregl-ctrl-attrib { font:10px/1.7 sans-serif; background:#fffffff0; }
.location-canvas .maplibregl-ctrl-attrib a { color:#345669; }
.location-canvas .maplibregl-ctrl-scale { font:10px/1.5 sans-serif; background:#ffffffe6; border-color:#5c7282; }
.location-canvas .maplibregl-ctrl-group { border-radius:20px; overflow:hidden; box-shadow:0 2px 10px #304a5d18; }
.location-canvas .maplibregl-ctrl-group button { width:40px; height:40px; }
.place-pin { display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid #fff; background:#fffdf6; color:#36546a; min-width:36px; height:36px; padding:0 9px 0 5px; border-radius:22px; box-shadow:0 3px 12px #1a40542b; cursor:pointer; font:500 11px/1.3 sans-serif; }
.place-pin::after { content:""; position:absolute; top:calc(100% - 1px); left:50%; border:5px solid transparent; border-top:7px solid #fffdf6; transform:translateX(-50%); }
.place-pin-number { width:25px; height:25px; flex:none; display:grid; place-items:center; border-radius:50%; background:#dde9d0; color:#3f5c43; font-size:11px; }
.place-pin[aria-pressed=true],.place-pin:hover { background:#8e4f39; color:#fff; z-index:3; }
.place-pin[aria-pressed=true]::after,.place-pin:hover::after { border-top-color:#8e4f39; }
.place-pin-name { white-space:nowrap; }
.place-pin[hidden] { display:none; }
.place-cluster { min-width:48px; height:48px; border:3px double #a3b8a4; border-radius:50%; background:#f9fff0; color:#395946; font:11px sans-serif; cursor:pointer; box-shadow:0 2px 10px #31544426; }
.place-cluster:hover,.place-cluster:focus-visible { background:#e0edcc; }
.location-canvas:not(.is-close) .place-pin-name { display:none; }
.location-canvas:not(.is-close) .place-pin { padding:4px; }
.place-map-status { position:absolute; z-index:3; left:16px; bottom:30px; max-width:70%; font-size:11px; padding:6px 10px; background:#fffdf4ed; pointer-events:none; }
.place-map-status:empty { display:none; }
.location-section { margin:64px 0 80px; padding-top:30px; border-top:1px solid #d7dedb; }
.location-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:25px; }
.location-section-heading h2 { font-family:"Yu Mincho",serif; font-size:clamp(23px,2.4vw,32px); font-weight:500; }
.location-section-heading a { font-size:12px; border-bottom:1px solid #9eafb4; padding:7px 0; }
.record-location-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(230px,1fr); background:#f4f5ee; }
.record-location-map-wrap { position:relative; }
.record-location-map { height:425px; width:100%; }
.record-location-info { padding:30px; font-size:13px; line-height:1.9; color:#3b5362; }
.record-location-info h3 { font-size:20px; font-weight:500; margin:6px 0 14px; }
.place-kind { font-size:10px; letter-spacing:.13em; color:#8e5a45; }
.record-location-note { font-size:12px; margin:14px 0; color:#526a76; }
.location-actions { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.location-actions a,.location-actions button { display:inline-flex; align-items:center; padding:10px 13px; min-height:44px; font-size:11px; border:1px solid #92a4aa66; background:#fffdf5; color:#345367; text-decoration:none; }
.location-actions [aria-pressed=true] { background:#36546a; color:white; }
.location-source { font-size:10px; color:#697b7f; }
.location-source a { text-decoration:underline; }
.atlas-experience .atlas-local-scene { position:absolute; inset:20px 34% 105px 5%; opacity:0; visibility:hidden; pointer-events:none; z-index:2; transition:opacity .65s ease,visibility .65s; mask-image:none!important; border-radius:3px; }
.atlas-experience.is-local { min-height:800px; }
.atlas-experience.is-local .atlas-info { top:0; bottom:85px; transform:none; padding:0; overflow-y:auto; overflow-x:hidden; scrollbar-width:thin; scrollbar-color:#adbcb8 transparent; }
.atlas-experience.is-local .atlas-bottom { z-index:3; }
.atlas-controls #atlas-fit-local { font-size:10px; border-radius:24px; padding:0 15px; }
.atlas-controls [hidden] { display:none; }
.atlas-experience.is-local #atlas-scene { opacity:0; visibility:hidden; pointer-events:none; transition:opacity .65s ease,visibility .65s; }
.atlas-experience.is-local .atlas-local-scene { opacity:1; visibility:visible; pointer-events:auto; }
.atlas-experience.is-local .atlas-readout { display:none; }
.atlas-experience.is-local .atlas-info { z-index:3; }
.atlas-local-status { position:absolute; top:32px; left:6%; padding:8px 12px; background:#fffdf4e8; font-size:11px; z-index:4; pointer-events:none; }
.atlas-local-status:empty { display:none; }
.local-record-list { display:grid; gap:4px; margin:20px 0; }
.local-record-item { width:100%; display:flex; gap:12px; align-items:center; background:transparent; border:0; border-bottom:1px solid #b4c0bd55; min-height:53px; padding:5px 0; text-align:left; color:#354f61; }
.local-record-item:hover,.local-record-item:focus-visible { background:#ffffffb3; }
.local-record-item img { width:53px; height:43px; object-fit:contain; }
.local-record-item span { flex:1; font-size:12px; }
.local-record-item small { display:block; font-size:9px; margin-top:4px; color:#6e7f86; }
.local-record-item b { font-size:11px; font-weight:400; }
.local-record-number { font:10px sans-serif; color:#8e6048; }
.atlas-local-place { font-size:12px; line-height:1.8; margin:11px 0; }
.atlas-local-place strong { display:block; font-weight:500; }
.atlas-local-place p { font-size:10px; color:#677c85; margin-top:5px; }
.atlas-local-place .location-actions { margin:8px 0; gap:6px; }
.atlas-local-place .location-actions a,.atlas-local-place .location-actions button { font-size:10px; min-height:36px; padding:5px 8px; }
.atlas-info.is-record-view .atlas-preview { height:235px; margin:0; }
.atlas-info.is-record-view .atlas-model-caption { margin-bottom:8px; }
.atlas-info.is-record-view .atlas-info-note { margin-top:4px; }
.atlas-list-back { background:none; border:0; border-bottom:1px solid #8299a655; font-size:10px; color:#536d7c; min-height:34px; padding:5px 0; margin-top:12px; }
@media(min-width:761px) and (max-height:820px) {
 .atlas-experience.is-local { min-height:520px; height:calc(100svh - 250px); }
}
@media(max-width:760px) {
 .location-section { margin:45px 0; }
 .location-section-heading { display:block; }.location-section-heading a { display:inline-block; margin-top:12px; }
 .record-location-layout { grid-template-columns:1fr; }.record-location-map { height:335px; }.record-location-info { padding:22px; }
 .atlas-experience .atlas-local-scene { inset:0 0 auto; height:390px; }
 .atlas-experience.is-local { min-height:0; }
 .atlas-experience.is-local .atlas-info { top:auto; bottom:auto; overflow:visible; padding-top:24px; }
 .atlas-experience.is-local .atlas-bottom { margin-top:8px; }
 .place-pin { min-width:40px; height:40px; }.place-pin-number { width:29px; height:29px; }
 .location-canvas .maplibregl-ctrl-group button { width:44px; height:44px; }
 .local-record-list { grid-template-columns:1fr; }.local-record-item { min-height:57px; }
 .atlas-info.is-record-view .atlas-preview { height:290px; }
 .atlas-local-status { max-width:72%; left:12px; font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .atlas-local-scene,.atlas-experience.is-local #atlas-scene { transition:none; } }
