.contact-section{ padding: 96px 0 100px; background: var(--ivory); }
.contact-grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items:start; }

.contact-card{
  background: var(--white); border-radius: var(--radius-lg);
  padding: 40px; box-shadow: var(--shadow-card);
  border: 1px solid rgba(43,36,28,0.06);
}
.contact-card h3{ font-size:22px; color: var(--vermilion-deep); margin-bottom:4px; }
.contact-card .role{ font-family: var(--mono); font-size:12px; letter-spacing:.1em; text-transform:uppercase; color: var(--ink-soft); margin-bottom:22px; display:block; }

.addr-block{ display:flex; gap:16px; margin-bottom:22px; }
.addr-block .icon{
  width:38px; height:38px; border-radius:50%; background: var(--ivory-2);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.addr-block .icon svg{ width:18px; height:18px; }
.addr-block h4{ font-size:15.5px; color: var(--navy); margin-bottom:4px; }
.addr-block p, .addr-block a{ font-size:14.5px; color: var(--ink-soft); }
.addr-block a{ color: var(--vermilion-deep); font-weight:600; }

.qr-card{
  background: var(--navy); border-radius: var(--radius-lg); padding: 38px;
  color: var(--white); display:grid; grid-template-columns: auto 1fr; gap:32px; align-items:center;
}
.qr-card img{ width:170px; border-radius:14px; border: 6px solid var(--white); }
.qr-card h3{ color: var(--gold-pale); font-size:19px; margin-bottom:10px; }
.qr-card dl{ margin:0; }
.qr-card dt{ font-family: var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.08em; color: rgba(255,255,255,0.55); margin-top:12px; }
.qr-card dt:first-child{ margin-top:0; }
.qr-card dd{ margin:2px 0 0; font-size:15px; color: var(--white); }

@media (max-width: 900px){
  .contact-grid{ grid-template-columns:1fr; }
  .qr-card{ grid-template-columns:1fr; text-align:center; }
  .qr-card img{ margin: 0 auto; }
}
