/* Two local visual alternatives; all narrative and GIS content is unchanged. */
.night{--paper:#0a0f09;--card:#18231b;--ink:#f7f5ef;--muted:#bdc9be;--primary:#ced9df;--accent:#7993a1;--rule:#39483e;color-scheme:dark;background:var(--paper);color:var(--ink)}
.night header{background:#0a0f09f5;border-bottom:1px solid var(--rule);height:var(--head);box-shadow:0 4px 24px #0002}
.night .wordmark{color:var(--ink)}
.night header button{background:transparent;border-color:#66746a;font-size:14px}
.night .cover{border-color:var(--rule)}
.night .cover .image-open:hover{outline:none}
.night .start-button,.night .resource-button{color:var(--ink);background:transparent;border-color:#7993a1;border-radius:3px}
.night .start-button span{display:none}
.night .start-button:hover,.night .resource-button:hover{background:#7993a126;filter:none}
.night .stop-number{color:var(--muted);font-size:14px;letter-spacing:.1em}
.night .stop.active .stop-number{color:var(--ink)}
.night .stop:after{height:1px;background:var(--accent);width:54px;margin-top:18px}
.night .image-open:hover{outline:1px solid var(--accent);outline-offset:4px}
.night .visual,.night #map{background:#192820}
.night .leaflet-tile-pane{filter:saturate(.72) brightness(.74)}
.night .map-tools button{background:#111d18ed;color:var(--ink);border-color:#6c8076;box-shadow:none;font-size:14px;min-height:40px}
.night .basemaps button[aria-pressed=true]{color:#f7f5ef;background:#3e563e;border-color:#7993a1}
.night .map-caption{background:#111d18ed;color:#f7f5ef;border:1px solid #6c807650;font-size:13px}
.night .legend{background:#111d18f5;color:#f7f5ef;border-color:#687b705e;font-size:14px;box-shadow:0 10px 40px #0003}
.night .leaflet-control-zoom{border:1px solid #6c8076!important;box-shadow:none}
.night .leaflet-control-zoom a{background:#111d18ed;color:#f7f5ef;border-color:#6c8076}
.night .leaflet-control-attribution{background:#101c16e8;color:#d5dfd6}
.night .leaflet-control-attribution a{color:#ced9df}
.night .leaflet-control-scale-line{background:#111d18e8;color:#f7f5ef;border-color:#c0ccc2;text-shadow:none}
.night .leaflet-popup-content-wrapper,.night .leaflet-popup-tip{background:#18231b;color:#f7f5ef}
.night .leaflet-container a.leaflet-popup-close-button{color:#f7f5ef}
.night .tour-nav{background:#101b14f5;border-color:#6c807650;border-radius:4px;box-shadow:0 8px 36px #0005;gap:16px;backdrop-filter:blur(12px)}
.night .tour-nav button{background:transparent;color:var(--ink);font-size:14px}
.night .tour-nav #next{background:#3e563e;color:#f7f5ef;border:1px solid #7e9278}
.night dialog{box-shadow:0 20px 100px #0008}
.night #contents-dialog li button:hover{background:#293c2e}
.night .outro{border-top:1px solid var(--rule)}
.night .city-logo{background:white;padding:26px;box-sizing:content-box}

/* Crystal River: a full-width map with individual forest-colored folios. */
.floating{--folio:min(430px,34vw);--gutter:clamp(24px,3.2vw,64px)}
.floating .cover{padding:0;display:grid;grid-template-columns:36% 64%;align-items:center;min-height:calc(100svh - var(--head));background:#101a13}
.floating .cover>figure{grid-column:2;grid-row:1;padding:4vw 3vw 4vw 0;margin:0}
.floating .cover>figure img{height:auto;max-height:none;object-fit:contain}
.floating .cover-copy{position:static;transform:none;grid-column:1;grid-row:1;width:auto;max-width:none;text-align:left;padding:44px 3.2vw;margin:0}
.floating .cover-copy:before{content:'';display:block;width:64px;height:1px;background:#7993a1;margin-bottom:32px}
.floating .cover-copy h1{font-size:clamp(40px,4.35vw,74px);line-height:1.03;margin-bottom:28px;letter-spacing:-.025em}
.floating .cover-copy p{font-size:20px;line-height:1.4;color:#ced9df}
.floating .cover-copy .byline{font-size:16px;line-height:1.6;margin-top:14px;margin-bottom:24px;color:#bdc9be}
.floating .cover .start-button{background:transparent;color:#f7f5ef}
.floating .story{display:grid;grid-template-columns:100%;align-items:start;background:#15241b;isolation:isolate}
.floating .visual{grid-column:1;grid-row:1;width:100%;height:calc(100svh - var(--head));top:var(--head);z-index:1;border:0}
.floating .narrative{grid-column:1;grid-row:1;width:100%;background:none;padding:12svh 0 10svh;z-index:3;pointer-events:none}
.floating .stop{width:var(--folio);min-height:0;margin:0 0 36svh var(--gutter);padding:28px 30px 34px;background:#101d15f7;border:1px solid #7993a165;border-top:2px solid #7993a1;border-radius:6px;box-shadow:0 18px 64px #0006;pointer-events:auto;justify-content:flex-start;backdrop-filter:blur(10px)}
.floating .stop:last-child{margin-bottom:0}
.floating .stop h2{font-size:clamp(34px,2.8vw,46px);line-height:1.02;margin:8px 0 20px}
.floating .stop h3{font-size:32px;line-height:1.1}
.floating .stop p{font-size:16px;line-height:1.65;color:#e0e6df}
.floating .stop figure{margin-bottom:24px}
.floating .stop figure:last-of-type{margin-bottom:8px}
.floating .stop-number{margin-bottom:24px;color:#adc1af}
.floating .stop:after{background:#93a889}
.floating .map-tools{left:auto;right:68px;top:22px}
.floating .leaflet-control-zoom{margin-top:22px!important;margin-right:20px!important}
.floating .map-caption{left:auto;right:20px;bottom:34px;max-width:55%;font-size:13px}
.floating .legend{bottom:90px;right:20px}
.floating .leaflet-control-scale{margin-left:calc(var(--folio) + var(--gutter) + 28px)!important;margin-bottom:36px!important}
.floating .tour-nav{left:var(--gutter);transform:none;bottom:20px;width:var(--folio);max-width:none;z-index:700}
.floating #visual-media{padding:28px 28px 28px calc(var(--folio) + var(--gutter) + 36px);background:#15241b}
.floating .visual.media-mode{background:#15241b}
.floating .outro{padding-top:90px;max-width:1180px}
.floating .outro h2{font-size:52px}

/* Groveland: an inset map at left, a blue-black editorial rail at right. */
.atlas{--paper:#0b171e;--card:#14272f;--ink:#f4f6f4;--muted:#b8c8cb;--primary:#a7deef;--accent:#00a3e0;--rule:#344952;--rail:42%}
.atlas header{background:#0b171ef7;border-color:#344952}
.atlas header:after{content:'';position:absolute;bottom:-1px;left:3vw;width:72px;height:2px;background:linear-gradient(90deg,#00a3e0 70%,#48a23f 70%)}
.atlas .cover{display:grid;grid-template-columns:58% 42%;align-items:center;min-height:calc(100svh - var(--head));padding:44px 3vw;gap:0;background:#0d1c24}
.atlas .cover>figure{margin:0;padding-right:3vw}
.atlas .cover>figure img{max-height:none;height:auto;object-fit:contain}
.atlas .cover-copy{padding:36px 1vw 36px 2vw;margin:0}
.atlas .cover-copy h1{font-size:clamp(40px,4vw,66px);line-height:1.04;letter-spacing:-.035em}
.atlas .cover-copy p{font-size:21px;color:#bcced4}
.atlas .cover .start-button{border-color:#00a3e0;color:#edfaff}
.atlas .story{grid-template-columns:58% 42%;background:#0b171e}
.atlas .visual{grid-column:1;grid-row:1;border:1px solid #39525b;width:calc(100% - 3vw);height:calc(100svh - var(--head) - 48px);margin:24px 0 24px 1.5vw;top:calc(var(--head) + 24px);border-radius:5px;box-shadow:0 15px 50px #0003}
.atlas .narrative{grid-column:2;grid-row:1;background:#101f27}
.atlas .stop{padding:52px clamp(30px,3.6vw,68px) 110px;min-height:calc(100svh - var(--head));border-color:#31444d}
.atlas .stop:nth-child(even){background:#13242c}
.atlas .stop>figure{background:transparent}
.atlas .stop-number{border:0;padding:0;font-size:18px;letter-spacing:.08em;display:flex;align-items:center;gap:18px}
.atlas .stop-number:after{content:'';height:1px;width:60px;background:#00a3e0}
.atlas .stop h3{font-size:clamp(29px,2.6vw,40px);font-weight:600;line-height:1.12}
.atlas .stop p{color:#dfE7e9;font-size:16px;line-height:1.7}
.atlas .stop a{color:#a7deef}
.atlas .stop:after{background:#48a23f;width:30px;height:2px}
.atlas .map-tools button,.atlas .map-caption,.atlas .legend{background:#0b1c24f2}
.atlas .basemaps button[aria-pressed=true]{background:#0079a6;border-color:#00a3e0}
.atlas .map-pin button{background:#132d38;color:#f7f5ef;border-color:#70c9e7}
.atlas .map-pin.active button{background:#0079a6;border-color:#f7f5ef;box-shadow:0 0 0 2px #00a3e0,0 5px 18px #0006}
.atlas .tour-nav{left:79%;width:calc(42% - 7.2vw);max-width:500px;background:#101f27f5;border-color:#536b78}
.atlas .tour-nav #next{background:#0079a6;color:#f7f5ef;border-color:#00a3e0}
.atlas .outro{padding-top:50px}

@media(max-width:1100px) and (min-width:681px){
 .floating{--folio:39vw;--gutter:22px}.floating .stop{padding:24px}.floating .cover{grid-template-columns:42% 58%}.floating .cover-copy h1{font-size:46px}.floating .cover-copy{padding:32px 24px}.floating .cover>figure{padding-right:24px}.floating .map-tools{right:60px}.floating .map-tools button{font-size:13px;padding:7px 10px}
 .atlas .story{grid-template-columns:52% 48%}.atlas .cover{grid-template-columns:52% 48%}.atlas .cover-copy h1{font-size:42px}.atlas .stop{padding:38px 28px 100px}.atlas .tour-nav{left:76%;width:calc(48% - 56px);max-width:none}
}
@media(max-width:680px){
 .night{--map-mobile:34svh}.night header{box-shadow:none}.night .wordmark{font-size:19px}.atlas .wordmark{font-size:15px}
 .night .map-tools button{font-size:13px;min-height:38px}.night .map-caption{font-size:12px}.night .legend{font-size:13px}.night .tour-nav{left:16px;transform:none;bottom:10px;width:calc(100% - 32px);max-width:none;padding:5px;gap:8px}.night .tour-nav button{min-height:44px}
 .floating{--folio:calc(100% - 32px);--gutter:16px}.floating .cover{display:flex;flex-direction:column;min-height:0}.floating .cover>figure{order:1;padding:0 16px 28px;width:100%}.floating .cover-copy{padding:36px 24px 20px}.floating .cover-copy:before{margin-bottom:24px}.floating .cover-copy h1{font-size:46px;max-width:500px}.floating .cover-copy p{font-size:19px}.floating .cover-copy .byline{font-size:16px}
 .floating .story{display:flex;flex-direction:column;background:#14251b}.floating .visual{order:-1;top:var(--head);height:var(--map-mobile);width:100%;z-index:5;overflow:hidden;border-bottom:1px solid #7993a160}.floating .narrative{padding:22px 0 30px;position:relative;z-index:3}.floating .stop{width:var(--folio);margin:0 16px 44px;padding:26px 24px 34px;min-height:calc(66svh - var(--head));scroll-margin-top:calc(var(--head) + var(--map-mobile))}.floating .stop h2{font-size:36px}.floating .stop:last-child{margin-bottom:54px}.floating .map-tools{left:8px;right:auto;top:8px}.floating .leaflet-control-zoom{margin:8px!important}.floating .map-caption{left:8px;right:auto;bottom:24px;max-width:calc(100% - 114px)}.floating .legend{bottom:28px;right:8px}.floating #visual-media{padding:8px}.floating .outro{padding:44px 24px 110px}.floating .outro h2{font-size:38px}
 .atlas .cover{display:flex;flex-direction:column;padding:28px 20px 32px;min-height:0}.atlas .cover>figure{padding:0}.atlas .cover-copy{padding:30px 4px 0}.atlas .cover-copy h1{font-size:42px}.atlas .cover-copy p{font-size:19px}.atlas .story{display:flex;flex-direction:column}.atlas .visual{order:-1;top:var(--head);height:var(--map-mobile);width:100%;margin:0;border-width:0 0 1px;border-radius:0;z-index:5}.atlas .narrative{width:100%;border-left:3px solid #00a3e0}.atlas .stop{padding:28px 24px 90px;min-height:calc(66svh - var(--head))}.atlas .stop h3{font-size:30px}.atlas .stop-number{font-size:16px}
}

.night h1,.night h2,.night h3{text-wrap:balance}

html{color-scheme:dark;scrollbar-color:#5d7466 #111b16}
