@keyframes pulseGlow {
    0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7); }
    50% { transform: scale(1.03); box-shadow: 0 0 0 15px rgba(220, 38, 38, 0); }
}
@keyframes pulseGreen {
    0%, 100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7); }
    50% { box-shadow: 0 0 0 15px rgba(22, 163, 74, 0); }
}
.pulse-btn {
    animation: pulseGlow 2s infinite;
}
.pulse-green-btn {
    animation: pulseGreen 2s infinite;
}
.hero-bg {
    background: linear-gradient(135deg, #0A192F 0%, #1E3A8A 100%);
}
.hero-slide {
    opacity: 0;
    transition: opacity 0.6s ease;
}
.hero-slide.is-active {
    opacity: 1;
}
.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gallery-item { display: block; padding: 0; border: 0; background: transparent; cursor: zoom-in; text-align: left; }
.gallery-item img { width: 100%; height: 240px; object-fit: cover; border-radius: 24px; display: block; }
.gallery-item span { display: block; margin-top: 8px; color: #334155; font-size: 14px; font-weight: 600; }
.lightbox { position: fixed; inset: 0; z-index: 80; background: rgba(10, 25, 47, 0.92); display: flex; align-items: center; justify-content: center; padding: 24px; }
.lightbox[hidden] { display: none; }
.lightbox img { max-width: min(1100px, 100%); max-height: 80vh; border-radius: 16px; }
.lightbox-close, .lightbox-nav { position: absolute; border: 0; background: #fff; color: #0A192F; width: 44px; height: 44px; border-radius: 12px; font-weight: 800; cursor: pointer; }
.lightbox-close { top: 16px; right: 16px; }
.lightbox-prev { left: 16px; }
.lightbox-next { right: 16px; top: auto; bottom: 16px; }
@media (min-width: 640px) {
    .lightbox-next { right: 16px; top: 50%; bottom: auto; }
    .lightbox-prev { top: 50%; }
}
@media (max-width: 860px) {
    .gallery-grid { grid-template-columns: 1fr 1fr; }
    .gallery-item img { height: 160px; }
}
