.contact-section { padding: clamp(65px, 8vw, 110px) 0 clamp(80px, 10vw, 130px); }
.contact-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: start; gap: clamp(45px, 7vw, 105px); }
.contact-intro h1 { margin: 0 0 24px; font-size: clamp(3.4rem, 5.7vw, 6rem); font-weight: 660; line-height: 1.04; }
.contact-intro .mk-lead { margin: 0; max-width: 36ch; }
.contact-details { margin: 43px 0 29px; padding-top: 24px; border-top: 1px solid var(--mk-line); }
.contact-details h2 { margin: 0 0 9px; font-size: 1rem; font-weight: 650; letter-spacing: -.02em; }
.contact-details p { max-width: 40ch; margin: 0; font-size: .9rem; line-height: 1.7; }
.contact-details .contact-address { margin-bottom: 17px; color: var(--mk-accent); font-size: 1.02rem; overflow-wrap: anywhere; }
.contact-intro .mk-text-link { font-size: .86rem; }
.contact-panel { min-width: 0; padding: clamp(24px, 3.5vw, 42px); border: 1px solid var(--mk-line); border-radius: 8px; background: var(--mk-surface); }
.contact-panel h2 { margin: 0 0 29px; font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 650; letter-spacing: -.045em; }
.contact-form { display: grid; gap: 23px; }
.contact-field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-field { display: grid; min-width: 0; gap: 8px; }
.contact-field label { color: var(--mk-ink); font-size: .85rem; font-weight: 590; }
body.marketing.contact-page .contact-field input, body.marketing.contact-page .contact-field textarea { min-height: 49px; padding: 12px 14px; border: 1px solid var(--mk-line); border-radius: 5px; background: var(--mk-bg); color: var(--mk-ink); font-size: .94rem; line-height: 1.5; }
body.marketing.contact-page .contact-field input:focus, body.marketing.contact-page .contact-field textarea:focus { border-color: var(--mk-accent); outline: 2px solid var(--mk-accent); outline-offset: 2px; box-shadow: none; }
body.marketing.contact-page .contact-field textarea { min-height: 180px; resize: vertical; }
.contact-privacy { margin: -6px 0 0; font-size: .78rem; line-height: 1.6; }
.contact-privacy a { color: var(--mk-accent) !important; text-decoration: underline; text-underline-offset: 3px; }
.contact-submit { justify-self: start; min-width: 180px; }
.contact-error { margin: -9px 0 26px; padding: 14px 16px; border-left: 2px solid var(--danger); background: var(--mk-bg); }
.contact-error p { margin: 0; color: var(--mk-ink); font-size: .89rem; line-height: 1.6; }
.contact-confirmation h2 { margin-bottom: 17px; }
.contact-confirmation > p { margin: 0 0 24px; font-size: .95rem; line-height: 1.7; }
.contact-confirmation .contact-reference { padding-top: 21px; border-top: 1px solid var(--mk-line); font-size: .83rem; }
.contact-reference strong { display: block; margin-top: 7px; color: var(--mk-ink); font-family: var(--mono); font-size: .8rem; font-weight: 500; overflow-wrap: anywhere; }
.contact-confirmation .mk-actions { gap: 23px; }
@media (max-width: 1000px) { .contact-field-row { grid-template-columns: 1fr; gap: 23px; } }
@media (max-width: 850px) {
  .contact-layout { grid-template-columns: 1fr; gap: 40px; }
  .contact-intro .mk-lead { max-width: 55ch; }
  .contact-details { margin-top: 29px; }
  .contact-details p { max-width: 65ch; }
  .contact-field-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 620px) {
  .contact-section { padding: 58px 0 76px; }
  .contact-intro h1 { max-width: 9ch; font-size: clamp(3rem, 12vw, 4.3rem); }
  .contact-panel { padding: 25px 20px; }
  .contact-field-row { grid-template-columns: 1fr; gap: 23px; }
  .contact-submit { justify-self: stretch; }
  .contact-confirmation .mk-actions { align-items: stretch; }
}
