.contact-page .contact-preview { position: relative; z-index: 2; min-height: calc(100svh - var(--events-bars-height)); padding: clamp(32px, 5vw, 76px) 7.4% clamp(80px, 10vw, 150px); }
.contact-page .contact-preview h1 { margin: 0 0 clamp(26px, 4vw, 60px); font-size: clamp(30px, 4vw, 42px); line-height: 1.15; }
.contact-page .home-contact-grid { width: min(100%, 1080px); grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 5vw, 70px); }
.contact-page .home-contact-copy { font-size: clamp(18px, 2vw, 23px); line-height: 1.5; }
.contact-page .home-contact-email { font-size: 16px; color: #000 !important; gap: 10px; }
.contact-page .home-contact-email svg { flex-basis: 20px; height: 16px; color: #000; }
.contact-page .home-contact-email:is(:hover, :focus-visible) span { text-decoration: underline; text-underline-offset: 4px; }
.contact-page .contact-form { position: relative; z-index: 2; display: grid; gap: 18px; padding: 0; border: 0; background: none; }
.contact-page .field-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.28fr); gap: 18px; }
.contact-page .contact-form :is(input, textarea) { width: 100%; min-width: 0; border: 1px solid #777; border-radius: 0; background: #fff; color: #000; padding: 10px 12px; font: 400 18px/1.3 var(--reference-serif); }
.contact-page .contact-form :is(input, textarea)::placeholder { color: #555; opacity: 1; }
.contact-page .contact-form textarea { min-height: 230px; resize: vertical; }
.contact-page .contact-form .square-button { justify-self: start; font-size: 18px; padding: .6em .9em; }
.contact-page .contact-form button:disabled { opacity: .6; cursor: wait; }
.contact-page .contact-form :is(.form-success, .form-error) { padding: 12px; border: 1px solid #000; background: #fff; color: #000; font-size: 17px; }
@media (max-width: 700px) {
  .contact-page .home-contact-grid { grid-template-columns: 1fr; gap: 30px; }
  .contact-page .field-row { grid-template-columns: 1fr; }
  .contact-page .contact-preview { padding-inline: 6%; }
}
