body { background: var(--paper); }

.contact-wrap {
  max-width: var(--container); margin: 0 auto;
  padding: 80px var(--gutter) 72px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px;
  align-items: start;
}
@media (max-width: 860px) {
  .contact-wrap { grid-template-columns: 1fr; gap: 48px; padding-bottom: 56px; }
  .contact-form-card { position: static; }
}
@media(max-width:767px){ .contact-wrap { padding-top: 56px; } }

/* Left info */
.contact-info .eyebrow { margin-bottom: 28px; }
.contact-info h1 { font-family: var(--font-display); font-size: clamp(36px, 5vw, 60px); font-weight: 500; letter-spacing: -0.032em; line-height: 1.04; margin-bottom: 24px; text-wrap: balance; }
.contact-info > p { font-size: 16px; color: var(--gray-600); line-height: 1.72; margin-bottom: 44px; max-width: 380px; }

.contact-details { display: grid; gap: 0; border-top: 1px solid var(--gray-200); }
.cd-row { display: flex; gap: 20px; align-items: flex-start; padding: 22px 0; border-bottom: 1px solid var(--gray-200); }
.cd-label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray-400); width: 80px; flex-shrink: 0; padding-top: 2px; }
.cd-val { font-size: 15px; color: var(--ink); line-height: 1.5; }
.cd-val a { color: var(--accent); }
.cd-val a:hover { text-decoration: underline; }
.cd-val .cd-note { display: block; font-size: 12px; color: var(--gray-500); margin-top: 4px; }

.contact-demo-note { margin-top: 40px; background: var(--accent-soft); border: 1px solid var(--accent-line); border-radius: 12px; padding: 20px 22px; }
.cdn-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent); margin-bottom: 8px; }
.cdn-text { font-size: 14px; color: var(--ink); line-height: 1.6; margin-bottom: 14px; }
.cdn-link { font-size: 13px; color: var(--accent); font-weight: 500; display: inline-flex; align-items: center; gap: 6px; }
.cdn-link .arr { transition: transform 0.2s; }
.cdn-link:hover .arr { transform: translateX(3px); }

/* Form */
.contact-form-card {
  background: white; border: 1px solid var(--gray-200); border-radius: 16px;
  padding: 32px 28px;
  box-shadow: 0 16px 48px rgba(11, 13, 16, 0.08);
  position: sticky;
  top: 88px;
  align-self: start;
  max-height: none;
  overflow: visible;
}
@media(max-width:480px){ .contact-form-card{padding:28px 24px;} }
.form-title { font-family: var(--font-display); font-size: 22px; font-weight: 500; letter-spacing: -0.02em; margin-bottom: 6px; }
.form-sub { font-size: 14px; color: var(--gray-500); margin-bottom: 32px; line-height: 1.5; }
.form-row { margin-bottom: 20px; }
.form-row label { display: block; font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray-500); margin-bottom: 8px; }
.form-row input, .form-row select, .form-row textarea {
  width: 100%; padding: 12px 14px;
  background: var(--paper); border: 1px solid var(--gray-200);
  border-radius: 8px; font-size: 14px; color: var(--ink);
  font-family: var(--font-sans); transition: border-color 0.2s, box-shadow 0.2s;
  appearance: none;
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus {
  outline: none; border-color: var(--accent); background: white;
  box-shadow: 0 0 0 3px var(--accent-soft);
}
.form-row textarea { height: 96px; resize: vertical; min-height: 80px; max-height: 220px; }
.form-row select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B6C6F' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; cursor: pointer; }
.form-row-two { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media(max-width:480px){ .form-row-two{grid-template-columns:1fr;} }
.form-submit { width: 100%; height: 50px; border-radius: 999px; font-size: 15px; font-weight: 500; background: var(--ink); color: white; border: none; cursor: pointer; font-family: var(--font-sans); transition: background 0.2s, transform 0.2s; display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 8px; }
.form-submit:hover { background: var(--accent); transform: translateY(-1px); }
.form-fine { font-family: var(--font-mono); font-size: 11px; color: var(--gray-400); text-align: center; margin-top: 14px; letter-spacing: 0.04em; }

/* FAQ strip */
.contact-faq { background: white; border-top: 1px solid var(--gray-200); border-bottom: 1px solid var(--gray-200); padding: 72px var(--gutter); }
.contact-faq .inner { max-width: var(--container); margin: 0 auto; }
.contact-faq h2 { font-family: var(--font-display); font-size: clamp(22px, 3vw, 32px); font-weight: 500; letter-spacing: -0.025em; margin-bottom: 36px; }
.cfaq-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media(max-width:720px){ .cfaq-grid{grid-template-columns:1fr;gap:24px;} }
.cfaq-item { }
.cfaq-q { font-size: 15px; font-weight: 500; color: var(--ink); margin-bottom: 8px; }
.cfaq-a { font-size: 14px; color: var(--gray-600); line-height: 1.65; }