/* ════════════════════════════════
   CONTACT
════════════════════════════════ */
#contact {
  text-align: center;
  padding: 100px 0;
  position: relative;
  overflow: hidden;
}

#contact::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 560px; height: 280px;
  background: radial-gradient(ellipse, rgba(74, 143, 232, .04) 0%, transparent 65%);
  pointer-events: none;
}

#contact h2 {
  font-family: var(--serif);
  font-size: clamp(30px, 4vw, 50px);
  font-weight: 400;
  color: var(--bright);
  margin-bottom: 12px;
}

#contact .sub {
  margin: 0 auto 36px;
  text-align: center;
}

.cf {
  display: flex;
  max-width: 360px;
  margin: 0 auto 10px;
}

.cf input {
  flex: 1;
  padding: 11px 15px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-right: none;
  color: var(--text);
  font-family: var(--sans);
  font-size: 14px;
  outline: none;
  transition: border-color .15s;
}
.cf input::placeholder { color: var(--dim); }
.cf input:focus { border-color: rgba(74, 143, 232, .4); }

.cf button {
  padding: 11px 20px;
  background: var(--accent);
  border: 1px solid var(--accent);
  color: #05090f;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: opacity .15s;
}
.cf button:hover { opacity: .84; }

.cf-note {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .04em;
  color: var(--dim);
}

.contact-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 28px;
}

.clink {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 300;
  color: var(--muted);
  text-decoration: none;
  transition: color .15s;
}
.clink:hover { color: var(--text); }
.clink svg { flex-shrink: 0; }

/* ════════════════════════════════
   FOOTER
════════════════════════════════ */
footer {
  border-top: 1px solid var(--border);
  padding: 26px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.fl {
  display: flex;
  align-items: center;
  gap: 1px;
  font-family: var(--sans);
  font-size: 15px;
  font-weight: 500;
  color: var(--bright);
}

.fl-links { display: flex; gap: 20px; list-style: none; }
.fl-links a { font-size: 12px; color: var(--dim); text-decoration: none; transition: color .12s; }
.fl-links a:hover { color: var(--muted); }

.fl-copy { font-family: var(--mono); font-size: 11px; color: var(--dim); }

@media (max-width: 860px) {
  footer { flex-direction: column; gap: 12px; text-align: center; }
}
