/* contact-page  */
.contact-page {
  padding: 40px 0;
  max-width: 720px;
  margin: 0 auto;
  font-size: 16px;
}

.contact-page h1 {
  font-size: 32px;
  margin-bottom: 10px;
}

.contact-page p {
  margin-bottom: 25px;
  line-height: 1.6;
}

.form-grid {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.form-grid .form-group {
  flex: 1;
  min-width: 240px;
}

.form-group {
  position: relative;
  margin-bottom: 25px;
}

.form-group.floating input,
.form-group.floating textarea {
  background: transparent;
  border: none;
  border-bottom: 2px solid var(--border);
  padding: 12px 0 8px;
  width: 100%;
  color: var(--text);
  font-size: 16px;
  transition: border-color 0.2s;
}

.form-group.floating input:focus,
.form-group.floating textarea:focus {
  outline: none;
  border-color: var(--link);
}

.form-group.floating label {
  position: absolute;
  left: 0;
  top: 12px;
  font-size: 16px;
  color: #aaa;
  pointer-events: none;
  transition: 0.2s ease all;
}

.form-group.floating input:focus ~ label,
.form-group.floating input:not(:placeholder-shown) ~ label,
.form-group.floating textarea:focus ~ label,
.form-group.floating textarea:not(:placeholder-shown) ~ label {
  top: -8px;
  font-size: 12px;
  color: var(--link);
}

textarea {
  resize: vertical;
}

.button.contact-btn {
  display: inline-block;
  padding: 12px 28px;
  font-size: 16px;
  border-radius: 6px;
  border: none;
  background: var(--link);
  color: #000;
  cursor: pointer;
  transition: background 0.2s ease;
}

.button.contact-btn:hover {
  background: var(--hover);
}

.contact-response {
  margin-top: 20px;
  padding: 15px;
  border-radius: 6px;
  font-size: 15px;
  background-color: #1a1a1a;
  border: 1px solid #444;
  color: #ccc;
}

.contact-note {
  font-size: 14px;
  color: #aaa;
  margin-top: 40px;
}
