.contact-hero {
    max-width: 1200px;
    margin: 0 auto;
    padding: 80px 40px;
    text-align: center;
    background-color: #f8f9fa;
}

.contact-hero h1 {
    font-size: 48px;
    margin-bottom: 20px;
    color: #2c3e50;
}

.contact-hero p {
    font-size: 19px;
    line-height: 1.7;
    color: #555555;
}

.contact-main {
    display: flex;
    max-width: 1400px;
    margin: 80px auto;
}

.contact-details {
    flex: 1;
    padding: 60px 50px;
}

.detail-block {
    margin-bottom: 50px;
}

.detail-block h3 {
    font-size: 20px;
    margin-bottom: 16px;
    color: #2c3e50;
}

.detail-block p {
    font-size: 16px;
    line-height: 1.8;
    color: #555555;
}

.contact-map {
    flex: 1;
    background-color: #e8eaed;
}

.contact-map img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.additional-info {
    max-width: 1200px;
    margin: 100px auto;
    padding: 0 40px;
}

.additional-info h2 {
    font-size: 36px;
    text-align: center;
    margin-bottom: 50px;
    color: #2c3e50;
}

.info-grid {
    display: flex;
    gap: 40px;
}

.info-item {
    flex: 1;
    padding: 30px;
    background-color: #f8f9fa;
}

.info-item h4 {
    font-size: 20px;
    margin-bottom: 16px;
    color: #2c3e50;
}

.info-item p {
    font-size: 15px;
    line-height: 1.7;
    color: #555555;
}

@media (max-width: 1024px) {
    .contact-main {
        flex-direction: column;
    }

    .info-grid {
        flex-direction: column;
    }
}

@media (max-width: 768px) {
    .contact-hero h1 {
        font-size: 36px;
    }

    .contact-details {
        padding: 40px 20px;
    }
}