/* Guru – Nature / Frutiger Aero maximalist layer */
.biome { position: relative; isolation: isolate; overflow: hidden; }
.biome .sky { position: absolute; inset: -10% -10% -10% -10%; z-index: -3; }

.sky-midday {
  background: radial-gradient(80% 50% at 80% 15%, rgba(255,245,210,0.7) 0%, rgba(255,240,200,0) 60%), linear-gradient(180deg, #5fb8f0 0%, #8dceff 40%, #c8e9ff 70%, #e5f5dc 92%, #c5e487 100%);
}
.sky-forest {
  background: radial-gradient(80% 60% at 50% 0%, rgba(255,240,200,0.55) 0%, rgba(255,240,200,0) 60%), linear-gradient(180deg, #c8e88a 0%, #9cd68a 30%, #7cc084 60%, #a8d48a 85%, #c8e08a 100%);
}
.sky-soft { background: linear-gradient(180deg, #d2edff 0%, #eaf7ff 40%, #f3fbff 100%); }
.sky-sunrise {
  background: radial-gradient(80% 60% at 50% 95%, rgba(255,180,140,0.7) 0%, rgba(255,180,140,0) 65%), linear-gradient(180deg, #ffd8a8 0%, #ffb89a 35%, #f7a0a0 70%, #fcc6a0 95%);
}
.sky-aurora {
  background: radial-gradient(70% 40% at 30% 110%, rgba(120,230,180,0.55) 0%, rgba(120,230,180,0) 55%), radial-gradient(80% 50% at 70% 60%, rgba(200,150,230,0.45) 0%, rgba(200,150,230,0) 55%), linear-gradient(180deg, #1a2345 0%, #253566 25%, #3a3d7a 55%, #1f2a58 100%);
}

.glass-green {
  background: linear-gradient(180deg, rgba(220,255,210,0.55) 0%, rgba(180,230,180,0.25) 50%, rgba(200,245,200,0.4) 100%) !important;
  border-color: rgba(230,255,220,0.8) !important;
  box-shadow: 0 30px 80px -30px rgba(40,90,30,0.5), 0 2px 0 rgba(240,255,230,0.9) inset, 0 0 0 1px rgba(60,120,40,0.1) !important;
}
.glass-gold {
  background: linear-gradient(180deg, rgba(255,240,200,0.6) 0%, rgba(255,210,160,0.25) 50%, rgba(255,230,180,0.42) 100%) !important;
  border-color: rgba(255,245,210,0.85) !important;
  box-shadow: 0 30px 80px -30px rgba(140,80,30,0.45), 0 2px 0 rgba(255,250,230,0.9) inset, 0 0 0 1px rgba(180,100,50,0.12) !important;
}
.glass-lime {
  background: linear-gradient(180deg, rgba(240,255,200,0.75) 0%, rgba(200,240,140,0.4) 100%) !important;
  border-color: rgba(240,255,190,0.9) !important;
}
.glass-warm {
  background: linear-gradient(180deg, rgba(255,235,215,0.6) 0%, rgba(250,210,200,0.35) 100%) !important;
  border-color: rgba(255,240,225,0.85) !important;
}

.plant { position: absolute; pointer-events: none; z-index: 1; }
.plant-monstera-tl {
  top: -40px; left: -30px; width: 300px; height: 300px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'><defs><radialGradient id='l' cx='40%25' cy='40%25' r='60%25'><stop offset='0%25' stop-color='%23a8e27a'/><stop offset='100%25' stop-color='%233a8a2a'/></radialGradient></defs><g fill='url(%23l)' stroke='%23225018' stroke-width='1.5'><path d='M20,20 Q60,5 120,40 Q170,70 180,130 Q150,140 110,125 Q70,110 40,80 Q20,55 20,20 Z'/><ellipse cx='55' cy='55' rx='9' ry='5' fill='%232a5a1c'/><ellipse cx='85' cy='75' rx='10' ry='5' fill='%232a5a1c'/></g></svg>");
  background-size: contain; background-repeat: no-repeat;
  filter: drop-shadow(0 10px 20px rgba(30,70,20,0.3));
  animation: swayTL 8s ease-in-out infinite alternate;
}
.plant-monstera-br {
  bottom: -50px; right: -40px; width: 320px; height: 320px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'><defs><radialGradient id='l' cx='40%25' cy='40%25' r='60%25'><stop offset='0%25' stop-color='%2398d26a'/><stop offset='100%25' stop-color='%232a7a1a'/></radialGradient></defs><g fill='url(%23l)' stroke='%23184010' stroke-width='1.5'><path d='M20,280 Q60,295 120,260 Q170,230 180,170 Q150,160 110,175 Q70,190 40,220 Q20,245 20,280 Z'/><ellipse cx='55' cy='245' rx='9' ry='5' fill='%23224a15'/></g></svg>");
  background-size: contain; background-repeat: no-repeat;
  filter: drop-shadow(0 -10px 20px rgba(30,70,20,0.3));
  animation: swayBR 10s ease-in-out infinite alternate;
}
.plant-fern-bl {
  bottom: -30px; left: -40px; width: 280px; height: 200px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 280 200'><defs><linearGradient id='f' x1='0' x2='1'><stop offset='0%25' stop-color='%2388c85a'/><stop offset='100%25' stop-color='%23357a2a'/></linearGradient></defs><g fill='none' stroke='url(%23f)' stroke-width='3' stroke-linecap='round'><path d='M20,180 Q80,130 150,80 Q220,40 270,20'/></g><g fill='url(%23f)'><ellipse cx='45' cy='170' rx='22' ry='9' transform='rotate(-20 45 170)'/><ellipse cx='72' cy='150' rx='22' ry='9' transform='rotate(-25 72 150)'/><ellipse cx='100' cy='128' rx='22' ry='8' transform='rotate(-28 100 128)'/></g></svg>");
  background-size: contain; background-repeat: no-repeat;
  filter: drop-shadow(0 6px 16px rgba(30,70,20,0.3));
  animation: sway 11s ease-in-out infinite alternate;
  transform-origin: bottom left;
}
.plant-flower-br {
  bottom: 30px; right: 30px; width: 140px; height: 180px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 180'><g fill='none' stroke='%234a8e12' stroke-width='2.5' stroke-linecap='round'><path d='M30,180 Q35,120 40,60'/><path d='M70,180 Q75,100 80,40'/></g><g><circle cx='40' cy='55' r='9' fill='%23ffc840'/><g fill='%23ff9040'><ellipse cx='40' cy='46' rx='5' ry='7'/><ellipse cx='40' cy='64' rx='5' ry='7'/><ellipse cx='31' cy='55' rx='7' ry='5'/><ellipse cx='49' cy='55' rx='7' ry='5'/></g></g><g><circle cx='80' cy='35' r='10' fill='%23f078b8'/><g fill='%23ffc0e0'><ellipse cx='80' cy='25' rx='6' ry='8'/><ellipse cx='80' cy='45' rx='6' ry='8'/><ellipse cx='70' cy='35' rx='8' ry='6'/><ellipse cx='90' cy='35' rx='8' ry='6'/></g></g></svg>");
  background-repeat: no-repeat; background-size: contain; z-index: 3;
  filter: drop-shadow(0 4px 10px rgba(30,70,20,0.3));
  transform: scaleX(-1);
  animation: swayFlBR 7s ease-in-out infinite alternate-reverse;
}

@keyframes sway { from { transform: rotate(-3deg); } to { transform: rotate(3deg); } }
@keyframes swayTL { from { transform: rotate(-10deg); } to { transform: rotate(-6deg); } }
@keyframes swayBR { from { transform: rotate(-8deg); } to { transform: rotate(-4deg); } }
@keyframes swayFlBR { from { transform: scaleX(-1) rotate(-3deg); } to { transform: scaleX(-1) rotate(3deg); } }
@keyframes bob { from { transform: translateY(0); } to { transform: translateY(-6px); } }

.koi-layer { position: absolute; top: 0; left: 0; width: 100%; height: 100vh; pointer-events: none; z-index: -1; opacity: 0.65; }
.koi { position: absolute; width: 80px; height: 30px; filter: blur(0.5px) drop-shadow(0 4px 8px rgba(10,60,120,0.3)); will-change: transform; }

.flare { position: absolute; width: 300px; height: 300px; background: radial-gradient(circle, rgba(255,255,210,0.55) 0%, rgba(255,255,210,0) 60%); pointer-events: none; z-index: 0; mix-blend-mode: screen; animation: flarePulse 6s ease-in-out infinite alternate; }
.flare-tl { top: -80px; left: -80px; }
.flare-tr { top: -80px; right: -80px; }
.flare-br { bottom: -80px; right: -80px; }
@keyframes flarePulse { from { opacity: 0.5; transform: scale(1); } to { opacity: 0.9; transform: scale(1.15); } }

#butterfly { position: fixed; width: 36px; height: 36px; z-index: 60; pointer-events: none; left: -50px; top: 40%; opacity: 0; transition: opacity .5s; }
#butterfly.flying { opacity: 1; animation: flutter 0.15s steps(2) infinite; }
@keyframes flutter { from { transform: scaleY(1); } to { transform: scaleY(0.75); } }

#hummingbird { position: absolute; width: 44px; height: 30px; right: 10%; top: 40%; z-index: 3; animation: hover 0.12s steps(2) infinite, humHover 3s ease-in-out infinite alternate; }
@keyframes hover { from { transform: translateY(0); } to { transform: translateY(-1px); } }
@keyframes humHover { from { right: 10%; top: 40%; } to { right: 12%; top: 36%; } }

.pond-bg { position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 40% at 50% 100%, rgba(255,255,255,0.6) 0%, transparent 70%), linear-gradient(180deg, #bde7ff 0%, #7cc0e8 50%, #4a9ecf 100%); }
.goldfish-layer { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
.goldfish { position: absolute; width: 50px; height: 24px; }

.sparkle { position: absolute; width: 8px; height: 8px; pointer-events: none; background: radial-gradient(circle, white 0%, white 30%, rgba(255,255,255,0) 70%); border-radius: 50%; box-shadow: 0 0 8px white, 0 0 16px rgba(255,255,255,0.6); animation: sparkleTwinkle 2.5s ease-in-out infinite; }
@keyframes sparkleTwinkle { 0%, 100% { opacity: 0; transform: scale(0.3); } 50% { opacity: 1; transform: scale(1); } }

footer.biome-pond { position: relative; border-top: 0; background: transparent; padding-top: 80px; color: #0b3554; }
footer.biome-pond .foot-bottom { color: #0b3554; }
footer.biome-pond .col a { color: #0b3554; }
footer.biome-pond .col h4 { color: #1a5480; }

@media (prefers-reduced-motion: reduce) {
  .koi, .goldfish, #butterfly, #hummingbird, .flare, .sparkle, .plant { animation: none !important; }
}
