.map-page-intro{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:24px 0}.map-page-intro h1{font:400 44px/1.1 Georgia,serif;letter-spacing:-1.1px;margin:10px 0}.map-page-intro p{font-size:13px;color:var(--muted);line-height:1.7;max-width:570px;margin:0}.map-progress-pill{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);padding:15px 20px;border-radius:14px;flex:none}.map-progress-pill strong{font:400 29px Georgia,serif;color:var(--pine)}.map-progress-pill span{font-size:10px;color:var(--muted);line-height:1.6}.map-shell{display:grid;grid-template-columns:285px minmax(0,1fr);border:1px solid #dbe2d1;border-radius:22px;overflow:hidden;background:#f1f3e8;min-height:555px;box-shadow:var(--shadow)}.map-sidebar{background:var(--white);border-right:1px solid var(--line);padding:27px 21px;display:flex;flex-direction:column;gap:13px}.map-sidebar h2{font:400 27px Georgia,serif;margin:6px 0 3px}.map-sidebar>p{font-size:12px;color:var(--muted);line-height:1.7;margin-bottom:7px}.sector-choice{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--white);padding:15px;text-align:left;color:var(--ink);display:flex;gap:12px;align-items:center;min-height:84px;width:100%}.sector-choice.active{border:1.5px solid var(--pine);background:#f1f4e7}.sector-choice .sector-lock{height:37px;width:37px;border-radius:11px;background:var(--soft);display:grid;place-items:center;flex:none}.sector-choice b{font-size:13px;display:block;margin-bottom:6px}.sector-choice small{font-size:10px;color:var(--muted)}.sector-choice .icon.arrow{height:16px;width:16px;margin-left:auto}.sector-key{width:7px;height:7px;display:inline-block;border-radius:100%;margin-right:5px}.map-help{border-top:1px solid var(--line);padding-top:18px;margin-top:auto}.map-help p{font-size:11px;line-height:1.7;color:var(--muted);margin:7px 0 12px}.map-help h3{font-size:12px;margin:0;display:flex;gap:8px;align-items:center}.map-help .button{width:100%;font-size:11px}.map-canvas{height:100%;min-height:555px;position:relative;overflow:hidden;background:#eef2e5}.pasco-map-svg{width:100%;height:100%;min-height:555px;display:block}.sector-polygon{stroke:#fffefa;stroke-width:3;stroke-linejoin:round;opacity:.68;cursor:pointer;vector-effect:non-scaling-stroke;transition:opacity .2s}.sector-polygon:hover,.sector-polygon:focus{opacity:.95;stroke:var(--pine);outline:none}.sector-polygon.unlocked{opacity:.7;fill:#6ba7f4;stroke:#1764c6}.sector-polygon.dimmed{opacity:.12;pointer-events:none}.sector-map-label{color:var(--pine);cursor:pointer;filter:url(#label-shadow)}.sector-map-label rect{fill:#fffef6;stroke:#cbd5be;stroke-width:1}.sector-map-label text{font-size:14px;font-weight:700;fill:var(--pine);font-family:Arial,Helvetica,sans-serif}.sector-map-label .map-label-small{font-size:9px;font-weight:400;fill:#6c796b}.sector-map-label:focus rect{stroke:var(--pine);stroke-width:3}.label-leader{fill:none;stroke:#6a7f6b;stroke-dasharray:3 3;stroke-width:1.5}.map-location-pill{position:absolute;top:19px;left:18px;border:1px solid #d0d7c3;background:#fffdf3e8;border-radius:30px;padding:10px 13px;font-size:10px;color:var(--pine);display:flex;align-items:center;gap:8px}.map-live-dot{height:6px;width:6px;border-radius:100%;background:#5e7954}.map-region-inset{position:absolute;right:15px;top:15px;width:125px;padding:12px 8px 8px;border:1px solid #d3dac8;border-radius:13px;background:#fafff2cf;text-align:center}.map-region-inset>span{font-size:8px;letter-spacing:1.4px;font-weight:700;color:var(--pine)}.map-region-inset svg{height:76px;width:110px;max-width:100%;margin:5px auto}.map-region-inset small{font-size:8px;color:var(--muted)}.map-north{position:absolute;top:155px;right:60px;display:flex;flex-direction:column;align-items:center;color:#5a735c;font-size:9px}.map-north span{font-size:27px;line-height:1.2}.map-controls{position:absolute;bottom:70px;right:17px;display:flex;flex-direction:column;border:1px solid #d3dac8;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px #23422a0c}.map-controls button{width:39px;min-height:40px;border:0;border-bottom:1px solid var(--line);color:var(--pine);background:var(--white);font-size:20px}.map-controls button:last-child{border:0;font-size:24px}.map-legend{position:absolute;bottom:34px;left:19px;display:flex;gap:15px;align-items:center;font-size:9px;background:#fffef1d9;border:1px solid #d9dfc9;border-radius:8px;padding:10px}.map-legend span{display:flex;align-items:center;gap:5px}.map-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.legend-lock{background:#9f9e84}.legend-open{background:#1764c6}.map-attribution{position:absolute;bottom:9px;left:19px;right:12px;font-size:8px;color:#7f8e76;line-height:1.4;margin:0}.attraction-map-pin{cursor:pointer;color:#395b43;filter:url(#label-shadow)}.attraction-map-pin circle{fill:#fffef4;stroke:#83977b;stroke-width:1.5}.attraction-map-pin.open{color:#fff}.attraction-map-pin.open circle{fill:#1764c6;stroke:#fff}.attraction-map-pin:focus circle,.attraction-map-pin:hover circle{stroke:#ad6940;stroke-width:3}.map-connection{fill:none;stroke:#bf794e;stroke-width:3;stroke-dasharray:6 7;vector-effect:non-scaling-stroke}.locked-card .card-image{position:relative}.locked-card .card-image>img{filter:saturate(.45);opacity:.85}.locked-overlay{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(transparent,#173f3515)}.locked-overlay>span{display:grid;place-items:center;width:51px;height:51px;border-radius:50%;background:#fffef1e8;color:var(--pine);border:1px solid #ffffff80;box-shadow:0 3px 18px #12352212}.lock-chip{font-size:10px;color:#65735f;display:flex;gap:6px;align-items:center}.lock-chip .icon{width:14px;height:14px}.unlock-header{border:1px solid #cbd7a9;background:#edf1df;border-radius:13px;padding:16px;display:flex;gap:12px;align-items:center;margin:20px 0}.unlock-header>.icon{height:28px;width:28px;color:var(--pine)}.unlock-header strong{display:block;font-size:13px;margin-bottom:4px}.unlock-header span{font-size:11px;color:var(--muted)}.history-timeline{list-style:none;position:relative;padding:0;margin:23px 0}.history-timeline:before{content:'';position:absolute;left:7px;top:10px;bottom:20px;width:1px;background:#d5ddc6}.history-event{position:relative;padding:0 0 28px 30px}.history-event:before{content:'';width:13px;height:13px;border:3px solid var(--white);box-shadow:0 0 0 1px var(--pine);background:var(--pine);border-radius:50%;position:absolute;left:1px;top:3px}.history-event time{display:block;font-size:10px;font-weight:700;color:var(--orange);letter-spacing:.4px;margin-bottom:9px}.history-event h4{font:400 22px Georgia,serif;margin:0 0 10px}.history-event p{font-size:12px;line-height:1.8}.history-event-image{width:100%;border-radius:11px;max-height:280px;object-fit:cover;margin-top:15px;cursor:zoom-in}.history-photo-pending{min-height:130px;background:#efeee4;border:1px dashed #c7cab9;border-radius:11px;padding:25px;text-align:center;color:#8b927d;font-size:11px;display:grid;place-items:center;gap:9px}.history-event figcaption{font-size:10px;color:var(--muted);line-height:1.6;margin-top:9px}.history-event figure{margin:14px 0 0}.next-stop{background:#ecf1e0;border:1px solid #d3ddbe;border-radius:15px;padding:20px;margin-top:25px}.next-stop h3{font:400 24px Georgia,serif;margin:8px 0 12px}.next-stop p{font-size:12px}.next-stop .detail-actions{margin-bottom:0}.map-view-all{min-height:44px;font-size:12px;background:transparent;border:0;color:var(--pine);padding:0;font-weight:600;display:flex;gap:7px;align-items:center}.nfc-demo-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.nfc-demo-picker select{border:1px solid var(--line);padding:12px;border-radius:9px;background:white;flex:1;min-width:0;font-size:12px}.photo-viewer-image{max-height:65dvh;width:100%;object-fit:contain;background:#edece4}.section-header .sector-title{display:flex;align-items:center;gap:12px}.sector-title>i{width:10px;height:10px;display:inline-block;border-radius:50%}
@media(max-width:1000px){.map-shell{grid-template-columns:250px minmax(0,1fr);min-height:500px}.map-sidebar{padding:23px 16px}.map-canvas,.pasco-map-svg{min-height:500px}.map-page-intro h1{font-size:38px}.map-region-inset{width:104px}.map-region-inset svg{height:58px}.map-north{right:47px;top:132px}.sector-choice{padding:12px;gap:10px}.sector-choice b{font-size:12px}}
@media(max-width:700px){.map-page-intro{margin:16px 3px 20px;align-items:flex-start;gap:12px}.map-page-intro h1{font-size:34px;letter-spacing:-1px;max-width:265px}.map-page-intro p{font-size:12px;max-width:290px}.map-progress-pill{padding:10px 11px;gap:5px;flex-direction:column;margin-top:5px}.map-progress-pill strong{font-size:24px}.map-progress-pill span{font-size:8px;text-align:center}.map-shell{display:flex;flex-direction:column;border-radius:17px;min-height:0}.map-sidebar{order:2;border-right:0;border-top:1px solid var(--line);padding:20px 16px;display:grid;grid-template-columns:1fr;gap:10px}.map-sidebar h2{font-size:25px;margin-top:0}.map-sidebar>p{font-size:11px;margin:0 0 5px}.sector-choice{min-height:71px;padding:12px}.sector-choice b{font-size:13px}.sector-choice small{font-size:11px}.map-help{margin-top:9px;padding-top:17px}.map-help .button{font-size:12px;width:auto}.map-canvas{height:395px;min-height:395px}.pasco-map-svg{min-height:395px;height:395px}.map-location-pill{top:13px;left:12px;padding:8px 9px;font-size:9px}.map-region-inset{top:12px;right:10px;padding:8px 5px;width:82px}.map-region-inset>span{font-size:6px;letter-spacing:.8px}.map-region-inset svg{height:47px;width:70px;margin:3px auto}.map-region-inset small{font-size:6px}.map-north{top:110px;right:41px;font-size:8px}.map-controls{right:12px;bottom:66px}.map-controls button{min-height:36px;width:35px}.map-legend{bottom:30px;left:10px;padding:8px;gap:10px;font-size:7px}.map-attribution{bottom:8px;left:11px;font-size:6px}.map-page-intro .section-kicker{font-size:8px}.sector-title{font-size:27px!important}.history-event{padding-left:27px}.history-event h4{font-size:21px}.history-event p{font-size:12px}.history-photo-pending{min-height:115px}.nfc-demo-picker{gap:10px}.nfc-demo-picker .button{width:100%}.next-stop{padding:18px}.next-stop h3{font-size:23px}}
