/* v0.4.27 — Zoo map page + in-page zoom viewer. */
.z4-map-page-v0427{padding-bottom:18px}
.z4-map-page-v0427 .z4-eyebrow{display:block;color:#648d40;font-size:10px;font-weight:800;letter-spacing:.17em}
.z4-map-page-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.55fr);gap:46px;align-items:center;padding:44px 0 28px}
.z4-map-page-hero h1{margin:8px 0 14px;color:var(--z4-forest);font-size:clamp(50px,6vw,76px);line-height:.95;letter-spacing:-.055em}
.z4-map-page-hero>div>p{max-width:700px;margin:0;color:#5d7168;font-size:15px;line-height:1.58}
.z4-map-page-hero .z4-actions{margin-top:22px}
.z4-map-page-note{display:grid;grid-template-columns:45px minmax(0,1fr);gap:13px;padding:18px;border:1px solid #dce6d7;border-radius:20px;background:#f4f7ed}
.z4-map-page-note-icon{display:flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:50%;background:#fff;color:#56823b}
.z4-map-page-note-icon .z4-icon{width:22px;height:22px}
.z4-map-page-note small{display:block;color:#6e8e54;font-size:8.5px;font-weight:800;letter-spacing:.12em}
.z4-map-page-note strong{display:block;margin-top:4px;color:#30483d;font-size:15px;line-height:1.25}
.z4-map-page-note p{margin:6px 0 0;color:#6b7d74;font-size:10.5px;line-height:1.4}
.z4-map-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.z4-map-page-figure{margin:0;padding:16px;border:1px solid #dce6d7;border-radius:24px;background:#fff}
.z4-map-page-figure>.z4-map-page-preview{display:block;overflow:hidden;border-radius:16px;background:#eef3e9}
.z4-map-page-image{display:block;width:100%;height:auto}
.z4-map-page-figure figcaption{padding:11px 3px 0;color:#74847c;font-size:10.5px;line-height:1.4}
.z4-map-page-side{position:sticky;top:24px;padding:21px;border:1px solid #dce6d7;border-radius:21px;background:#f7f8f1}
.z4-map-page-side h2{margin:6px 0 16px;color:var(--z4-forest);font-size:26px;line-height:1.02;letter-spacing:-.035em}
.z4-map-page-side nav{display:grid;gap:8px}
.z4-map-page-side nav>a{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;gap:9px;align-items:center;min-height:74px;padding:10px;border:1px solid #dce6d7;border-radius:15px;background:#fff;color:#30483d;text-decoration:none}
.z4-map-page-side nav>a:hover{border-color:#c9d8c3;box-shadow:0 7px 20px rgba(23,65,46,.05)}
.z4-map-page-side nav>a>span:first-child{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#edf4e8;color:#5c873f}
.z4-map-page-side nav>a>span:first-child .z4-icon{width:17px;height:17px}
.z4-map-page-side nav>a>span:nth-child(2){min-width:0}
.z4-map-page-side nav strong{display:block;color:#30483d;font-size:11.5px;line-height:1.25}
.z4-map-page-side nav small{display:block;margin-top:3px;color:#78877f;font-size:8.5px;line-height:1.3}
.z4-map-page-side nav>a>.z4-icon{width:17px;height:17px;color:#4d7938}
.z4-map-page-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:42px;padding:27px 30px;border-radius:23px;background:#174b35;color:#fff}
.z4-map-page-bottom .z4-eyebrow{color:#c7ddb8}
.z4-map-page-bottom h2{margin:6px 0 7px;color:#fff;font-size:29px;line-height:1;letter-spacing:-.035em}
.z4-map-page-bottom p{margin:0;color:#dbe8dc;font-size:11.5px}
.z4-map-page-bottom .z4-btn{flex:none}
@media(max-width:1099px){.z4-map-page-hero{grid-template-columns:minmax(0,1fr) 310px;gap:28px}.z4-map-page-layout{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:700px){
  .z4-map-page-v0427 .z4-eyebrow{font-size:8.5px}
  .z4-map-page-hero{grid-template-columns:1fr;gap:15px;padding:24px 0 18px}
  .z4-map-page-hero h1{margin:6px 0 10px;font-size:40px;line-height:.97}
  .z4-map-page-hero>div>p{font-size:12.5px;line-height:1.5}
  .z4-map-page-hero .z4-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:17px}
  .z4-map-page-hero .z4-actions .z4-btn,.z4-map-page-hero .z4-actions .z4-text-link{justify-content:center}
  .z4-map-page-note{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:14px;border-radius:16px}
  .z4-map-page-note-icon{width:38px;height:38px}
  .z4-map-page-note-icon .z4-icon{width:18px;height:18px}
  .z4-map-page-note strong{font-size:13px}.z4-map-page-note p{font-size:9.5px}
  .z4-map-page-layout{grid-template-columns:1fr;gap:14px}
  .z4-map-page-figure{padding:8px;border-radius:17px}
  .z4-map-page-figure>.z4-map-page-preview{border-radius:12px}
  .z4-map-page-figure figcaption{padding:9px 3px 2px;font-size:9px}
  .z4-map-page-side{position:static;padding:15px;border-radius:17px}
  .z4-map-page-side h2{font-size:23px}
  .z4-map-page-side nav{gap:7px}
  .z4-map-page-side nav>a{min-height:66px;border-radius:13px}
  .z4-map-page-bottom{align-items:flex-start;flex-direction:column;gap:15px;margin-top:30px;padding:21px 17px;border-radius:18px}
  .z4-map-page-bottom h2{font-size:25px}
  .z4-map-page-bottom p{font-size:10.5px}
  .z4-map-page-bottom .z4-btn{width:100%;justify-content:center}
}

/* v0.4.27 — map viewer. */
.z4-map-open-button{appearance:none;border:0;font:inherit;cursor:pointer}
.z4-map-page-preview{display:block;width:100%;padding:0;overflow:hidden;border:0;border-radius:16px;background:#eef3e9;cursor:zoom-in}
.z4-map-page-preview:focus-visible,.z4-map-open-button:focus-visible{outline:3px solid #e95500;outline-offset:3px}
body.z4-map-viewer-open{overflow:hidden}

.z4-map-viewer{position:fixed;inset:0;z-index:2147483000;padding:12px}
.z4-map-viewer[hidden]{display:none}
.z4-map-viewer__backdrop{position:absolute;inset:0;background:rgba(7,25,17,.86);backdrop-filter:blur(4px)}
.z4-map-viewer__dialog{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1500px,100%);height:100%;margin:0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:#0f2d21;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.z4-map-viewer__header{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:18px;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.13);background:#174b35;color:#fff}
.z4-map-viewer__title span{display:block;color:#c7ddb8;font-size:8px;font-weight:800;letter-spacing:.15em}
.z4-map-viewer__title h2{margin:2px 0 0;color:#fff;font-size:20px;line-height:1.05}
.z4-map-viewer__zoom{display:flex;align-items:center;gap:8px}
.z4-map-viewer__zoom button,.z4-map-viewer__close{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid rgba(255,255,255,.24);border-radius:11px;background:rgba(255,255,255,.09);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.z4-map-viewer__zoom button:hover,.z4-map-viewer__close:hover{background:rgba(255,255,255,.16)}
.z4-map-viewer__zoom input{width:180px;accent-color:#e95500;cursor:pointer}
.z4-map-viewer__zoom output{min-width:48px;color:#dbe8dc;font-size:12px;text-align:center}
.z4-map-viewer__zoom .z4-map-viewer__reset{min-width:auto;padding:0 13px;font-size:11px}
.z4-map-viewer__close{font-size:25px;font-weight:400;line-height:1}
.z4-map-viewer__viewport{position:relative;min-height:0;overflow:hidden;background:#e9efe4;touch-action:none;user-select:none;cursor:grab;overscroll-behavior:contain}
.z4-map-viewer__viewport.is-dragging{cursor:grabbing}
.z4-map-viewer__viewport img{position:absolute;left:0;top:0;display:block;max-width:none;width:1132px;height:1600px;transform-origin:0 0;will-change:transform;pointer-events:none;user-select:none;-webkit-user-drag:none}
.z4-map-viewer__help{display:flex;align-items:center;justify-content:center;min-height:34px;padding:6px 14px;background:#174b35;color:#dbe8dc;font-size:10px;text-align:center}
.z4-map-viewer__help-mobile{display:none}

@media(max-width:700px){
  .z4-map-page-preview{border-radius:12px}
  .z4-map-viewer{padding:0}
  .z4-map-viewer__dialog{border:0;border-radius:0}
  .z4-map-viewer__header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:9px 10px}
  .z4-map-viewer__title h2{font-size:16px}
  .z4-map-viewer__zoom{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:38px minmax(0,1fr) 42px 38px 88px;gap:6px}
  .z4-map-viewer__zoom button,.z4-map-viewer__close{height:36px;min-width:36px;border-radius:10px}
  .z4-map-viewer__zoom input{width:100%;min-width:0}
  .z4-map-viewer__zoom output{min-width:0;font-size:11px}
  .z4-map-viewer__zoom .z4-map-viewer__reset{padding:0 8px;font-size:10px}
  .z4-map-viewer__close{grid-column:2;grid-row:1}
  .z4-map-viewer__help{min-height:31px;font-size:9px}
  .z4-map-viewer__help-desktop{display:none}
  .z4-map-viewer__help-mobile{display:inline}
}
