.nx-contact-page { background: #f6f8fa; color: #183047; }
.nx-contact-section { padding: 155px 0 90px; }
.nx-contact-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 80px; align-items: start; }
.nx-contact-copy { padding-top: 24px; }
.nx-contact-eyebrow { font-size: 12px; letter-spacing: .18em; font-weight: 600; color: #567085; margin-bottom: 24px; }
.nx-contact-copy h1 { font-size: clamp(36px,4vw,56px); font-weight: 550; line-height: 1.15; margin: 0 0 24px; color: #12283b; }
.nx-contact-intro { font-size: 19px; line-height: 1.65; margin: 0; }
.nx-contact-call { border-top: 1px solid #dce4eb; margin-top: 40px; padding-top: 28px; }
.nx-contact-call span { display: block; font-size: 15px; margin-bottom: 8px; }
.nx-contact-call a { color: #16354f; font-size: 25px; font-weight: 550; }
.nx-contact-faq { display: inline-block; margin-top: 32px; color: #126bc1; font-size: 16px; text-decoration: underline; text-underline-offset: 4px; }
.nx-contact-panel { padding: 40px; background: #fff; border: 1px solid #dfe6ec; border-radius: 20px; box-shadow: 0 15px 45px -28px #18304740; scroll-margin-top: 115px; }
.nx-contact-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.nx-contact-full { grid-column: 1 / -1; }
.nx-contact-field label { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 550; color: #173047; }
.nx-contact-field input, .nx-contact-field textarea { box-sizing: border-box; width: 100%; min-width: 0; padding: 13px 15px; margin: 0; font: inherit; font-size: 16px; border: 1px solid #cbd8e1; border-radius: 8px; background: #fff; color: #183047; }
.nx-contact-field textarea { resize: vertical; min-height: 150px; }
.nx-contact-field input:focus, .nx-contact-field textarea:focus { border-color: #167bf3; outline: 3px solid #167bf320; outline-offset: 1px; }
.nx-contact-hint { display: block; font-size: 13px; line-height: 1.6; color: #566d80; margin-top: 8px; }
.nx-contact-privacy { font-size: 13px; line-height: 1.6; color: #566d80; margin: 24px 0 20px; }
.nx-contact-privacy a { color: #126bc1; text-decoration: underline; text-underline-offset: 3px; }
.nx-contact-submit { width: 100%; white-space: normal; }
.nx-contact-submit:disabled { opacity: .65; cursor: wait; }
.nx-contact-result { padding: 15px; margin-top: 22px; border-radius: 8px; font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.nx-contact-result[hidden] { display: none; }
.nx-contact-result.is-success { background: #edf8f0; color: #205735; }
.nx-contact-result.is-error { background: #fff2ee; color: #853422; }
.nx-contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.nx-contact-page a:focus-visible, .nx-contact-submit:focus-visible { outline: 3px solid #167bf3; outline-offset: 4px; }
@media(max-width:991.98px) { .nx-contact-layout { grid-template-columns: 1fr; gap: 36px; } .nx-contact-copy { padding-top: 0; } .nx-contact-section { padding-top: 120px; } }
@media(max-width:575.98px) { .nx-contact-section { padding-bottom: 60px; } .nx-contact-panel { padding: 24px 20px; border-radius: 14px; } .nx-contact-fields { grid-template-columns: 1fr; gap: 18px; } .nx-contact-intro { font-size: 17px; } }
