.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start}
@media(max-width:860px){.contact-layout{grid-template-columns:1fr}}
.contact-cards{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.contact-card{display:flex;align-items:center;gap:14px;background:var(--off-white);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;transition:all var(--transition);text-decoration:none;color:inherit}
.contact-card:hover{background:var(--brown-pale);border-color:var(--brown-light);transform:translateX(4px)}
.contact-card-icon{font-size:1.4rem;flex-shrink:0}
.contact-card-label{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-bottom:2px}
.contact-card-value{font-size:.9rem;font-weight:600;color:var(--brown);line-height:1.4}
.office-info{background:var(--brown-faint);border-radius:var(--radius-lg);padding:20px 22px;border-left:4px solid var(--brown-light)}
.office-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);margin-bottom:8px}
.office-info p{font-size:.88rem;color:var(--text-mid);line-height:1.8}
.contact-form-wrap{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}
.contact-form-inner{padding:36px}
.contact-form-inner h3{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:var(--text);margin-bottom:6px}
.contact-form-sub{font-size:.82rem;color:var(--text-light);margin-bottom:24px}
.alert-contact{padding:14px 18px;border-radius:var(--radius);font-size:.88rem;margin-bottom:20px;font-weight:500}
.alert-contact.success{background:#DCFCE7;color:#15803D;border-left:4px solid #22C55E}
.alert-contact.error{background:#FEE2E2;color:#991B1B;border-left:4px solid #EF4444}
