/* Contact page continuity patch. This file only styles /contact/ and does not alter other pages. */
.contact-hero { padding-top: 58px !important; padding-bottom: 34px !important; }
.contact-hero h1 { max-width: 900px; font-size: clamp(38px, 5.4vw, 68px) !important; line-height: 1.02 !important; letter-spacing: -.055em !important; margin: 18px 0 20px !important; }
.contact-hero h1 span { color: #d2ff3a; }
.contact-hero .lead { max-width: 720px; font-size: 16px !important; line-height: 1.8 !important; margin: 0 !important; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(260px, .85fr); gap: 26px; align-items: start; padding-top: 22px; padding-bottom: 76px; }
.contact-panel, .contact-sidebar .panel { padding: clamp(22px, 3vw, 34px) !important; }
.contact-panel h2, .contact-sidebar h2 { font-size: clamp(21px, 2.2vw, 28px) !important; line-height: 1.2 !important; letter-spacing: -.035em; margin: 8px 0 12px !important; }
.contact-panel .copy, .contact-sidebar .copy { font-size: 14px !important; line-height: 1.75 !important; margin: 0 0 24px !important; }
.contact-form { display: grid; gap: 17px; }
.contact-form .field { display: grid; gap: 8px; min-width: 0; }
.contact-form label { font-size: 13px !important; font-weight: 600; letter-spacing: .015em; line-height: 1.4; }
.contact-form label span { color: #d2ff3a; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #303642; border-radius: 7px; background: #0b0d12; color: #f5f6f2; font: 400 14px/1.5 'DM Sans', sans-serif; padding: 13px 15px; outline: none; }
.contact-form input, .contact-form select { min-height: 48px; }
.contact-form textarea { min-height: 130px; resize: vertical; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #8492a8; opacity: 1; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: #d2ff3a; box-shadow: 0 0 0 3px rgba(210,255,58,.12); }
.contact-submit { justify-self: start; cursor: pointer; font: inherit; margin-top: 2px; }
.fine-print { color: #9aa5b8; font-size: 12px !important; line-height: 1.65 !important; margin: 0 !important; }
.form-status { color: #d2ff3a; font-size: 13px; margin: 0; }
.contact-sidebar { display: grid; gap: 18px; }
.contact-sidebar .panel { min-width: 0; }
.contact-email { display: inline-block; max-width: 100%; overflow-wrap: anywhere; font: 600 clamp(17px, 1.8vw, 23px)/1.35 'Space Grotesk', sans-serif; text-decoration: none; }
.contact-sidebar .btn { display: inline-flex; max-width: 100%; margin-top: 2px; }
.contact-sidebar .eyebrow, .contact-panel .eyebrow { font-size: 10px !important; letter-spacing: .13em; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 9999; }
.skip-link:focus { left: 12px; top: 12px; padding: 10px 14px; background: #d2ff3a; color: #111; border-radius: 4px; }

/* Keep the shared header behaviour consistent with the homepage. */
@media (max-width: 760px) {
  .contact-hero { padding-top: 38px !important; padding-bottom: 22px !important; }
  .contact-hero h1 { font-size: clamp(34px, 9vw, 48px) !important; line-height: 1.04 !important; margin: 14px 0 16px !important; }
  .contact-hero .lead { font-size: 15px !important; line-height: 1.7 !important; }
  .contact-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; padding-top: 16px; padding-bottom: 46px; }
  .contact-panel, .contact-sidebar .panel { padding: 22px !important; }
  .contact-panel h2, .contact-sidebar h2 { font-size: 22px !important; }
  .contact-form { gap: 15px; }
  .contact-form input, .contact-form select, .contact-form textarea { font-size: 14px !important; padding: 12px 13px; }
  .contact-form input, .contact-form select { min-height: 46px; }
  .contact-form textarea { min-height: 118px; }
  .contact-sidebar { gap: 14px; }
}
