        /* Sección principal */
        .main-section {
            padding: 4rem 0;
            background: var(--white);
        }

        .section-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .section-badge {
            display: inline-block;
            background: linear-gradient(135deg, var(--primary-color), var(--secondary-color-1));
            color: var(--white);
            padding: 8px 20px;
            border-radius: 20px;
            font-size: 0.9rem;
            font-weight: 600;
            margin-bottom: 1rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .section-header h2 {
            font-family: 'Fredoka One', cursive;
            font-size: 2.5rem;
            color: var(--primary-color);
            margin-bottom: 1rem;
        }

        .section-header p {
            font-size: 1.1rem;
            color: var(--text-light);
            max-width: 700px;
            margin: 0 auto;
        }

        /* Grid de convivencias */
        .convivencias-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .convivencia-card {
            background: var(--white);
            border-radius: var(--border-radius);
            padding: 2rem;
            box-shadow: var(--shadow-light);
            transition: var(--transition);
            border-left: 4px solid var(--primary-color);
        }

        .convivencia-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-medium);
        }

        .card-icon {
            font-size: 3rem;
            margin-bottom: 1rem;
            display: block;
        }

        .convivencia-card h3 {
            font-family: 'Fredoka One', cursive;
            font-size: 1.4rem;
            color: var(--primary-color);
            margin-bottom: 1rem;
        }

        .convivencia-card p {
            color: var(--text-color);
            line-height: 1.7;
            margin-bottom: 1.5rem;
        }

        .card-features {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .feature {
            background: var(--light-gray);
            color: var(--text-color);
            padding: 4px 12px;
            border-radius: 15px;
            font-size: 0.85rem;
            font-weight: 500;
        }