.facility-image{position:relative}.facility-image img{aspect-ratio:4/3;object-fit:contain}.facility-hotspot{position:absolute;left:63.5%;top:28.2%;transform:translate(-50%,-50%);z-index:4;border:1px solid #fff;border-radius:50%;background:#153842e8;color:white;width:38px;height:38px;padding:0;font-size:27px;line-height:34px;box-shadow:0 0 0 5px #ffffff70;overflow:visible}.facility-hotspot:hover{background:#08716e;color:white}.hotspot-label{position:absolute;top:45px;left:50%;transform:translateX(-50%);font-size:11px;line-height:1.4;white-space:nowrap;padding:6px 9px;background:#153842;color:#fff;box-shadow:0 1px 6px #0002}.viewer-hotspot{left:0;top:0}.viewer-hotspot[hidden]{display:none}.place-archive{border-top:1px solid #ccd4d0}.place-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:35px 0}.place-list article{min-width:0}.place-cover{border:0;padding:0;width:100%;background:none;display:block;margin-bottom:20px;position:relative}.place-cover::after{content:'Open photo tour ↗';position:absolute;bottom:10px;left:10px;background:#153842ed;color:#fff;padding:7px 10px;font-size:11px}.place-cover img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.place-list h3{margin-bottom:8px}.place-status{color:#8c512e;font-size:12px;margin-bottom:12px}.place-list p:last-child{font-size:14px}.tour-open{overflow:hidden}#archive-dialog{width:min(1440px,96vw);max-width:none;max-height:94dvh;padding:0;border:1px solid #93a9a1;background:#f5f4ee;color:#153842;overflow:auto}#archive-dialog::backdrop{background:#102b32d9;backdrop-filter:blur(4px)}.archive-shell{padding:30px}.archive-header{padding:0 0 20px;display:flex;align-items:start;justify-content:space-between;gap:25px;border:0;border-bottom:1px solid #b8c8c0;letter-spacing:normal}.archive-header .eyebrow{margin-bottom:9px}.archive-header h2{font-size:28px;margin-bottom:0}.archive-header button{white-space:nowrap}.archive-stops{display:flex;gap:9px;flex-wrap:wrap;padding:20px 0 8px}.archive-stops button{font-size:12px;padding:7px 12px}.archive-stops button[aria-pressed=true]{background:#153842;color:white}.archive-place-note{font-size:13px;max-width:1080px;margin:10px 0 24px}.archive-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:30px;align-items:start}.archive-image-wrap{position:relative;min-height:300px;background:#e2e7df;padding:12px;border:1px solid #b8c8c0}.archive-image-wrap img{width:100%;max-height:58dvh;object-fit:contain;display:block}.archive-image-wrap #archive-loading{position:absolute;bottom:10px;left:20px;font-size:12px;background:#f5f4ee;padding:5px 8px}.archive-detail{min-width:0}.archive-detail h3{margin-bottom:12px}.archive-detail>p{font-size:14px}.archive-detail dl{margin:20px 0}.archive-detail dt{font-size:11px}.archive-detail dd{font-size:12px;margin:3px 0 13px;overflow-wrap:anywhere}.archive-detail a{font-size:12px}.archive-nav{display:flex;gap:12px;margin-top:22px}.archive-nav button{font-size:12px}.archive-nav button:disabled{opacity:.4;cursor:default}.archive-thumbs{display:flex;gap:10px;overflow:auto;margin:25px 0 15px;padding:5px}.archive-thumbs button{padding:0;flex:0 0 104px;border:2px solid transparent;position:relative;background:transparent}.archive-thumbs button[aria-pressed=true]{border-color:#08716e}.archive-thumbs img{width:100px;height:75px;object-fit:cover;display:block}.archive-thumbs span{position:absolute;bottom:0;left:0;background:#153842;color:white;font-size:10px;padding:1px 5px}@media(max-width:850px){.place-list{grid-template-columns:1fr;gap:35px}.place-cover{max-width:600px}.archive-main{grid-template-columns:1fr}.archive-image-wrap{min-height:0}.archive-image-wrap img{max-height:48dvh}.archive-shell{padding:18px}.archive-header h2{font-size:22px}.archive-header{gap:12px}.archive-header button{font-size:11px;padding:8px}.archive-stops button{font-size:11px}.archive-detail dl{display:grid;grid-template-columns:120px 1fr;gap:6px 12px}.archive-detail dd{margin:0}.archive-detail .eyebrow{margin-bottom:8px}.facility-hotspot{width:32px;height:32px;font-size:23px;line-height:28px}.hotspot-label{top:38px;font-size:9px}}
