.region-map { margin-bottom:27px; }
.map-label { display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:#71836b;font-size:11px; }
.map-label small { font-size:10px;color:#98a18f; }
.map-path { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.map-path a { display:flex;gap:13px;align-items:center;text-decoration:none;color:#64805c;background:#faf9f1;border:1px solid #e0e4d6;border-radius:16px;min-height:73px;padding:12px 17px;font-size:13px; }
.map-path a:hover { background:#edf0e3; }
.map-path a[aria-current=location] { border-color:#a9bd96;background:#e9efdd;color:#416747; }
.map-path a[data-region=pond] { color:#63868e; }
.map-path a[data-region=pond][aria-current=location] { border-color:#a5bfc2;background:#e1edeb; }
.map-path a small { display:block;font-size:10px;font-weight:400;color:#95a18c;margin-top:5px; }
.map-icon { font-family:Georgia,serif;font-size:31px;min-width:32px;text-align:center; }
.map-position { margin-left:auto;font-size:9px;color:#94a08b; }
.visit-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:15px; }
.visit-actions { display:flex;flex-direction:column;align-items:stretch;gap:8px;flex-shrink:0; }
.visit-actions button,.visit-actions .return-home { min-height:44px;display:flex;align-items:center;justify-content:center;text-align:center; }
.return-home { color:#637f65;text-decoration:none;font-size:12px;padding:13px 17px;border:1px solid #ced9c6;border-radius:25px;background:#f9f9ef; }
.return-home:hover { background:#e8efdf; }
.visit-description { color:#869582;font-size:12px;line-height:1.8;margin:14px 0 0; }
.visit-landscape { height:455px;border-radius:30px;background:radial-gradient(ellipse at 50% 58%,#dce7d8,transparent 68%); }
#visitWorld { width:100%;height:100%;overflow:visible; }
.discovery-card { max-width:730px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #dbe3d2;background:#f9faf0;padding:16px 20px;border-radius:18px; }
.discovery-label { color:#71866a;font-size:10px; }
.discovery-card p { margin:8px 0 0;font-size:12px;line-height:1.7;color:#85947b; }
.visit-note { text-align:center;color:#9ba492;font-size:10px;line-height:1.7;margin-top:18px; }
body[data-region=pond] .visit-landscape { background:radial-gradient(ellipse at 50% 58%,#dde9e8,transparent 68%); }
body[data-region=pond] .discovery-card { border-color:#d0dfe0;background:#f2f7f2; }
body[data-region=pond] .water-button { color:#527f87;border-color:#b3cdcd;background:#e0eeea; }
body:not([data-region=home]) .top-actions { visibility:hidden;pointer-events:none; }
.forest-light { animation:leaf-light 4s ease-in-out both; }
.forest-wing { transform-box:fill-box;transform-origin:center;animation:forest-flight 3.8s ease-in-out both; }
.pond-ripple { transform-box:fill-box;transform-origin:center;animation:pond-wave 3.8s ease-out both; }
.pond-ripple.second { animation-delay:.6s; }
.pond-fish { animation:fish-glide 4s ease-in-out both; }
@keyframes leaf-light { 0%,100% { opacity:0; } 25%,65% { opacity:.9; } }
@keyframes forest-flight { 0% { opacity:0;transform:translate(-45px,30px) rotate(-15deg); } 20%,70% { opacity:1; } 100% { opacity:0;transform:translate(95px,-65px) rotate(10deg); } }
@keyframes pond-wave { from { transform:scale(.2);opacity:0; } 25% { opacity:.9; } to { transform:scale(1.5);opacity:0; } }
@keyframes fish-glide { 0%,100% { opacity:0; } 30%,65% { opacity:.85; } from { transform:translate(-60px,18px); } to { transform:translate(60px,-18px); } }
@media(max-width:760px) {
  .region-map { margin-bottom:23px; }
  .map-label { font-size:10px; }
  .map-label small { font-size:8px; }
  .map-path { gap:6px; }
  .map-path a { padding:11px 6px;min-height:78px;display:flex;flex-direction:column;gap:3px;font-size:10px;text-align:center; }
  .map-icon { font-size:24px;line-height:1.1; }
  .map-path a small { font-size:8px;margin-top:3px; }
  .map-position { display:none; }
  .visit-heading { align-items:flex-start; }
  .visit-heading h1 { font-size:27px; }
  .visit-heading .eyebrow { font-size:8px; }
  .return-home { font-size:9px;padding:10px 12px;max-width:118px;white-space:normal;line-height:1.6; }
  .visit-actions { max-width:132px; }
  .visit-actions button { padding:10px 8px;font-size:11px; }
  .visit-description { font-size:10px; }
  .visit-landscape { height:350px; }
  .discovery-card { padding:14px 12px;gap:10px; }
  .discovery-card p { font-size:10px; }
  .discovery-card .water-button { min-width:115px;font-size:10px;white-space:normal;line-height:1.5; }
  .visit-note { font-size:9px; }
}
@media(max-width:370px) { .visit-landscape { height:320px; } .visit-heading h1 { font-size:24px; } .discovery-card .water-button { min-width:99px; } }
@media(prefers-reduced-motion:reduce) { .forest-light,.forest-wing,.pond-ripple,.pond-fish { animation:none!important;opacity:.8; } }

/* Regional overviews use the same full-screen scene and overlay structure as home. */
body:not([data-region=home]) { background:#dbe6cf; }
body[data-region=pond] { background:#90afb4; }
body:not([data-region=home]) .topbar { position:absolute;inset:0 0 auto;z-index:10;max-width:none;border:0;background:linear-gradient(#f8f7eeef,#f8f7ee00);padding:18px 28px; }
body:not([data-region=home]) main { max-width:none;padding:0; }
body:not([data-region=home]) .region-map { position:absolute;top:101px;right:28px;z-index:5;margin:0; }
body:not([data-region=home]) .map-label,body:not([data-region=home]) .map-position,body:not([data-region=home]) .map-path a small { display:none; }
body:not([data-region=home]) .map-path { display:flex;gap:5px; }
body:not([data-region=home]) .map-path a { flex-direction:row;min-width:76px;min-height:44px;padding:8px 13px;font-size:10px;gap:6px;border-radius:24px;background:#f7f8e7b3;border-color:#b5c4a777; }
body:not([data-region=home]) .map-icon { font-size:19px;min-width:18px; }
.visit-scene { position:relative;height:100svh;min-height:650px;overflow:hidden;background:radial-gradient(ellipse at 20% 15%,#f6efc977,transparent 55%),linear-gradient(#e6eddb 8%,#c4d8b8 55%,#96b58d 100%); }
body[data-region=pond] .visit-scene { background:radial-gradient(ellipse at 72% 18%,#e6eed25c,transparent 48%),linear-gradient(#bacdd2 8%,#a0bfbd 55%,#71939e 100%); }
.visit-landscape,body[data-region=pond] .visit-landscape { position:absolute;inset:0;width:100%;height:100%;border-radius:0;background:none; }
#visitWorld { position:absolute;inset:0;width:100%;height:100%; }
#visitArt>ellipse:first-child { opacity:.08; }
#visitArt>path:nth-child(2),#visitArt>path:nth-child(3) { opacity:.2; }
.visit-heading { position:absolute;left:32px;right:28px;top:104px;z-index:3;pointer-events:none; }
.visit-heading h1 { font-size:31px;color:#34583e;text-shadow:0 1px 5px #f4f2db; }
.visit-heading .eyebrow { display:none; }
.visit-actions { position:absolute;top:93px;right:0;max-width:118px;pointer-events:auto; }
.visit-actions button { font-size:11px;min-height:44px;padding:8px 12px; }
.visit-actions .return-home { min-height:44px;padding:7px 8px;font-size:10px;max-width:none;background:#f7f8e8d9; }
.visit-description { position:absolute;top:166px;left:32px;z-index:3;max-width:min(430px,calc(100% - 192px));margin:0;padding:6px 9px;border-radius:10px;background:#f8f8edde;color:#486446;font-size:10px;line-height:1.6;pointer-events:none; }
.discovery-card { position:absolute;left:28px;bottom:54px;z-index:5;width:390px;max-width:calc(100% - 56px);margin:0;padding:13px 14px;background:#f8f8edcf;border-color:#c9d6bd;backdrop-filter:blur(8px); }
.visit-note { position:absolute;left:28px;bottom:22px;right:28px;margin:0;text-align:left;color:#486446;font-size:9px;z-index:3; }
@media(max-width:1000px) and (min-width:761px) {
  body:not([data-region=home]) .region-map { left:28px;right:auto;top:158px; }
  .visit-heading { top:98px; }
  .visit-heading h1 { font-size:26px; }
  .visit-description { top:214px; }
  .visit-actions { top:0; }
}
@media(max-width:760px), (max-width:1000px) and (max-height:500px) {
  body:not([data-region=home]) .topbar { padding:calc(var(--garden-safe-top) + 12px) calc(var(--garden-safe-right) + 12px) 8px calc(var(--garden-safe-left) + 12px); }
  body:not([data-region=home]) .brand { font-size:11px;gap:5px;letter-spacing:0; }
  body:not([data-region=home]) .brand-mark { font-size:20px; }
  body:not([data-region=home]) .brand small,body:not([data-region=home]) .top-actions { display:none; }
  body:not([data-region=home]) .region-map { top:calc(var(--garden-safe-top) + 119px);left:calc(var(--garden-safe-left) + 14px);right:auto; }
  body:not([data-region=home]) .map-path a { min-width:73px;min-height:44px;padding:7px 11px;font-size:9px; }
  body:not([data-region=home]) .map-icon { font-size:17px; }
  .visit-scene { min-height:620px; }
  .visit-heading { top:calc(var(--garden-safe-top) + 80px);left:calc(var(--garden-safe-left) + 17px);right:calc(var(--garden-safe-right) + 17px); }
  .visit-heading h1 { font-size:24px;white-space:nowrap; }
  .visit-actions { position:fixed;top:calc(var(--garden-safe-top) + 174px);right:calc(var(--garden-safe-right) + 14px);width:96px;gap:6px; }
  .visit-actions button,.visit-actions .return-home { font-size:9px;min-height:44px; }
  .visit-description { top:calc(var(--garden-safe-top) + 175px);left:calc(var(--garden-safe-left) + 17px);max-width:calc(100% - var(--garden-safe-left) - var(--garden-safe-right) - 129px);padding:5px 7px;font-size:9px; }
  .discovery-card { left:calc(var(--garden-safe-left) + 12px);right:calc(var(--garden-safe-right) + 12px);bottom:calc(var(--garden-safe-bottom) + 50px);width:auto;max-width:none;padding:10px 12px; }
  .discovery-card .water-button { min-width:106px;min-height:44px;font-size:10px; }
  .visit-note { left:calc(var(--garden-safe-left) + 17px);right:calc(var(--garden-safe-right) + 17px);bottom:calc(var(--garden-safe-bottom) + 17px);font-size:8px; }
}
@media(orientation:landscape) and (max-height:500px) and (max-width:1000px) {
  .visit-scene { min-height:100svh; }
  .visit-description { max-width:min(270px,calc(100% - 150px)); }
  .discovery-card { left:auto;right:calc(var(--garden-safe-right) + 130px);bottom:12px;width:240px;padding:8px 10px; }
  .visit-note { display:none; }
}
