.contact-section { background: var(--red); color: var(--cream); padding: 88px 0 64px; scroll-margin-top: 0; }
.contact-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.4fr); gap: clamp(32px, 4vw, 64px); }
.contact-copy h2 { font-size: clamp(64px, 8.4vw, 134px); line-height: 1.06; margin: 20px 0 26px; }
.contact-copy > p { max-width: 360px; font-size: clamp(21px, 2vw, 29px); line-height: 1.4; margin: 0 0 34px; }
.contact-linkedin { display: inline-block; font-size: 18px; }
.contact-linkedin span { margin-left: 5px; }
.contact-form { min-width: 0; }
.contact-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.contact-field label { display: block; font-size: 18px; font-weight: 700; margin-bottom: 10px; }
.contact-field input, .contact-field textarea { display: block; width: 100%; border: 2px solid transparent; border-radius: 0; background: var(--cream); color: var(--ink); font: inherit; font-size: 18px; line-height: 1.5; padding: 13px 16px; }
.contact-field textarea { resize: vertical; min-height: 174px; }
.contact-field :is(input, textarea):focus-visible { outline: 3px solid var(--lime); outline-offset: 4px; }
.contact-field :is(input, textarea):disabled { opacity: 1; cursor: not-allowed; }
.contact-message { margin-top: 26px; }
.contact-submit { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; border: 2px solid var(--ink); border-radius: 0; padding: 14px 22px; margin-top: 26px; font: inherit; font-size: 20px; font-weight: 700; background: var(--lime); color: var(--ink); cursor: pointer; }
.contact-submit:enabled:hover { background: var(--cream); }
.contact-submit:focus-visible { outline: 3px solid var(--cream); outline-offset: 4px; }
.contact-submit:disabled { opacity: .65; cursor: not-allowed; }
.contact-pending { background: var(--cream); color: var(--ink); border-left: 5px solid var(--ink); padding: 12px 16px; margin: 0 0 24px; font-size: 15px; line-height: 1.5; }
.contact-status { margin: 14px 0 0; font-size: 16px; }
.contact-status:empty { display: none; }
.contact-honeypot { display: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.contact-section + .red-footer { padding-top: 0; }
.contact-section + .red-footer > .red-shell::before { content: ''; display: block; height: 1px; background: rgb(255 248 218 / 40%); margin-bottom: 48px; }
@media (max-width: 800px) {
  .contact-section { padding: 56px 0; }
  .contact-layout { grid-template-columns: 1fr; gap: 40px; }
  .contact-copy h2 { margin-top: 14px; }
  .contact-copy > p { max-width: 490px; margin-bottom: 24px; }
}
@media (max-width: 540px) {
  .contact-fields { grid-template-columns: 1fr; gap: 24px; }
  .contact-copy h2 { font-size: 70px; }
  .contact-submit { width: 100%; }
}
