.contact-main { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 100px); align-items: start; }
.contact-intro { border: 0; padding: 0; }
.page-contact .contact-intro h1 { max-width: 100%; font-size: clamp(3.25rem, 5.7vw, 6rem); line-height: .98; overflow-wrap: normal; text-wrap: balance; }
.contact-intro h1 span { display: block; }
.contact-intro a { font-size: 1.05rem; text-underline-offset: .25em; }
.contact-panel { padding-top: 4px; min-width: 0; }
#contact-form { display: flex; flex-direction: column; gap: 12px; }
#contact-form label { margin-top: 12px; font-size: 1rem; font-weight: 500; }
#contact-form label span { font-weight: 400; color: #51555c; }
#contact-form input, #contact-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #8b8b88; border-radius: 8px; background: rgba(255,255,255,.55); padding: 14px 16px; color: #171a1e; font: inherit; font-size: 1rem; line-height: 1.5; }
#contact-form textarea { resize: vertical; min-height: 160px; }
.contact-help, #contact-status { font-size: .95rem; line-height: 1.6; color: #444851; margin: 0 0 10px; }
.contact-help a { text-underline-offset: .2em; }
#contact-submit { display: flex; justify-content: space-between; align-items: center; min-height: 54px; margin: 8px 0 6px; padding: 14px 22px; border: 1px solid #171a1e; border-radius: 30px; background: #171a1e; color: #fff; font: inherit; cursor: pointer; }
#contact-submit:disabled { background: #e3dfd8; color: #545454; border-color: #aaa59d; cursor: not-allowed; }
#contact-form :focus-visible { outline: 3px solid #454e5e; outline-offset: 4px; }
.contact-trap { display: none; }
#contact-status { min-height: 3em; }
@media (max-width: 800px) {
  .contact-main { grid-template-columns: 1fr; padding-top: 54px; gap: 40px; }
  .contact-intro .section-code { margin-bottom: 26px; }
  .contact-intro > p:not(.section-code) { margin-top: 24px; }
  .page-contact .legal-nav a { font-size: .7rem; min-height: 40px; }
}
