/* Contact page: refined enquiry form, contact cards and Locations section */

/* ---------- layout ---------- */
.contact-section .contact-grid{align-items:start}

/* ---------- contact details (left) ---------- */
.contact-info .lede{margin-bottom:1.6rem}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}
.contact-list li{
  display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;
  background:var(--white);border:1px solid var(--navy-12);border-radius:16px;
  box-shadow:0 6px 18px rgba(18,48,74,.05);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.contact-list li:hover{transform:translateY(-3px);border-color:var(--copper);box-shadow:0 14px 30px rgba(18,48,74,.12)}
.ci{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:rgba(180,135,75,.14);color:var(--copper)}
.ci svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ci-label{display:block;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--copper);margin-bottom:.15rem}
.ci-value{color:var(--navy);font-size:1rem;font-weight:500;text-decoration:none;word-break:break-word}
a.ci-value:hover{color:var(--copper)}

/* ---------- enquiry form card ---------- */
.contact-section .form-panel{
  position:relative;overflow:hidden;border:0;border-radius:24px;
  padding:clamp(2rem,4.5vw,3rem);
  background:var(--white);
  box-shadow:0 30px 70px rgba(18,48,74,.14),0 2px 6px rgba(18,48,74,.06);
}
.contact-section .form-panel::before{
  content:"";position:absolute;left:0;right:0;top:0;height:6px;
  background:linear-gradient(90deg,var(--navy),var(--slate) 45%,var(--copper));
}
.contact-section .form-panel h2{font-size:clamp(1.8rem,3vw,2.3rem)}
.contact-section .form-panel > .lede{color:var(--slate)}

.contact-section .field{margin-bottom:1.25rem}
.contact-section .field label{font-size:.82rem;letter-spacing:.03em;color:var(--navy);margin-bottom:.5rem}
.contact-section .field input,
.contact-section .field select,
.contact-section .field textarea{
  padding:.9rem 1rem .9rem 2.9rem;
  background-color:#F6F4EF;border:1.5px solid transparent;border-radius:12px;
  background-repeat:no-repeat;background-size:19px;background-position:1rem center;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.contact-section .field input:hover,
.contact-section .field select:hover,
.contact-section .field textarea:hover{border-color:var(--navy-30)}
.contact-section .field input:focus,
.contact-section .field select:focus,
.contact-section .field textarea:focus{
  background-color:var(--white);border-color:var(--copper);
  box-shadow:0 0 0 4px rgba(180,135,75,.18);outline:none;
}
.contact-section .field input::placeholder,.contact-section .field textarea::placeholder{color:#8a97a3}
.contact-section .field textarea{min-height:140px;background-position:1rem 1rem;padding-top:.9rem}
.contact-section .field select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background-position:1rem center,right 1rem center;background-size:19px,14px;
}
.contact-section .field input:user-invalid,
.contact-section .field select:user-invalid,
.contact-section .field textarea:user-invalid{border-color:#C0562F;background-color:#FDF5F1}
.contact-section #field-name{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23B4874B%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2%22/%3E%3Ccircle cx=%2212%22 cy=%227%22 r=%224%22/%3E%3C/svg%3E")}
.contact-section #field-org{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23B4874B%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%224%22 y=%222%22 width=%2216%22 height=%2220%22 rx=%222%22/%3E%3Cpath d=%22M9 22v-4h6v4M8 6h.01M12 6h.01M16 6h.01M8 10h.01M12 10h.01M16 10h.01M8 14h.01M12 14h.01M16 14h.01%22/%3E%3C/svg%3E")}
.contact-section #field-email{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23B4874B%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%224%22 width=%2220%22 height=%2216%22 rx=%222%22/%3E%3Cpath d=%22m22 7-10 6L2 7%22/%3E%3C/svg%3E")}
.contact-section #field-phone{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23B4874B%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E")}
.contact-section #field-message{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23B4874B%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z%22/%3E%3C/svg%3E")}
.contact-section #field-category{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23B4874B%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01%22/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2336566F%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E")}

/* submit button */
.contact-section .form-panel .btn-primary{
  display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;
  margin-top:.4rem;padding:1.05rem 1.5rem;font-size:1rem;letter-spacing:.02em;
  border:0;border-radius:12px;cursor:pointer;
  background:linear-gradient(135deg,#C99C5E 0%,var(--copper) 55%,#9C7238 100%);
  box-shadow:0 10px 24px rgba(180,135,75,.38);
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
.contact-section .form-panel .btn-primary::after{content:"\2192";font-size:1.2rem;line-height:1;transition:transform .25s ease}
.contact-section .form-panel .btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(180,135,75,.46);filter:brightness(1.04)}
.contact-section .form-panel .btn-primary:hover::after{transform:translateX(5px)}
.contact-section .form-panel .btn-primary:active{transform:translateY(0)}
.contact-section .form-panel .btn-primary:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.contact-section .form-note{margin-top:1.4rem;padding-top:1.1rem;border-top:1px solid var(--navy-12)}
.contact-section .form-status{border-radius:12px}

/* ---------- Locations ---------- */
.locations-section{background:var(--white)}
.loc-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,3vw,2.4rem);align-items:stretch}
.loc-card{
  display:flex;flex-direction:column;justify-content:center;gap:1rem;
  padding:clamp(1.8rem,3.5vw,2.6rem);border-radius:24px;color:var(--white);
  background:linear-gradient(155deg,var(--navy) 0%,#1d4466 100%);
  box-shadow:0 24px 56px rgba(18,48,74,.28);
}
.loc-pin{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(180,135,75,.2);color:#E0B97E}
.loc-pin svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.loc-card h3{color:var(--white);margin:0;font-size:1.5rem}
.loc-card address{font-style:normal;line-height:1.7;color:rgba(255,255,255,.86)}
.loc-meta{margin:0;font-size:.92rem;color:rgba(255,255,255,.7)}
.loc-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
.loc-actions a{
  display:inline-flex;align-items:center;padding:.8rem 1.3rem;border-radius:999px;font-size:.92rem;font-weight:500;text-decoration:none;
  transition:transform .25s ease,background .25s ease,border-color .25s ease;
}
.loc-actions a:hover{transform:translateY(-2px)}
.loc-actions .loc-primary{background:var(--copper);color:var(--white)}
.loc-actions .loc-primary:hover{background:#a37a41}
.loc-actions .loc-ghost{border:1.5px solid rgba(255,255,255,.45);color:var(--white)}
.loc-actions .loc-ghost:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.map-card{
  position:relative;min-height:440px;border-radius:24px;overflow:hidden;
  box-shadow:0 24px 56px rgba(18,48,74,.18);border:1px solid var(--navy-12);
  background:linear-gradient(135deg,#E9EEF2,#F4F1EA);
}
.map-card iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:900px){
  .loc-grid{grid-template-columns:1fr}
  .map-card{min-height:340px}
}
