/* La Fortuna in 3D (js/park-3d.mjs) */
.p3{position:relative;padding:72px 0 40px;background:radial-gradient(70% 60% at 50% 55%,#0f3a30 0%,#06151200 70%)}
.p3 .container{position:relative}
.p3-head{max-width:760px;margin:0 auto 22px;text-align:center}
.p3-head .section-tag{display:inline-block}
.p3-head p{color:#b7c9c0;font-size:17px;line-height:1.6;margin:10px auto 0;max-width:620px}
.p3-frame{position:relative;height:min(78vh,720px);min-height:460px;border-radius:28px;overflow:hidden;border:1px solid #ffffff1a;
  background:radial-gradient(80% 70% at 50% 60%,#163d33 0%,#081b17 60%,#040e0c 100%);box-shadow:0 40px 100px #0008}
.p3.with-town .p3-frame{background:#0b1a16}
.p3-stage{position:absolute;inset:0;touch-action:none;cursor:grab}
.p3-stage:active{cursor:grabbing}
.p3-stage canvas{display:block;width:100%!important;height:100%!important}
.p3-poster{position:absolute;inset:0;background:center/cover;opacity:.55;filter:blur(2px) saturate(1.1);transition:opacity 1.2s}
.p3[data-state=live] .p3-poster{opacity:0}
.p3-load{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#d8f2e6;font:500 13px Outfit,Arial,sans-serif;letter-spacing:.06em;
  background:#05161399;border:1px solid #ffffff22;border-radius:999px;padding:9px 16px;backdrop-filter:blur(8px);transition:opacity .5s}
.p3[data-state=live] .p3-load{opacity:0;pointer-events:none}
.p3-hud{position:absolute;left:18px;top:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;pointer-events:none}
.p3-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#05161399;border:1px solid #ffffff22;
  color:#cfeee0;font:500 10.5px/1 "JetBrains Mono",ui-monospace,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(8px)}
.p3-chip i{width:7px;height:7px;border-radius:50%;background:#99cc33;animation:p3-pulse 2s infinite}
@keyframes p3-pulse{0%{box-shadow:0 0 0 0 #99cc3399}70%{box-shadow:0 0 0 9px #99cc3300}100%{box-shadow:0 0 0 0 #99cc3300}}
.p3-controls{position:absolute;right:16px;bottom:16px;display:flex;gap:8px}
.p3-controls button{min-height:44px;padding:10px 16px;border-radius:999px;cursor:pointer;color:#fff;background:#071916c9;border:1px solid #ffffff44;
  font:500 13px Outfit,Arial,sans-serif;backdrop-filter:blur(10px);transition:background .2s,border-color .2s}
.p3-controls button:hover{background:#174735;border-color:#b0e0c4}
.p3-controls button[aria-pressed=true]{background:#174735;border-color:#99cc33}
.p3-controls button:focus-visible{outline:3px solid #67c8c9;outline-offset:3px}
.p3-hint{position:absolute;left:18px;bottom:20px;color:#d8f2e6;font:500 12.5px Outfit,Arial,sans-serif;opacity:.85;transition:opacity .6s;pointer-events:none}
.p3.touched .p3-hint{opacity:0}
.p3-credit{text-align:center;color:#8fb0a3;font-size:12.5px;margin-top:14px}
.p3-credit a{color:#67c8c9}
.p3:fullscreen .p3-frame,.p3-frame:fullscreen{height:100vh;border-radius:0}
@media(max-width:600px){
  .p3{padding:48px 0 28px}
  .p3-frame{height:72svh;min-height:420px;border-radius:20px}
  .p3-head p{font-size:15px}
  .p3-controls{left:12px;right:12px;bottom:12px;justify-content:flex-end}
  .p3-controls button{padding:9px 13px;font-size:12.5px}
  .p3-hint{bottom:66px;left:14px}
}
