 * { margin: 0; padding: 0; box-sizing: border-box; }
        html { scroll-behavior: smooth; }
        
        .container-custom {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 1rem;
        }
        
        .top-bar { background: #1a2a6c; color: white; padding: 8px 0; font-size: 13px; }
        
        .nav-link { color: #1a2a6c; font-weight: 600; transition: color 0.3s; position: relative; }
        .nav-link:hover { color: #c9a84c; }
        .nav-link::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 2px; background: #c9a84c; transition: width 0.3s; }
        .nav-link:hover::after { width: 100%; }
        
        .swiper-pagination-bullet { width: 12px !important; height: 12px !important; background: rgba(255,255,255,0.5) !important; opacity: 1 !important; }
        .swiper-pagination-bullet-active { background: #c9a84c !important; }
        
        .heroSwiper .swiper-slide { height: 600px; }
        @media (max-width: 768px) { .heroSwiper .swiper-slide { height: 500px; } }
        @media (max-width: 640px) { .heroSwiper .swiper-slide { height: 450px; } }
        
        .hero-overlay { background: linear-gradient(135deg, rgba(26,42,108,0.85) 0%, rgba(26,42,108,0.6) 100%); }
        
        .card-hover { transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); }
        .card-hover:hover { transform: translateY(-12px) scale(1.02); box-shadow: 0 25px 50px rgba(26,42,108,0.2); }
        
        .icon-circle {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: rgba(201,168,76,0.15);
            color: #c9a84c;
            font-size: 24px;
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .icon-circle:hover { background: #c9a84c; color: white; transform: scale(1.15) rotate(10deg); }
        .icon-small { width: 48px; height: 48px; font-size: 18px; }
        
        .btn-primary {
            background: #c9a84c;
            color: #1a2a6c;
            padding: 12px 32px;
            border-radius: 50px;
            font-weight: 700;
            transition: all 0.3s;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            position: relative;
            overflow: hidden;
        }
        .btn-primary::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: rgba(255,255,255,0.3);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }
        .btn-primary:hover::after { width: 300px; height: 300px; }
        .btn-primary:hover { background: #dbb95e; transform: scale(1.05); box-shadow: 0 10px 30px rgba(201,168,76,0.4); }
        
        .btn-outline { border: 2px solid white; color: white; padding: 12px 32px; border-radius: 50px; font-weight: 700; transition: all 0.3s; display: inline-flex; align-items: center; gap: 8px; }
        .btn-outline:hover { background: white; color: #1a2a6c; transform: scale(1.05); }
        
        .btn-secondary {
            background: #1a2a6c;
            color: white;
            padding: 12px 32px;
            border-radius: 50px;
            font-weight: 700;
            transition: all 0.3s;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            position: relative;
            overflow: hidden;
        }
        .btn-secondary::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: rgba(255,255,255,0.1);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            transition: width 0.6s, height 0.6s;
        }
        .btn-secondary:hover::after { width: 300px; height: 300px; }
        .btn-secondary:hover { background: #2d4373; transform: scale(1.05); box-shadow: 0 10px 30px rgba(26,42,108,0.3); }
        
        .btn-read { color: #c9a84c; font-weight: 600; transition: all 0.3s; display: inline-flex; align-items: center; gap: 6px; }
        .btn-read:hover { color: #b8973a; gap: 14px; transform: translateX(5px); }
        
        .section-tag {
            display: inline-block;
            background: rgba(201,168,76,0.15);
            color: #c9a84c;
            padding: 4px 16px;
            border-radius: 50px;
            font-size: 13px;
            font-weight: 600;
            letter-spacing: 0.5px;
            margin-bottom: 12px;
            animation: pulse-tag 2s infinite;
        }
        @keyframes pulse-tag {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }
        
        .section-title { font-size: 2.5rem; font-weight: 800; color: #1a2a6c; line-height: 1.2; }
        .section-title span { color: #c9a84c; }
        @media (max-width: 640px) { .section-title { font-size: 1.8rem; } }
        
        #mobileMenu { animation: slideDown 0.3s ease-out; }
        @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }
        
        .footer-link { color: #9ca3af; transition: color 0.3s; }
        .footer-link:hover { color: #c9a84c; }
        
        /* WhatsApp Float */
        .whatsapp-float {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 999;
            background: #25D366;
            color: white;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 32px;
            box-shadow: 0 4px 20px rgba(37, 211, 102, 0.4);
            transition: all 0.3s;
            animation: pulse-whatsapp 2s infinite;
            text-decoration: none;
        }
        .whatsapp-float:hover { transform: scale(1.1) rotate(10deg); background: #20b85a; }
        
        @keyframes pulse-whatsapp {
            0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.4); }
            70% { box-shadow: 0 0 0 20px rgba(37, 211, 102, 0); }
            100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
        }
        
        /* Popup */
        .popup-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.7);
            z-index: 9999;
            display: flex;
            align-items: center;
            justify-content: center;
            animation: fadeIn 0.3s;
        }
        .popup-overlay.hidden { display: none; }
        @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
        
        .popup-content {
            background: white;
            max-width: 500px;
            width: 90%;
            border-radius: 20px;
            position: relative;
            animation: slideUp 0.4s ease-out;
            overflow: hidden;
        }
        @keyframes slideUp { from { transform: translateY(50px) scale(0.9); opacity: 0; } to { transform: translateY(0) scale(1); opacity: 1; } }
        
        .popup-close {
            position: absolute;
            top: 12px;
            right: 16px;
            font-size: 24px;
            color: #666;
            cursor: pointer;
            z-index: 10;
            background: white;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 2px 10px rgba(0,0,0,0.1);
            transition: all 0.3s;
        }
        .popup-close:hover { color: #dc2626; transform: rotate(90deg); }
        
        .popup-body { padding: 40px 30px 30px; text-align: center; }
        .popup-icon { font-size: 64px; margin-bottom: 10px; animation: float-icon 3s infinite; }
        @keyframes float-icon {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }
        .popup-title { font-size: 28px; font-weight: 800; color: #1a2a6c; }
        .popup-title span { color: #c9a84c; }
        .popup-desc { color: #666; margin: 10px 0 20px; }
        .popup-offer {
            background: #fef3c7;
            color: #b8973a;
            padding: 10px 20px;
            border-radius: 50px;
            display: inline-block;
            font-weight: 700;
            font-size: 14px;
            margin-bottom: 15px;
            animation: pulse-offer 2s infinite;
        }
        @keyframes pulse-offer {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }
        
        /* Gallery */
        .gallery-item { position: relative; overflow: hidden; border-radius: 16px; cursor: pointer; }
        .gallery-item img { transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); width: 100%; height: 250px; object-fit: cover; }
        .gallery-item:hover img { transform: scale(1.15); }
        .gallery-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(transparent, rgba(26,42,108,0.9));
            padding: 20px;
            color: white;
            transform: translateY(100%);
            transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .gallery-item:hover .gallery-overlay { transform: translateY(0); }
        
        /* Events */
        .event-date {
            background: #c9a84c;
            color: #1a2a6c;
            padding: 8px 12px;
            border-radius: 10px;
            text-align: center;
            min-width: 60px;
            font-weight: 700;
            transition: all 0.3s;
        }
        .event-date .day { font-size: 24px; display: block; }
        .event-date .month { font-size: 12px; text-transform: uppercase; }
        .card-hover:hover .event-date { background: #1a2a6c; color: #c9a84c; transform: rotate(-5deg) scale(1.1); }
        
        /* Floating Particles */
        .particles {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            overflow: hidden;
            pointer-events: none;
        }
        .particle {
            position: absolute;
            border-radius: 50%;
            background: rgba(201,168,76,0.3);
            animation: float-particle linear infinite;
        }
        @keyframes float-particle {
            0% { transform: translateY(100%) rotate(0deg); opacity: 0; }
            10% { opacity: 1; }
            90% { opacity: 1; }
            100% { transform: translateY(-100%) rotate(720deg); opacity: 0; }
        }
        
        /* Scroll Progress Bar */
        .scroll-progress {
            position: fixed;
            top: 0;
            left: 0;
            width: 0;
            height: 4px;
            background: linear-gradient(90deg, #c9a84c, #dbb95e);
            z-index: 9999;
            transition: width 0.1s;
        }
        
        /* Counter Styling */
        .counter-box {
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .counter-box:hover {
            transform: translateY(-8px) scale(1.02);
            background: rgba(255,255,255,0.2) !important;
        }
        
        /* Hero Text Animation */
        .hero-text-animate {
            animation: heroGlow 3s ease-in-out infinite;
        }
        @keyframes heroGlow {
            0%, 100% { text-shadow: 0 0 20px rgba(201,168,76,0.3); }
            50% { text-shadow: 0 0 40px rgba(201,168,76,0.6), 0 0 60px rgba(201,168,76,0.3); }
        }
        
        .hero-subtitle-animate {
            animation: fadeInUp 1s ease-out;
        }
        @keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        /* Testimonial Rotate */
        .testimonial-card {
            transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .testimonial-card:hover {
            transform: translateY(-10px) rotate(-2deg);
        }
        
        /* Feature Icon Animation */
        .feature-icon {
            transition: all 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }
        .feature-icon:hover {
            transform: rotateY(360deg) scale(1.1);
        }