/* contact.css */
.contact-section{
  padding-top:var(--nav-h);
  min-height:100vh;position:relative;overflow:hidden;
  display:flex;align-items:center;
}
.contact-noise{
  position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  background-size:256px;opacity:.5;pointer-events:none;
}
.contact-inner{
  display:grid;grid-template-columns:1fr 1.15fr;
  align-items:start;gap:72px;
  padding:80px 0;position:relative;z-index:1;
}
.contact-alt{margin-top:40px}
.contact-alt p{font-size:.9rem;color:var(--text-400);margin-bottom:4px}

/* Form card */
.contact-form-card{
  background:var(--bg-700);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:44px 40px;
}
.contact-form-card h2{
  font-family:var(--font-display);font-size:1.5rem;font-weight:700;
  color:var(--text-100);margin-bottom:6px;
}
.form-sub{font-size:.88rem;color:var(--text-400);margin-bottom:28px}

.contact-form{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:7px}

label{
  font-family:var(--font-display);font-size:.72rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--text-300);
}
.req{color:var(--accent)}

input[type=text],input[type=email],select,textarea{
  background:var(--bg-600);border:1px solid var(--border);
  border-radius:var(--r-sm);padding:12px 15px;
  font-family:var(--font-body);font-size:.94rem;
  color:var(--text-100);outline:none;
  transition:border-color var(--ease),box-shadow var(--ease);
  width:100%;
}
input::placeholder,textarea::placeholder{color:var(--text-400)}
input:focus,select:focus,textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(59,130,246,.15);
}
input.invalid,select.invalid,textarea.invalid{border-color:#ef4444}
select{cursor:pointer;appearance:none;
  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='%238892a8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:36px;
}
select option{background:var(--bg-700)}
textarea{resize:vertical;min-height:120px;line-height:1.65}

.field-err{font-size:.78rem;color:#f87171;display:none}

/* Captcha */
.captcha-wrap{display:flex;flex-direction:column;gap:8px}
.captcha-note{font-size:.72rem;color:var(--text-400)}
.captcha-note a{color:var(--accent);text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color var(--ease)}
.captcha-note a:hover{text-decoration-color:var(--accent)}

/* Honeypot */
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}

.btn-submit{width:100%;justify-content:center;margin-top:4px}
.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}

/* Success */
.form-success{text-align:center;padding:48px 24px}
.success-icon{
  width:64px;height:64px;
  background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);
  border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;color:#4ade80;margin:0 auto 20px;
}
.form-success h3{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text-100);margin-bottom:12px}
.form-success p{font-size:.95rem;color:var(--text-300);line-height:1.75}
.form-success a{color:var(--accent)}

@media(max-width:900px){
  .contact-inner{grid-template-columns:1fr;gap:44px}
}
@media(max-width:560px){
  .contact-form-card{padding:32px 24px}
  .form-row{grid-template-columns:1fr}
}
