/* CONTACT HERO */
        .contact-hero { background: linear-gradient(135deg, var(--bg-dark), #1E293B); padding: 80px 0 100px; text-align: center; color: var(--white); position: relative; }
        .contact-hero::after { content: ""; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, var(--premium-gold), transparent); opacity: 0.3; }
        .contact-title { font-size: 3rem; font-weight: 800; margin-bottom: 16px; background: linear-gradient(90deg, var(--white), #e2e8f0); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
        .contact-subtitle { font-size: 1.15rem; color: #94a3b8; max-width: 600px; margin: 0 auto; line-height: 1.6; }

        /* CONTACT WRAPPER */
        .contact-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; max-width: 1200px; margin: -40px auto 96px; position: relative; z-index: 10; padding: 0 24px; }
        @media (max-width: 992px) {
            .contact-wrapper { grid-template-columns: 1fr; }
        }

        /* INFO & MAP SECTION (LEFT) */
        .contact-info-card { background: var(--white); border-radius: 16px; padding: 40px; border: 1px solid var(--border-color); box-shadow: 0 20px 40px rgba(0,0,0,0.06); height: 100%; display: flex; flex-direction: column; }
        .contact-info-title { font-size: 1.5rem; font-weight: 800; color: var(--text-main); margin-bottom: 32px; display: flex; align-items: center; gap: 12px; }
        
        .info-list { list-style: none; padding: 0; margin: 0 0 40px 0; display: flex; flex-direction: column; gap: 24px; }
        .info-item { display: flex; gap: 16px; align-items: flex-start; }
        .info-icon { width: 48px; height: 48px; border-radius: 12px; background: rgba(200, 16, 46, 0.05); color: var(--primary-red); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .info-text h4 { font-size: 1.05rem; font-weight: 700; color: var(--text-main); margin-bottom: 4px; }
        .info-text p { font-size: 0.95rem; color: var(--text-muted); line-height: 1.5; margin: 0; }
        .info-text a { color: var(--text-main); text-decoration: none; font-weight: 500; transition: var(--transition); }
        .info-text a:hover { color: var(--primary-red); }

        .map-container { width: 100%; flex-grow: 1; min-height: 250px; border-radius: 12px; overflow: hidden; border: 1px solid var(--border-color); }
        .map-container iframe { width: 100%; height: 100%; border: none; }

        /* CONTACT FORM SECTION (RIGHT) */
        .contact-form-card { background: var(--white); border-radius: 16px; padding: 48px 40px; border: 1px solid var(--border-color); box-shadow: 0 20px 40px rgba(0,0,0,0.06); }
        .form-title { font-size: 1.75rem; font-weight: 800; color: var(--text-main); margin-bottom: 12px; }
        .form-desc { font-size: 0.95rem; color: var(--text-muted); margin-bottom: 32px; line-height: 1.6; }

        .form-group { margin-bottom: 24px; }
        .form-label { display: block; font-size: 0.9rem; font-weight: 600; color: var(--text-main); margin-bottom: 8px; }
        .form-control { width: 100%; padding: 14px 16px; border: 1px solid #E2E8F0; border-radius: 8px; font-family: 'Inter', sans-serif; font-size: 1rem; color: var(--text-main); transition: var(--transition); background: var(--bg-light); }
        .form-control:focus { outline: none; border-color: var(--primary-red); background: var(--white); box-shadow: 0 0 0 4px rgba(200, 16, 46, 0.1); }
        textarea.form-control { resize: vertical; min-height: 120px; }

        /* Custom Select */
        select.form-control { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }

        .btn-submit { width: 100%; padding: 16px; font-size: 1.05rem; display: flex; align-items: center; justify-content: center; gap: 8px; }

        @media (max-width: 768px) {
            .contact-form-card { padding: 32px 24px; }
            .contact-info-card { padding: 32px 24px; }
            .contact-hero { padding: 60px 0 80px; }
            .contact-title { font-size: 2.25rem; }
        }
