.text-shadow {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.text-shadow-lg {
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.12), 0 2px 4px rgba(0, 0, 0, 0.08);
}
.bg-gradient-primary {
    background: linear-gradient(135deg, #1E88E5 0%, #0D47A1 100%);
}
.bg-gradient-secondary {
    background: linear-gradient(135deg, #FF5722 0%, #E64A19 100%);
}
.transition-all-300 {
    transition: all 0.3s ease;
}
.card-hover {
    transition: all 0.3s ease;
}
.card-hover:hover {
    transform: translateY(-5px);
}
.btn-primary {
    background-color: #1E88E5;
    color: white;
    font-weight: bold;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}
.btn-primary:hover {
    background-color: #0D47A1;
}
.btn-secondary {
    background-color: #FF5722;
    color: white;
    font-weight: bold;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: all 0.3s ease;
}
.btn-secondary:hover {
    opacity: 0.9;
}
.section-padding {
    padding-top: 4rem;
    padding-bottom: 4rem;
}
@media (min-width: 768px) {
    .section-padding {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}
.section-title {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 3rem;
    color: #424242;
}
@media (min-width: 768px) {
    .section-title {
        font-size: 1.875rem;
    }
}
.section-subtitle {
    font-size: 1.125rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 1.5rem;
    color: #616161;
}
@media (min-width: 768px) {
    .section-subtitle {
        font-size: 1.25rem;
    }
}
.feature-icon {
    font-size: 2.25rem;
    color: #1E88E5;
    margin-bottom: 1rem;
}
.feature-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #424242;
}
.feature-desc {
    color: #757575;
}