.general-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 48px; scroll-margin-top: 110px; padding-top: 42px; padding-bottom: 48px; }
.general-contact-intro h2 { font: 400 clamp(2rem, 4vw, 3.4rem)/1.1 Georgia, serif; }
.general-contact-intro p { color: #b5c7cb; line-height: 1.7; }
.general-contact a { color: #7aebed; text-underline-offset: 4px; }
#general-contact-form { min-width: 0; padding: 26px; border: 1px solid #356773; border-radius: 18px; background: #0c2029; }
.general-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.general-contact-wide { grid-column: 1 / -1; }
.general-contact textarea { min-height: 180px; }
.general-contact :focus-visible { outline: 3px solid #e2ad62; outline-offset: 4px; }
.general-contact input, .general-contact textarea { scroll-margin-top: 110px; }
.general-contact [aria-invalid="true"] { border: 2px solid #ffaaa3; }
#general-contact-status { line-height: 1.6; color: #c7d8dc; scroll-margin-top: 110px; }
#general-contact-status[data-state="error"] { color: #ffbbb5; }
#send-message:disabled { opacity: .6; cursor: not-allowed; }
#send-message { font: inherit; font-weight: 700; min-height: 46px; }
@media (max-width: 850px) { .general-contact { grid-template-columns: 1fr; gap: 20px; } }
@media (max-width: 540px) { .general-contact-fields { grid-template-columns: 1fr; } #general-contact-form { padding: 22px 18px; } }
