.contact {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 80% 20%, rgba(255, 247, 232, 0.42), transparent 24%),
    linear-gradient(180deg, rgba(231, 221, 204, 0.98) 0%, rgba(223, 211, 193, 0.98) 100%);
  padding: 90px 0;
}

.contact::before,
.contact::after {
  content: '';
  position: absolute;
  pointer-events: none;
  z-index: 0;
}

.contact::before {
  inset: 0;
  background-image:
    linear-gradient(90deg, transparent 0%, rgba(var(--accent-rgb), 0.04) 16%, transparent 18%, transparent 82%, rgba(var(--accent-rgb), 0.04) 84%, transparent 100%),
    linear-gradient(180deg, transparent 0%, rgba(var(--accent-rgb), 0.04) 16%, transparent 18%, transparent 82%, rgba(var(--accent-rgb), 0.04) 84%, transparent 100%);
  opacity: 0.18;
  animation: sectionTextureDrift 20s ease-in-out infinite;
}

.contact::after {
  left: -4%;
  bottom: -8%;
  width: clamp(240px, 30vw, 460px);
  height: clamp(240px, 30vw, 460px);
  background:
    radial-gradient(circle at 50% 50%, rgba(var(--accent-rgb), 0.13), transparent 64%),
    linear-gradient(135deg, rgba(255, 248, 237, 0.3), transparent 72%);
  filter: blur(10px);
  animation: sectionAura 18s ease-in-out infinite;
}

.contact-grid { display: grid; gap: 60px; }
@media(min-width: 900px) { .contact-grid { grid-template-columns: 1fr 1fr; align-items: stretch; } }

.contact-items { display: flex; flex-direction: column; gap: 24px; }
.contact-item {
  display: flex; align-items: center; gap: 20px;
  color: var(--text2);
  transition: .4s;
  padding: 18px 20px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: rgba(var(--accent-rgb), 0.03);
  box-shadow: var(--shadow-sm);
}
.contact-item:last-child { border-bottom: 1px solid var(--border); }
.contact-item:hover {
  color: var(--text);
  transform: translateX(8px) translateY(-2px);
  border-color: var(--border2);
  box-shadow: var(--shadow);
}
.ci-icon { font-size: 1.5rem; opacity: 0.8; }

.contact-map { min-height: 400px; }
