/* ===== Contact ===== */
.contact { overflow: hidden; }
.contact__orb { width: 600px; height: 600px; bottom: -240px; left: -160px; background: radial-gradient(circle, rgba(199,163,100,0.16), transparent 70%); }
.contact__grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 64px; align-items: center; }
.contact__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.btn--lg { padding: 18px 32px; font-size: 16px; }
.contact__cards { display: flex; flex-direction: column; gap: 14px; }
.contact__card {
  display: flex; gap: 18px; align-items: flex-start;
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0));
  border: 1px solid rgba(255,255,255,0.1); border-radius: var(--r); padding: 22px 24px;
  transition: border-color .4s var(--ease), transform .4s var(--ease);
}
.contact__card:hover { border-color: rgba(199,163,100,0.4); transform: translateY(-3px); }
.contact__ic { flex: none; width: 46px; height: 46px; border-radius: 12px; background: rgba(199,163,100,0.14); color: var(--gold-300); display: flex; align-items: center; justify-content: center; }
.contact__ic svg { width: 22px; height: 22px; }
.contact__card strong { display: block; font-family: var(--font-display); font-weight: 600; font-size: 16px; color: var(--t-on-dark); margin-bottom: 4px; }
.contact__card p { font-size: 14px; color: var(--t-on-dark-soft); line-height: 1.6; }

/* migrado de estilos inline */
.contact__title { margin: 20px 0 22px; font-size: clamp(36px, 5vw, 62px); }
.contact__lead { max-width: 30em; }

@media (max-width: 860px) { .contact__grid { grid-template-columns: 1fr; gap: 44px; } }
