  /* === Map Base === */
  body { 
    margin: 0; 
    background: #bcd3df; /* 🟦 soft blue ocean tone */
  }

  svg { 
    width: 100vw; 
    height: 40vh; 
    display: block; 
  }

  path {
    fill: #fbf8f3; /* 🏝️ cream landmass */
    stroke: #e2dccc;
    stroke-width: 0.5;
    cursor: pointer;
    transition: fill 0.25s ease, stroke 0.25s ease;
  }

  path:hover {
    fill: #d9c9a3; /* 🟤 parchment hover */
    stroke: #c4b58b;
  }

  /* === Tooltip === */
  #wm-tooltip {
    position: absolute;
    background: #fffdf3;
    border: 1.2px solid #3b6b3b;
    padding: 8px 12px;
    border-radius: 6px;
    font: 13px/1.4 Georgia, serif;
    color: #204c20;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.25s ease, transform 0.25s ease;
    transform: translateY(-4px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
  }

  /* === Reset View Button === */
  #reset-view {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 6px 12px;
    background: #fbf8f3;
    border: 1px solid #a67c00;
    border-radius: 6px;
    font: 14px Georgia, serif;
    color: #1a5e1a;
    cursor: pointer;
    z-index: 1000;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
    transition: all 0.2s ease;
  }
  #reset-view:hover {
    background: #f5eedd;
    border-color: #1a5e1a;
    color: #204c20;
  }

  /* === Observation Points (Palms) === */
  circle.obs {
    fill: #a67c00;  /* 🟡 gold for points */
    stroke: none;
    opacity: 0.9;
    transition: r 0.2s ease, opacity 0.2s ease;
  }

  /* === Popup Shell === */
  .wm-popup {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.55);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
  }

  /* === Popup Frame === */
  .wm-popup-inner {
    position: relative;
    width: 80%;
    max-width: 1100px;
    height: 80vh;
    background: #fbf8f3;
    border-radius: 14px;
    box-shadow: 0 0 20px rgba(0,0,0,0.3);
    overflow: hidden;
    border: 2px solid #1a5e1a;
  }

  /* === Embedded Palm Page === */
  .wm-popup-inner iframe {
    width: 100%;
    height: 100%;
    border: none;
    border-radius: inherit;
    display: block;
  }

  /* === Close Button === */
  .wm-popup-close {
    position: absolute;
    top: 8px;
    right: 12px;
    background: none;
    border: none;
    color: #1a5e1a;
    font-size: 26px;
    cursor: pointer;
    line-height: 1;
    transition: color .2s;
  }
  .wm-popup-close:hover { color: #a67c00; }
  
  /* === Vault Footer — Parchment Edition === */
.vault-footer.parchment {
  background: #d9c9a3;              /* rich parchment tone */
  color: #1a1a1a;                   /* dark ink text */
  border-top: 2px solid #b89b5a;    /* warm gold line */
  padding: 40px 20px;
  text-align: center;
  font-family: Georgia, serif;
}

.vault-footer.parchment a {
  color: #204c20;                   /* deep botanical green links */
  text-decoration: none;
  transition: color 0.2s ease;
}

.vault-footer.parchment a:hover {
  color: #a67c00;                   /* gold hover highlight */
}

.vault-footer.parchment .vault-gold-line {
  border-top: 2px solid #a67c00;
  margin: 20px auto;
  width: 80px;
}

.vault-footer.parchment .vault-copyright,
.vault-footer.parchment .vault-note {
  font-size: 13px;
  color: #3a3429;
  opacity: 0.85;
}

  