/* ================= Contact page ================= */

.contact {
  min-height: calc(100vh - 72px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--site-bg);
}
@media (max-width: 960px) { .contact { grid-template-columns: 1fr; min-height: auto; } }

/* Left: pitch panel */
.contact .pitch {
  background: var(--q-deep-forest-teal);
  color: var(--q-warm-white);
  padding: 88px 64px 64px;
  display: flex; flex-direction: column; justify-content: space-between;
  position: relative;
  overflow: hidden;
}
body[data-theme="dark"] .contact .pitch { background: var(--q-carbon); border-right: 1px solid #1a2824; }
@media (max-width: 1100px) { .contact .pitch { padding: 72px 48px 48px; } }
@media (max-width: 720px) { .contact .pitch { padding: 48px 24px 40px; } }
.contact .pitch .grid-bg {
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(to right, currentColor 1px, transparent 1px),
    linear-gradient(to bottom, currentColor 1px, transparent 1px);
  background-size: 64px 64px;
  opacity: 0.06;
}
.contact .pitch .inner { position: relative; max-width: 520px; width: 100%; margin-left: auto; }
.contact .crumbs {
  font: 500 11px/1 var(--q-font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--q-celdon);
  opacity: 0.75;
  margin-bottom: 28px;
}
.contact .crumbs b { color: var(--q-luminous-emerald); font-weight: 600; }
.contact .pitch .eye {
  font: 600 12px/1 var(--q-font-display);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--q-luminous-emerald);
  display: inline-flex; align-items: center; gap: 10px;
  margin-bottom: 24px;
}
.contact .pitch .eye .bar { display: inline-block; width: 24px; height: 1px; background: currentColor; }
.contact .pitch h1 {
  font: 700 clamp(44px, 5.5vw, 80px)/0.96 var(--q-font-display);
  letter-spacing: -0.025em;
  color: var(--q-warm-white);
  margin: 0 0 32px;
}
.contact .pitch h1 em { font-style: italic; color: var(--q-luminous-emerald); font-weight: 700; }
.contact .pitch .lede {
  font: 400 18px/1.55 var(--q-font-body);
  color: var(--q-celdon);
  max-width: 460px;
  margin: 0 0 40px;
}

/* Pitch facts */
.facts {
  border-top: 1px solid rgba(184,212,194,.22);
  margin-bottom: 32px;
}
.facts .f {
  display: grid; grid-template-columns: 130px 1fr;
  gap: 24px; padding: 18px 0;
  border-bottom: 1px solid rgba(184,212,194,.16);
}
.facts .f .k {
  font: 500 11px/1.3 var(--q-font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--q-celdon);
  opacity: 0.8;
  padding-top: 2px;
}
.facts .f .v {
  font: 400 15px/1.45 var(--q-font-body);
  color: var(--q-warm-white);
}
.facts .f .v a { color: var(--q-luminous-emerald); text-decoration: none; font-weight: 500; }
.facts .f .v a:hover { text-decoration: underline; text-underline-offset: 3px; }

.contact .pitch .foot {
  font: 500 11px/1.3 var(--q-font-mono);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--q-celdon);
  opacity: 0.55;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px;
}
.contact .pitch .foot .dot { display: inline-block; width: 6px; height: 6px; background: var(--q-luminous-emerald); border-radius: 50%; margin-right: 8px; vertical-align: middle; }

/* Right: form panel */
.contact .form-wrap {
  padding: 88px 64px 64px;
  display: flex; flex-direction: column;
  background: var(--site-bg);
}
@media (max-width: 1100px) { .contact .form-wrap { padding: 72px 48px 48px; } }
@media (max-width: 720px) { .contact .form-wrap { padding: 48px 24px 40px; } }
.contact .form-inner { max-width: 520px; width: 100%; }
.contact .form-head {
  padding-bottom: 28px;
  border-bottom: 1px solid var(--site-border);
  margin-bottom: 32px;
}
.contact .form-head .eye {
  font: 600 12px/1 var(--q-font-display);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--site-accent);
  display: inline-flex; align-items: center; gap: 10px;
  margin-bottom: 18px;
}
.contact .form-head .eye .bar { display: inline-block; width: 24px; height: 1px; background: currentColor; }
.contact .form-head h2 {
  font: 600 36px/1.1 var(--q-font-display);
  letter-spacing: -0.012em;
  color: var(--site-fg);
  margin: 0 0 10px;
}
.contact .form-head p {
  font: 400 15px/1.55 var(--q-font-body);
  color: var(--site-muted);
  margin: 0;
}

/* Form */
form.q-form { display: grid; gap: 20px; }
.fld { display: grid; gap: 8px; }
.fld.row { grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 540px) { .fld.row { grid-template-columns: 1fr; } }
.fld label {
  font: 600 11px/1.2 var(--q-font-display);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--site-muted);
  display: flex; justify-content: space-between;
}
.fld label .req { color: var(--site-accent); font-weight: 500; letter-spacing: 0.08em; }
.fld input, .fld select, .fld textarea {
  font: 400 15px/1.4 var(--q-font-body);
  color: var(--site-fg);
  background: var(--site-surface);
  border: 1px solid var(--site-border);
  border-radius: 6px;
  padding: 13px 14px;
  transition: border-color var(--q-dur-fast) var(--q-ease), box-shadow var(--q-dur-fast) var(--q-ease);
  width: 100%;
  font-family: inherit;
}
body[data-theme="dark"] .fld input, body[data-theme="dark"] .fld select, body[data-theme="dark"] .fld textarea {
  background: #141C19;
}
.fld textarea { resize: vertical; min-height: 120px; }
.fld input:focus, .fld select:focus, .fld textarea:focus {
  outline: none;
  border-color: var(--site-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--site-accent) 18%, transparent);
}
.fld input::placeholder, .fld textarea::placeholder { color: var(--site-muted); opacity: 0.6; }
.fld input.err, .fld select.err, .fld textarea.err { border-color: var(--q-danger); }
.fld .msg { font: 400 12px var(--q-font-body); color: var(--q-danger); margin-top: 2px; min-height: 14px; }
.fld .msg.hint { color: var(--site-muted); }

/* Chip picker (focus + layer) */
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips input { display: none; }
.chips label {
  font: 500 13px var(--q-font-body);
  letter-spacing: 0;
  text-transform: none;
  padding: 9px 14px;
  border: 1px solid var(--site-border);
  border-radius: 999px;
  cursor: pointer;
  color: var(--site-fg);
  background: transparent;
  transition: all var(--q-dur-fast) var(--q-ease);
  display: inline-flex; align-items: center; gap: 6px;
}
.chips label:hover { border-color: var(--site-accent); }
.chips input:checked + label {
  background: var(--site-fg);
  color: var(--site-bg);
  border-color: var(--site-fg);
}

/* Submit row */
.submit-row {
  margin-top: 12px;
  padding-top: 28px;
  border-top: 1px solid var(--site-border);
  display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap;
}
.submit-row .privacy {
  font: 400 12px/1.4 var(--q-font-body);
  color: var(--site-muted);
  max-width: 280px;
}
.submit-row .privacy a { color: var(--site-accent); }

/* Success state */
.success {
  display: none;
  padding: 40px;
  background: var(--site-surface);
  border: 1px solid var(--site-accent);
  border-radius: 10px;
  text-align: center;
}
body[data-theme="dark"] .success { background: #141C19; }
.success.on { display: block; }
.success .chk {
  width: 56px; height: 56px; margin: 0 auto 20px;
  border-radius: 50%;
  background: var(--site-accent);
  color: var(--q-deep-forest-teal);
  display: flex; align-items: center; justify-content: center;
  font: 700 30px var(--q-font-display);
}
.success h3 { font: 600 26px/1.15 var(--q-font-display); letter-spacing: -0.01em; color: var(--site-fg); margin: 0 0 8px; }
.success p { font: 400 15px/1.5 var(--q-font-body); color: var(--site-muted); margin: 0; }

/* Minimal dark footer (simpler on contact) */
footer.site.slim { padding: 40px 0 28px; }
footer.site.slim .top { display: none; }
footer.site.slim .legal { border-top: 0; padding-top: 0; }