/* ============================================================
   CONTACT.CSS — styles unique to contact.html
   ============================================================ */

section{padding:88px 0;}
@media (max-width:720px){section{padding:56px 0;}}

.visit{background:var(--sage);}
.visit .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.addr-card{
  background:var(--white);border:1px solid var(--line);padding:36px;border-radius:4px;
}
.addr-card h3{font-size:22px;margin-bottom:14px;}
.addr-card .line{display:flex;gap:12px;margin-top:16px;font-size:15px;color:#3a3a32;}
.addr-card svg{width:20px;height:20px;flex:none;color:var(--clay);margin-top:2px;}
.map-frame{border:1px solid var(--line);border-radius:4px;overflow:hidden;height:100%;min-height:320px;background:var(--white);}
.map-frame iframe{width:100%;height:100%;min-height:320px;border:0;filter:saturate(.85) contrast(1.02);}

/* ---------- contact form ---------- */
.form-section{background:var(--white);}
.form-section .wrap{max-width:680px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;}
.form-grid .full{grid-column:1 / -1;}
label{display:block;font-size:13px;font-weight:600;color:var(--pine-deep);margin-bottom:7px;letter-spacing:.02em;}
input, textarea{
  width:100%;border:1.5px solid var(--line);border-radius:3px;padding:12px 14px;
  font-family:'Source Sans 3',sans-serif;font-size:15px;background:var(--paper);color:var(--ink);
  transition:border-color .2s ease;
}
input:focus, textarea:focus{border-color:var(--pine);outline:none;}
textarea{resize:vertical;min-height:120px;}
.form-note{font-size:13px;color:#6b6b5e;margin-top:18px;}
button.submit{
  margin-top:8px;background:var(--clay);color:var(--white);border:1px solid var(--clay);
  padding:13px 28px;border-radius:3px;font-weight:600;font-size:14.5px;cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
button.submit:hover{background:#8c3b28;transform:scale(1.05);}

@media (max-width:920px){
  .visit .wrap{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .form-grid{grid-template-columns:1fr;}
}
