.contact-hero {
    position: relative;
    min-height: 40vh;
    background: linear-gradient(160deg, #040D1E 0%, var(--primary-dark) 45%, var(--primary) 100%);
    overflow: hidden;
    padding-top: 80px;
    display: flex;
    align-items: center;
}
.contact-hero-bg {
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 50% 50% at 70% 40%, rgba(200,169,81,0.04) 0%, transparent 65%);
    pointer-events: none;
}
.contact-hero-title {
    font-size: 44px;
    font-weight: 900;
    color: var(--white);
    letter-spacing: -0.02em;
    margin-bottom: 10px;
}
.contact-hero-desc {
    font-size: 17px;
    color: rgba(255,255,255,0.4);
    max-width: 480px;
    line-height: 1.7;
}

.contact-section { padding: 80px 0; background: var(--bg-light); }
.contact-info {
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 36px 32px;
    box-shadow: var(--shadow-sm);
}
.contact-info h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 24px;
}
.contact-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 20px;
}
.contact-item i {
    font-size: 20px;
    color: var(--accent);
    width: 24px;
    margin-top: 2px;
}
.contact-item strong {
    display: block;
    font-size: 14px;
    color: var(--primary);
}
.contact-item span {
    font-size: 14px;
    color: var(--text-muted);
}
.contact-map {
    border-radius: var(--radius-sm);
    overflow: hidden;
}

.contact-form {
    background: var(--white);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-md);
    padding: 36px 32px;
    box-shadow: var(--shadow-sm);
}
.contact-form h3 {
    font-size: 22px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 20px;
}
.contact-form label {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 4px;
}
.contact-form .form-control,
.contact-form .form-select {
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 14px;
    transition: var(--transition);
    background: var(--bg-light);
}
.contact-form .form-control:focus,
.contact-form .form-select:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(200,169,81,0.1);
    background: var(--white);
}
.contact-form .form-control::placeholder {
    color: #9CA3AF;
    font-size: 13px;
}
.contact-form .btn-primary-gold { width: 100%; }

@media (max-width: 991px) {
    .contact-hero-title { font-size: 36px; }
    .contact-info { padding: 28px 24px; }
    .contact-form { padding: 28px 24px; }
}

@media (max-width: 575px) {
    .contact-hero-title { font-size: 28px; }
    .contact-info { padding: 20px 16px; }
    .contact-form { padding: 20px 16px; }
    .contact-item { gap: 12px; }
}