.contact-page { max-width: 1280px; margin: 0 auto; padding: 160px 48px 100px; }
.contact-heading { margin-bottom: 56px; }
.contact-heading > p:last-child { max-width: 580px; color: var(--gray-300); margin-top: 24px; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 80px; align-items: start; }
.contact-form-section h2 { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: 26px; margin-bottom: 24px; }
.contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-field { min-width: 0; }
.contact-field-wide { grid-column: 1 / -1; }
.contact-field label { display: block; margin-bottom: 8px; font-size: 16px; }
.contact-field label span { color: var(--gray-300); }
.contact-field input, .contact-field textarea { display: block; width: 100%; background: var(--gray-900); color: var(--white); border: 1px solid var(--gray-500); border-radius: 0; padding: 14px 16px; font: inherit; font-size: 16px; }
.contact-field textarea { resize: vertical; min-height: 164px; }
.contact-page :focus-visible { outline: 2px solid var(--white); outline-offset: 4px; }
.contact-field input:focus, .contact-field textarea:focus { border-color: var(--red-bright); }
.contact-privacy { font-size: 14px; color: var(--gray-300); margin: 24px 0; }
.contact-privacy a { text-underline-offset: 3px; }
.contact-privacy a:hover { color: var(--white); }
#contact-submit { min-height: 52px; }
#contact-submit:disabled { opacity: .65; cursor: wait; }
.contact-feedback { margin-top: 20px; padding: 18px 20px; border-left: 3px solid currentColor; background: var(--gray-900); }
.contact-error { color: #ff9393; }
.contact-success { color: var(--white); }
.contact-social { border-top: 2px solid var(--red); padding-top: 28px; }
.contact-social h2 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(48px, 5vw, 68px); line-height: 1; letter-spacing: 1px; }
.contact-social > p:not(.section-label) { color: var(--gray-300); margin: 20px 0 32px; }
.contact-social-link { display: flex; align-items: center; gap: 18px; padding: 24px 0; border-top: 1px solid var(--gray-700); text-decoration: none; }
.contact-social-link:last-child { border-bottom: 1px solid var(--gray-700); }
.contact-social-link > svg { flex-shrink: 0; }
.contact-social-link strong { display: block; font-family: 'Oswald', sans-serif; font-size: 24px; font-weight: 500; }
.contact-social-link small { display: block; color: var(--gray-300); font-size: 14px; }
.contact-social-arrow { margin-left: auto; font-size: 28px; color: var(--red-bright); }
.contact-social-link:hover strong { color: var(--red-bright); }
.contact-honeypot, .contact-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 900px) {
  .contact-layout { gap: 40px; }
  .contact-fields { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .contact-page { padding: 124px 24px 72px; }
  .contact-heading { margin-bottom: 36px; }
  .contact-layout { grid-template-columns: 1fr; gap: 56px; }
  #contact-submit { width: 100%; justify-content: center; }
}
