.contact-section { background: #06152f; color: #f8fafc; padding: 90px 0; }
.contact-page { padding-top: 165px; min-height: 85vh; }
.contact-section .contact-wrap { width: min(1200px,90%); margin: auto; display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: center; }
.contact-section .contact-kicker { display: block; font-size: 11px; letter-spacing: .2em; font-weight: 700; color: #cbd5e1; margin-bottom: 20px; }
.contact-section h1, .contact-section .contact-copy h2 { font-size: clamp(32px,3.7vw,48px); letter-spacing: -.04em; line-height: 1.15; margin-bottom: 25px; }
.contact-section .contact-copy p { font-size: 15px; line-height: 1.9; color: #cbd5e1; margin-bottom: 30px; }
.contact-section .contact-email { display: inline-flex; align-items: center; gap: 12px; font-weight: 600; font-size: 16px; }
.contact-section .contact-region { display: flex; align-items: center; gap: 15px; color: #94a3b8; font-size: 13px; line-height: 1.9; margin-top: 32px; }
.contact-section .contact-region i { font-size: 23px; }
.contact-section .contact-form-card { background: #fff; color: #0b1f3a; border-radius: 20px; padding: 35px; box-shadow: 0 25px 60px #0003; }
.contact-section .contact-form-card h2 { font-size: 24px; margin-bottom: 25px; }
.contact-section .contact-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-section .contact-form label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.contact-section .contact-form input:not([type="checkbox"]):not([type="hidden"]), .contact-section .contact-form textarea { width: 100%; border: 1px solid #cbd5e1; background: #f8fafc; border-radius: 8px; color: #0b1f3a; padding: 12px; font: inherit; font-size: 14px; margin-bottom: 16px; }
.contact-section .contact-form textarea { resize: vertical; min-height: 125px; }
.contact-section .contact-form input:focus, .contact-section .contact-form textarea:focus { outline: 2px solid #0b1f3a; outline-offset: 2px; }
.contact-section .contact-form .contact-consent { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; line-height: 1.7; color: #475569; margin-bottom: 20px; }
.contact-section .contact-consent input { width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px; accent-color: #0b1f3a; }
.contact-section .contact-consent a { text-decoration: underline; color: #0b1f3a; }
.contact-section .contact-submit { width: 100%; display: flex; align-items: center; justify-content: center; gap: 15px; padding: 14px; background: #0b1f3a; color: #fff; border: 0; border-radius: 8px; font-weight: 600; cursor: pointer; }
.contact-section .contact-submit:hover { background: #102b4d; }
.contact-section .contact-form-note { font-size: 11px; color: #64748b; text-align: center; margin-top: 15px; }
.contact-section .contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-section .field-validation-error, .contact-section .contact-errors { display: block; color: #9f1239; font-size: 12px; line-height: 1.6; margin-bottom: 15px; }
.contact-section .contact-errors ul { list-style: none; padding: 14px; background: #fff1f2; border-radius: 8px; }
.contact-section .validation-summary-valid { display: none; }
.contact-section .contact-success { border: 1px solid #94a3b8; background: #f1f5f9; color: #0b1f3a; padding: 15px; border-radius: 8px; margin-bottom: 22px; line-height: 1.6; }
@media(max-width:850px) { .contact-section .contact-wrap { grid-template-columns: 1fr; gap: 35px; } .contact-page { padding-top: 145px; } }
@media(max-width:480px) { .contact-section .contact-form-grid { grid-template-columns: 1fr; gap: 0; } .contact-section .contact-form-card { padding: 25px; } }
