    * {
            font-family: 'Inter', sans-serif;
        }

        html {
            scroll-behavior: smooth;
        }

        /* Paleta de colores oficial basada en la imagen: verde oscuro, verde azulado, amarillo/ocre */
        :root {
            --primary-dark: #1e3a2f;
            /* verde profundo institucional */
            --primary-medium: #2b5e42;
            /* verde medio */
            --primary-light: #e8f3e6;
            /* fondo verde muy suave */
            --accent-gold: #d4a13e;
            /* dorado/ocre para detalles */
            --accent-gold-light: #f5e6c8;
            --text-dark: #1f2a24;
        }

        .bg-primary-dark {
            background-color: var(--primary-dark);
        }

        .bg-primary-medium {
            background-color: var(--primary-medium);
        }

        .bg-primary-light {
            background-color: var(--primary-light);
        }

        .text-primary-dark {
            color: var(--primary-dark);
        }

        .text-primary-medium {
            color: var(--primary-medium);
        }

        .text-accent-gold {
            color: var(--accent-gold);
        }

        .border-accent-gold {
            border-color: var(--accent-gold);
        }

        .hover\:bg-primary-dark:hover {
            background-color: var(--primary-dark);
        }

        .hover\:bg-primary-medium:hover {
            background-color: var(--primary-medium);
        }

        .hover\:text-accent-gold:hover {
            color: var(--accent-gold);
        }

        .product-card,
        .blog-card {
            transition: all 0.3s ease;
        }

        .product-card:hover,
        .blog-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 20px 25px -12px rgba(0, 0, 0, 0.15);
        }

        .hero-overlay-custom {
            background: linear-gradient(95deg, rgba(30, 58, 47, 0.75) 0%, rgba(30, 58, 47, 0.35) 100%);
        }

        .slider-container {
            display: flex;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            gap: 1.5rem;
            padding-bottom: 1rem;
            scrollbar-width: thin;
        }

        .slider-container::-webkit-scrollbar {
            height: 6px;
        }

        .slider-container::-webkit-scrollbar-track {
            background: #e8f0e6;
            border-radius: 10px;
        }

        .slider-container::-webkit-scrollbar-thumb {
            background: var(--primary-medium);
            border-radius: 10px;
        }

        .slider-card {
            scroll-snap-align: start;
            min-width: 260px;
            flex-shrink: 0;
        }

        @media (max-width: 640px) {
            .slider-card {
                min-width: 240px;
            }
        }

        .footer-link-hover:hover {
            color: var(--accent-gold);
            padding-left: 4px;
            transition: all 0.2s;
        }

        .btn-outline-gold {
            border: 1.5px solid var(--accent-gold);
            color: var(--accent-gold);
        }

        .btn-outline-gold:hover {
            background-color: var(--accent-gold);
            color: #1e3a2f;
        }

        .input-focus:focus {
            outline: none;
            ring: 2px solid var(--accent-gold);
            border-color: var(--accent-gold);
        }

        .badge-gold {
            background-color: var(--accent-gold);
            color: #1e3a2f;
        }
