@layer utilities {
    .text-shadow {
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    .text-gradient {
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent;
        background-image: linear-gradient(90deg, #1E88E5, #64B5F6);
    }
    .bg-gradient-blue {
        background-image: linear-gradient(135deg, #1E88E5, #64B5F6);
    }
    .card-hover {
        transition: all 0.3s ease;
    }
    .card-hover:hover {
        transform: translateY(-5px);
    }
    .btn-primary {
        background-image: linear-gradient(135deg, #1E88E5, #64B5F6);
        transition: all 0.3s ease;
    }
    .btn-primary:hover {
        background-image: linear-gradient(135deg, #1976D2, #42A5F5);
        box-shadow: 0 4px 8px rgba(30, 136, 229, 0.3);
    }
    .btn-secondary {
        background-image: linear-gradient(135deg, #FF9800, #FFB74D);
        transition: all 0.3s ease;
    }
    .btn-secondary:hover {
        background-image: linear-gradient(135deg, #F57C00, #FFA726);
        box-shadow: 0 4px 8px rgba(255, 152, 0, 0.3);
    }
    .section-title {
        position: relative;
        display: inline-block;
        margin-bottom: 1.5rem;
    }
    .section-title::after {
        content: '';
        position: absolute;
        bottom: -8px;
        left: 0;
        width: 40px;
        height: 3px;
        background-color: #1E88E5;
        border-radius: 3px;
    }
    .faq-item {
        border-bottom: 1px solid #E5E7EB;
        transition: all 0.3s ease;
    }
    .faq-item.active {
        border-bottom: 1px solid #1E88E5;
    }
    .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease;
    }
    .faq-item.active .faq-answer {
        max-height: 200px;
    }
    .process-step {
        position: relative;
    }
    .process-step::after {
        content: '';
        position: absolute;
        top: 30px;
        left: 15px;
        width: 2px;
        height: calc(100% - 30px);
        background-color: #E5E7EB;
    }
    .process-step:last-child::after {
        display: none;
    }
    .process-step.active .step-number {
        background-color: #1E88E5;
        color: white;
    }
    .process-step.active::after {
        background-color: #1E88E5;
    }
    .fixed-bottom-menu {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 100;
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    }
}