/* form.css — uses the same visual language as index.css/blog.css */

.form-frame{
  max-width:720px;
}

.back-link{
  display:inline-flex;
  align-items:center;
  gap:0.55rem;
  font-size:0.7rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--fg-dim);
  text-decoration:none;
  margin-bottom:2.4rem;
  opacity:0;
  animation:rise 0.7s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:0.02s;
  transition:color 0.3s ease, gap 0.3s ease;
}

.back-link:hover,
.back-link:focus-visible{
  color:var(--fg);
  gap:0.8rem;
}

.back-link i{
  font-size:0.65rem;
}

.service-form{
  margin-top:3rem;
  padding-top:2.2rem;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:1.55rem;
  opacity:0;
  animation:rise 0.8s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:0.42s;
}

.field{
  display:flex;
  flex-direction:column;
  gap:0.65rem;
}

.field label{
  font-size:0.68rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--fg-dim);
}

.field input,
.field textarea{
  width:100%;
  border:1px solid var(--line);
  border-radius:0;
  outline:none;
  background:var(--bg-soft);
  color:var(--fg);
  font-family:'JetBrains Mono', monospace;
  font-size:0.85rem;
  padding:0.95rem 1rem;
  transition:border-color 0.3s ease, background 0.3s ease;
}

.field input{
  min-height:50px;
}

.field textarea{
  min-height:130px;
  resize:vertical;
  line-height:1.6;
}

.field input::placeholder,
.field textarea::placeholder{
  color:var(--fg-dim);
  opacity:0.65;
}

.field input:focus,
.field textarea:focus{
  border-color:var(--fg);
  background:var(--bg);
}

.submit-button{
  margin-top:0.35rem;
  min-height:52px;
  border:1px solid var(--fg);
  background:var(--fg);
  color:var(--bg);
  padding:0.9rem 1.15rem;
  font-family:'JetBrains Mono', monospace;
  font-size:0.7rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0.75rem;
  transition:background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.submit-button:hover,
.submit-button:focus-visible{
  background:transparent;
  color:var(--fg);
}

.submit-button:active{
  transform:translateY(1px);
}

.submit-button:disabled{
  cursor:wait;
  opacity:0.6;
}

.form-status{
  min-height:1.2em;
  margin-top:-0.5rem;
  font-size:0.68rem;
  color:var(--fg-dim);
  letter-spacing:0.05em;
}

.form-status.success{
  color:var(--fg);
}

.hidden-frame{
  display:none;
}

@media (max-width:480px){
  .service-form{
    margin-top:2.6rem;
  }

  .field input,
  .field textarea{
    font-size:0.82rem;
  }
}