.sky-map-section { padding-block: 100px; }
.map-heading { display:flex; justify-content:space-between; align-items:baseline; gap:24px; }
.map-heading h2,.map-heading h1 { font-weight:400; font-size:clamp(32px,4vw,55px); line-height:1.15; letter-spacing:-1.8px; }
.map-heading .text-link { white-space:nowrap; }
.map-intro { color:var(--muted); font-size:15px; line-height:1.8; margin-top:24px; max-width:660px; }
.map-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; margin-top:36px; padding-block:18px; border-top:1px solid var(--line); }
.map-toolbar label { display:flex; align-items:center; gap:16px; font-size:13px; }
.map-toolbar>div { display:flex; gap:10px; }
.sky-map-section button,.sky-map-section select,.sky-map-section input { font:inherit; font-size:13px; border:1px solid #677a8466; border-radius:4px; padding:12px 14px; background:#141f26; color:var(--ink); min-height:44px; }
.sky-map-section select { min-width:175px; }
.sky-map-section button:hover { background:#26343c; }
.sky-map-section button:disabled { opacity:.5; cursor:wait; }
.map-canvas { height:540px; background:#0c151d; isolation:isolate; border:1px solid #677a8444; font-family:Manrope,sans-serif; }
.map-canvas.leaflet-container { background:#0c151d; }
.sky-map-section .map-canvas .leaflet-control-attribution { background:#101a22e8; color:#abbac3; font-size:12px; padding:4px 8px; }
.sky-map-section .map-canvas .leaflet-control-attribution a { color:#d1e4bc; }
.sky-map-section .map-canvas .leaflet-bar { border:1px solid #566874; box-shadow:none; }
.sky-map-section .map-canvas .leaflet-bar a { background:#17252e; color:#edf2ec; border-color:#566874; width:36px; height:36px; line-height:36px; }
.map-canvas .leaflet-tooltip.map-place-label { background:transparent; color:#fff; border:0; box-shadow:none; font:12px Manrope,sans-serif; text-shadow:0 1px 3px #000,0 0 5px #000; }
.map-canvas .map-place-label:before { display:none; }
.map-result-row { display:flex; justify-content:space-between; gap:35px; padding-top:25px; }
.map-reading { min-height:100px; }
.map-reading strong { font-size:28px; font-weight:400; display:block; }
.map-reading>span { display:block; margin-top:9px; font-size:13px; color:var(--muted); }
.map-reading p { margin-top:9px; font-size:13px; line-height:1.7; color:var(--muted); }
.map-legend { width:240px; flex-shrink:0; padding-top:9px; }
.map-color-scale { height:7px; background:linear-gradient(90deg,#284682,#1e5fb9,#1e966e,#96c32d,#e1c828,#e68c1e,#e6501e,#dc2846,#f5f5ff); }
.map-legend>div:last-of-type { display:flex; justify-content:space-between; margin-top:9px; font-size:12px; }
.map-legend p { color:var(--muted); font-size:12px; margin-top:12px; }
.map-status { color:var(--muted); font-size:13px; line-height:1.7; margin-block:16px; }
.map-details { border-top:1px solid var(--line); margin-top:24px; font-size:13px; }
.map-details summary { padding:20px 0; cursor:pointer; }
.map-details form { display:flex; gap:14px; flex-wrap:wrap; align-items:end; margin-bottom:22px; }
.map-details label { display:grid; gap:10px; }
.map-details input { width:175px; }
.map-details p { color:var(--muted); line-height:1.9; max-width:840px; margin-bottom:15px; }
.map-details a { text-decoration:underline; text-underline-offset:4px; }
.map-page .sky-map-section { padding-top:55px; }
.map-page .map-canvas { height:65vh; min-height:440px; }
@media(max-width:700px) {
 .sky-map-section { padding-block:65px; }
 .map-heading { align-items:start; flex-direction:column; gap:20px; }
 .map-toolbar { gap:12px; }
 .map-toolbar label,.map-toolbar>div { width:100%; }
 .map-toolbar select { flex:1; min-width:0; }
 .map-toolbar>div button { flex:1; padding:11px 8px; font-size:12px; }
 .map-canvas { height:420px; }
 .map-result-row { flex-direction:column; gap:12px; }
 .map-legend { width:100%; max-width:300px; }
 .map-details form { display:grid; grid-template-columns:1fr 1fr; }
 .map-details input { width:100%; min-width:0; }
 .map-details form>button { grid-column:1/-1; }
 .map-page .map-canvas { min-height:400px; }
}

.sky-map-section .map-canvas .leaflet-control-scale-line { background:#101a22db; color:#dbe7ed; border-color:#bdccd5; text-shadow:none; font:11px Manrope,sans-serif; }

/* A useful next step after the visitor has explored a location. */
.map-reading .map-next { display:inline-block; margin-top:16px; padding-block:7px; color:var(--sage); font-size:14px; line-height:1.6; border-bottom:1px solid #d1e4bc66; }
.map-reading .map-next:hover { color:#f1f8e7; border-color:currentColor; }
.map-app-bridge { display:grid; grid-template-columns:1fr 1.15fr; gap:64px; align-items:center; border-top:1px solid var(--line); padding-block:76px 94px; }
.map-app-brand { display:flex; align-items:center; gap:12px; font-size:21px; margin-bottom:26px; }
.map-app-brand img { border-radius:8px; }
.map-app-copy h2 { font-size:clamp(34px,3.6vw,49px); line-height:1.16; letter-spacing:-1.8px; }
.map-app-copy>p { max-width:420px; margin-top:24px; color:var(--muted); font-size:15px; line-height:1.85; }
.map-app-download { margin-top:30px; font-size:14px; padding:16px 24px; }
.map-app-preview { min-width:0; margin:0; }
.map-app-preview>a { display:block; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.map-app-preview img { width:100%; height:auto; }
.map-app-preview figcaption { color:var(--muted); font-size:12px; line-height:1.7; margin-top:14px; }
@media(max-width:900px) {
 .map-app-bridge { gap:35px; grid-template-columns:1fr 1fr; }
 .map-app-copy h2 { font-size:36px; }
}
@media(max-width:700px) {
 .map-app-bridge { grid-template-columns:1fr; gap:36px; padding-block:44px 65px; }
 .map-app-copy h2 { font-size:clamp(31px,8.5vw,43px); letter-spacing:-1.4px; }
 .map-app-copy>p { font-size:14px; max-width:460px; }
 .map-app-brand { margin-bottom:22px; }
 .map-app-download { margin-top:24px; }
}
