/* ===== NAV OVERRIDE (Always scrolled look, no hero) ===== */
.nav { background:rgba(253,252,250,0.97); backdrop-filter:blur(24px); box-shadow:0 1px 0 rgba(0,0,0,0.05); }
.nav-links a { color:var(--gray-dark); }
.nav-links a:hover { color:var(--black); }
.nav-cta { background:#3b4a3a; color:#fff; }
.nav-cta:hover { background:#455645; opacity:1; }
.lang-switch { color:var(--gray); }
.lang-option.active { color:var(--black); }

/* ===== CONTACT SECTION ===== */
.contact { padding:8rem 4rem 5rem; }
.contact-inner { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }

/* LEFT: INFO */
.contact-info { padding-top:0.5rem; }
.contact-label { font-weight:600; font-size:0.78rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--accent); margin-bottom:1.25rem; }
.contact-info h1 { font-weight:700; font-size:clamp(2.2rem,4vw,3.2rem); line-height:1.1; letter-spacing:-0.03em; margin-bottom:1.25rem; }
.contact-info .lead { font-size:1.05rem; color:var(--gray-dark); line-height:1.85; margin-bottom:3rem; max-width:420px; }

.contact-details { display:flex; flex-direction:column; gap:2rem; }
.contact-detail { display:flex; align-items:flex-start; gap:1rem; }
.contact-icon { flex-shrink:0; width:40px; height:40px; background:var(--sand-light); display:flex; align-items:center; justify-content:center; }
.contact-icon svg { width:18px; height:18px; color:var(--accent); }
.contact-detail-text h3 { font-weight:600; font-size:0.88rem; letter-spacing:-0.01em; margin-bottom:0.15rem; }
.contact-detail-text p { font-size:0.95rem; color:var(--gray-dark); line-height:1.6; }
.contact-detail-text a { color:var(--gray-dark); text-decoration:none; transition:color 0.3s; }
.contact-detail-text a:hover { color:var(--accent); }

/* RIGHT: FORM */
.contact-form-wrap { background:var(--cream); padding:2.5rem; }
.form-group { margin-bottom:1.25rem; }
.form-group label { display:block; font-weight:500; font-size:0.82rem; letter-spacing:0.02em; color:var(--gray-dark); margin-bottom:0.4rem; }
.form-group input,
.form-group textarea {
  width:100%;
  font-family:'Manrope',sans-serif;
  font-size:0.95rem;
  font-weight:300;
  color:var(--black);
  background:var(--white);
  border:1px solid var(--sand);
  padding:0.85rem 1rem;
  outline:none;
  transition:border-color 0.3s, box-shadow 0.3s;
}
.form-group input:focus,
.form-group textarea:focus {
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(168,113,85,0.08);
}
.form-group input::placeholder,
.form-group textarea::placeholder {
  color:var(--gray-light);
  font-weight:300;
}
.form-group textarea { resize:vertical; min-height:140px; }

/* VALIDATION */
.form-group input:invalid:not(:placeholder-shown),
.form-group textarea:invalid:not(:placeholder-shown) {
  border-color:#c0392b;
  box-shadow:0 0 0 3px rgba(192,57,43,0.08);
}
.contact-form-wrap.submitted .form-group input:invalid,
.contact-form-wrap.submitted .form-group textarea:invalid {
  border-color:#c0392b;
  box-shadow:0 0 0 3px rgba(192,57,43,0.08);
}
.form-group .form-error {
  display:none;
  font-size:0.78rem;
  color:#c0392b;
  margin-top:0.35rem;
  font-weight:400;
}
.contact-form-wrap.submitted .form-group input:invalid ~ .form-error,
.contact-form-wrap.submitted .form-group textarea:invalid ~ .form-error {
  display:block;
}

.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }

.form-submit {
  display:inline-flex;
  align-items:center;
  gap:0.75rem;
  font-family:'Manrope',sans-serif;
  font-weight:500;
  font-size:0.88rem;
  letter-spacing:0.02em;
  color:#fff;
  background:var(--accent);
  border:none;
  padding:1rem 2.2rem;
  cursor:pointer;
  transition:all 0.35s;
  margin-top:0.5rem;
  width:100%;
  justify-content:center;
}
.form-submit:hover { background:var(--accent-hover); transform:translateY(-2px); box-shadow:0 12px 35px rgba(168,113,85,0.3); }
.form-submit svg { width:14px; height:14px; transition:transform 0.3s; }
.form-submit:hover svg { transform:translateX(4px); }

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  .contact-inner { grid-template-columns:1fr; gap:3rem; }
}
@media (max-width:860px) {
  .contact { padding:7rem 1.5rem 3.5rem; }
  .form-row { grid-template-columns:1fr; }
}
@media (max-width:520px) {
  .contact-info h1 { font-size:2rem; }
  .contact-form-wrap { padding:1.75rem; }
}
