/* Specific styles for the home page */
.hero-section {
    margin: 40px 0;
}

.hero-swiper {
    width: 100%;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: var(--shadow-soft);
}

.hero-swiper img {
    width: 100%;
    display: block;
    object-fit: cover;
}

.hero-content {
    text-align: center;
    max-width: 800px;
    margin: -40px auto 30px auto;
    padding: 30px 20px;
    background: var(--card-bg);
    border-radius: 15px;
    box-shadow: var(--shadow-soft);
    position: relative;
    z-index: 10;
    border-top: 4px solid var(--accent-color);
}

/* Home Content Layout */
.home-content-wrapper {
    display: flex;
    gap: 40px;
    flex-wrap: wrap;
    align-items: flex-start;
}

.home-text {
    flex: 1;
    min-width: 300px;
}

.home-images {
    flex: 0 0 300px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.home-pic {
    width: 100%;
    border-radius: 15px;
    box-shadow: var(--shadow-soft);
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.home-pic:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
}

/* Responsive Breakpoints */
@media (max-width: 768px) {
    .hero-content {
        margin-top: 15px;
        padding: 20px 15px;
    }
    .hero-content h1 { font-size: 22px; }
    .home-images { flex: 100%; flex-direction: row; justify-content: center; }
    .home-pic { width: calc(33.333% - 14px); object-fit: cover; }
}

@media (max-width: 480px) {
    .home-images { flex-direction: column; }
    .home-pic { width: 100%; }
}