/* ============================================================
   CONTACT SECTION
   ============================================================ */
.contact-section {
  background:var(--clr-white);
  padding:60px 0 80px;
  position:relative; overflow:hidden;
  border-top:1px solid var(--clr-line);
}

.contact-deco { position:absolute; top:0; bottom:0; width:90px; pointer-events:none; opacity:0.5; }
.contact-deco--left  { left:0; }
.contact-deco--right { right:0; transform:scaleX(-1); }
.contact-deco--left::before,.contact-deco--left::after {
  content:''; position:absolute; left:20px; top:0; bottom:0; width:1.5px;
  background:linear-gradient(to bottom,transparent 0%,var(--clr-red) 30%,var(--clr-red) 70%,transparent 100%);
}
.contact-deco--left::before { left:12px; opacity:0.35; }
.contact-deco--left::after  { left:28px; opacity:0.6; }
.contact-deco-line3 { position:absolute; left:44px; top:0; bottom:0; width:1.5px; background:linear-gradient(to bottom,transparent 0%,var(--clr-red) 30%,var(--clr-red) 70%,transparent 100%); opacity:0.2; }

.contact-grid {
  display:grid; grid-template-columns:1fr; gap:32px; position:relative;
}
@media(min-width:768px){
  .contact-grid { grid-template-columns:1fr auto 1fr; gap:0 40px; align-items:start; }
}

.contact-divider { display:none; }
@media(min-width:768px){
  .contact-divider { display:block; width:1px; background:linear-gradient(to bottom,transparent,var(--clr-border) 20%,var(--clr-border) 80%,transparent); align-self:stretch; }
}

.contact-col { display:flex; flex-direction:column; gap:32px; }

/* MODIFICATION: Much longer delays for contact items */
.contact-item {
  display:flex; align-items:flex-start; gap:20px;
  opacity:0; transform:translateY(20px);
}
.contact-item.in-view {
  animation:contactFadeUp 0.65s var(--ease-out-expo) var(--ci-delay, 0.3s) forwards;
}
@keyframes contactFadeUp { to{opacity:1;transform:translateY(0);} }

.contact-icon-wrap { flex-shrink:0; width:48px; height:48px; border-radius:50%; border:1.5px solid var(--clr-border); display:flex; align-items:center; justify-content:center; background:var(--clr-pink-bg); transition:background .3s,transform .3s var(--ease-out-expo); }
.contact-item:hover .contact-icon-wrap { background:var(--clr-red); transform:scale(1.08); }
.contact-item:hover .contact-icon-wrap svg { stroke:var(--clr-white); }
.contact-info { display:flex; flex-direction:column; gap:4px; padding-top:4px; }
.contact-label { font-family:var(--ff-display); font-weight:700; font-size:15px; color:var(--clr-red); letter-spacing:.01em; }
.contact-value { font-family:var(--ff-body); font-size:14px; color:var(--clr-text); line-height:1.5; transition:color .2s; }
.contact-address { font-size:13px; color:var(--clr-muted); line-height:1.6; }
.contact-value--link { color:var(--clr-red); text-decoration:underline; text-underline-offset:2px; }
a.contact-value:hover { color:var(--clr-red); }

