.contact-hero { position: relative; overflow: hidden; }
.contact-hero h1,
.contact-hero p.text-white { color: var(--falcon-gray-white, #fff) !important; }
.contact-hero h1 .text-warning { color: var(--falcon-warning) !important; }
.contact-page { background: var(--falcon-body-bg); color: var(--falcon-body-color); }
.contact-intro { max-width: 46rem; }
.contact-card { border: 1px solid var(--falcon-border-color); background: var(--falcon-card-bg); transition: transform .2s ease, box-shadow .2s ease; }
.contact-card:hover { transform: translateY(-2px); }
.contact-channel { display: flex; gap: 1rem; align-items: center; padding: 1rem 0; color: var(--falcon-body-color); border-bottom: 1px solid var(--falcon-border-color); text-decoration: none; }
.contact-channel:hover { color: var(--falcon-primary); }
.contact-channel--static { cursor: default; }
.contact-channel--static:hover { color: var(--falcon-body-color); }
.contact-channel__icon { width: 2.75rem; height: 2.75rem; border-radius: .75rem; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.contact-channel__arrow { margin-left: auto; opacity: 0; transform: translateX(-.25rem); transition: opacity .2s ease, transform .2s ease; }
.contact-channel:hover .contact-channel__arrow { opacity: 1; transform: translateX(0); }
.contact-socials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.contact-socials a { display: flex; align-items: center; justify-content: center; gap: .5rem; min-height: 2.75rem; padding: .65rem; color: var(--falcon-body-color); background: var(--falcon-bg-100); border: 1px solid var(--falcon-border-color); border-radius: .65rem; text-decoration: none; transition: border-color .2s ease, color .2s ease, transform .2s ease; }
.contact-socials a:hover, .contact-socials a:focus-visible { color: var(--falcon-primary); border-color: var(--falcon-primary); transform: translateY(-1px); }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.contact-faq { max-width: 56rem; }
.contact-faq .accordion-item { color: var(--falcon-body-color); background: var(--falcon-card-bg); border-color: var(--falcon-border-color); }
.contact-faq .accordion-button { color: var(--falcon-body-color); background: var(--falcon-card-bg); }
.contact-faq .accordion-button:not(.collapsed) { color: var(--falcon-primary); background: var(--falcon-soft-primary); }
#contactLegalModal .modal-content { color: var(--falcon-body-color); background: var(--falcon-card-bg); border-color: var(--falcon-border-color); }
#contactFormStatus:not(:empty) { margin-top: .25rem; padding: .75rem 1rem; border-radius: .5rem; background: var(--falcon-bg-100); }
#contactFormStatus.is-success { color: var(--falcon-success); background: var(--falcon-soft-success); }
#contactFormStatus.is-error { color: var(--falcon-danger); background: var(--falcon-soft-danger); }
html.dark .contact-card, html.dark .contact-faq .accordion-item, html.dark .contact-faq .accordion-button, html.dark #contactLegalModal .modal-content,
[data-bs-theme="dark"] .contact-card, [data-bs-theme="dark"] .contact-faq .accordion-item, [data-bs-theme="dark"] .contact-faq .accordion-button, [data-bs-theme="dark"] #contactLegalModal .modal-content { background: var(--falcon-card-bg); }
@media (max-width: 575.98px) { .contact-socials { grid-template-columns: 1fr; } .contact-channel__arrow { display: none; } }