/* ============ CONTACT PAGE ============ */
.contact-routes{padding:28px 0 80px}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.contact-card{
  background:var(--paper);
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  padding:24px;
  display:flex;
  flex-direction:column;
  min-height:260px;
}
.contact-kicker{
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--mute);
  margin-bottom:18px;
}
.contact-card h2{
  font-family:var(--serif);
  font-weight:400;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-0.01em;
  margin:0;
}
.contact-card h2 em{font-style:italic;color:var(--amber)}
.contact-card p{
  color:var(--ink-3);
  font-size:14px;
  line-height:1.55;
  margin:16px 0 24px;
}
.contact-card .btn{margin-top:auto;align-self:flex-start}

.contact-intake{
  padding:88px 0 120px;
  background:var(--paper-2);
  border-top:1px solid var(--line);
}
.contact-panel{
  display:grid;
  grid-template-columns:0.8fr 1.2fr;
  gap:56px;
  align-items:start;
}
.contact-note{
  color:var(--ink-3);
  font-size:16px;
  line-height:1.6;
  max-width:42ch;
  margin:22px 0 0;
}
.contact-meta{
  display:grid;
  gap:12px;
  margin-top:28px;
}
.contact-meta div{
  border-top:1px dashed var(--line-2);
  padding-top:12px;
  font-size:14px;
  color:var(--ink-2);
}
.contact-meta b{
  display:block;
  color:var(--ink);
  font-family:var(--mono);
  font-size:10.5px;
  letter-spacing:0.10em;
  text-transform:uppercase;
  margin-bottom:5px;
}
.contact-form{
  background:var(--paper);
  border:1px solid var(--line-2);
  border-radius:var(--radius);
  padding:28px;
  display:grid;
  gap:16px;
}
.contact-form label{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.contact-form label > span{
  font-family:var(--mono);
  font-size:11px;
  color:var(--ink-3);
  letter-spacing:0.06em;
  text-transform:uppercase;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  font-family:var(--sans);
  font-size:14.5px;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line-2);
  border-radius:8px;
  padding:11px 13px;
  outline:none;
  resize:vertical;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:var(--amber);
  box-shadow:0 0 0 3px rgba(196,106,44,0.12);
}
.contact-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.contact-form .btn-primary{
  border:none;
  cursor:pointer;
  align-self:flex-start;
}
.contact-foot{
  margin:0;
  color:var(--mute);
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:0.02em;
}

@media (max-width:1120px){
  .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-panel{grid-template-columns:1fr;gap:36px}
}
@media (max-width:640px){
  .contact-grid,
  .contact-row{grid-template-columns:1fr}
  .contact-card{min-height:0}
  .contact-intake{padding:64px 0 88px}
}
