body { background-color: #F7F3EE; color: #2B2F36; }

.glass-card {
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.7);
}

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #F7F3EE; }
::-webkit-scrollbar-thumb { background: #D1D5DB; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #2BD4A4; }

details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }
details[open] summary ~ * { animation: sweep .3s ease-in-out; }
@keyframes sweep { 0% {opacity:0; transform: translateY(-10px)} 100% {opacity:1; transform: translateY(0)} }

#menu-toggle:checked ~ #mobile-menu { display: flex; opacity: 1; pointer-events: auto; }

@keyframes fade-up {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fade-up 0.7s ease-out both; }
.fade-up-d1 { animation-delay: 0.1s; }
.fade-up-d2 { animation-delay: 0.2s; }
.fade-up-d3 { animation-delay: 0.3s; }
.fade-up-d4 { animation-delay: 0.4s; }

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
.float { animation: float 6s ease-in-out infinite; }

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(43, 212, 164, 0.3); }
  50% { box-shadow: 0 0 20px 4px rgba(43, 212, 164, 0.15); }
}
.pulse-glow { animation: pulse-glow 3s ease-in-out infinite; }

.img-zoom { overflow: hidden; }
.img-zoom img { transition: transform 0.5s ease; }
.img-zoom:hover img { transform: scale(1.05); }

.card-lift { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-lift:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(20, 92, 68, 0.1); }

.section-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(43, 212, 164, 0.3), transparent);
  max-width: 120px;
  margin: 0 auto;
}

.hero-img {
  mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 80%, transparent 100%);
}

.gradient-text {
  background: linear-gradient(135deg, #145c44 0%, #0EA5A4 50%, #2BD4A4 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
