.contact-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:opacity .2s ease;z-index:90}
.contact-overlay.is-open{opacity:1;visibility:visible}
.contact-drawer{position:fixed;top:0;right:0;height:100dvh;width:min(480px,92%);background:var(--surface-2,#16181b);color:var(--text,#f5f5f5);border-left:1px solid var(--line,#1f2937);transform:translateX(100%);transition:transform .25s ease;z-index:91;display:flex;flex-direction:column;padding:20px;box-shadow:-20px 0 40px rgba(0,0,0,.25)}
.contact-drawer.is-open{transform:translateX(0)}
.contact-close{position:absolute;top:12px;right:12px;background:#0d0f12;color:#fff;border:1px solid var(--line,#1f2937);border-radius:10px;padding:8px 10px;cursor:pointer}
.contact-content{overflow:auto;padding:8px 4px 24px 4px}
.contact-content h3{margin:0 0 6px;font-family:'Inter Tight',Inter,system-ui,-apple-system;font-weight:300;letter-spacing:.22em;text-transform:uppercase}
.contact-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:12px}
@media (min-width:640px){.contact-grid{grid-template-columns:1fr 1fr}}
.contact-block h4{margin:0 0 6px;font-weight:300;text-transform:uppercase;letter-spacing:.12em}
.contact-drawer a{color:var(--inverse,#fff);text-decoration:none}
.contact-drawer a:hover{opacity:.9}
.body-no-scroll{overflow:hidden}

/* === Neo styling for contact drawer === */
.contact-drawer--neo{
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.00));
  border-left:1px solid var(--line);
  backdrop-filter: blur(10px) saturate(120%);
}
.contact-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:6px }
.contact-head h3{
  margin:0; font-family:'Inter Tight',Inter; font-weight:300; letter-spacing:.26em; text-transform:uppercase;
}
.contact-head__chips{ display:flex; gap:8px; flex-wrap:wrap }
.chip{
  display:inline-block; padding:.4rem .7rem; border-radius:999px; border:1px solid var(--line);
  background:transparent; color:var(--inverse); font-size:.85rem; text-decoration:none
}
.contact-card{
  display:grid; grid-template-columns:auto 1fr; gap:12px;
  padding:14px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.02);
}
.contact-card__icon{
  width:40px; height:40px; border-radius:10px; display:grid; place-items:center;
  background:rgba(255,255,255,.04); color:var(--inverse);
}
.contact-card__body h4{ margin:0 0 6px; font-weight:300; text-transform:uppercase; letter-spacing:.12em }
.contact-list li{ padding:6px 0; border-bottom:1px dashed var(--line) }
.contact-list li:last-child{ border-bottom:none }
.copy-btn{
  margin-left:8px; font-size:.75rem; border:1px solid var(--line); background:transparent; color:var(--inverse);
  padding:.2rem .45rem; border-radius:8px; cursor:pointer
}
.copy-btn:hover{ opacity:.9 }
.contact-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:16px }

/* Toast */
.ct-toast{
  position:fixed; left:50%; bottom:22px; transform:translateX(-50%);
  background:#0d0f12; color:#fff; border:1px solid var(--line); border-radius:10px; padding:.6rem .9rem; z-index:95;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
.ct-toast.is-show{ animation: ct-toast-in .18s ease both }
@keyframes ct-toast-in{ from{ opacity:0; transform:translateX(-50%) translateY(6px)} to{ opacity:1; transform:translateX(-50%) translateY(0)} }

/* Floating Contact Button (FAB) */
.contact-fab{
  position:fixed; right:18px; bottom:18px; z-index:94;
  display:inline-flex; align-items:center; gap:8px;
  padding:.65rem .9rem; border-radius:999px; border:1px solid var(--line);
  background:var(--surface-2); color:var(--inverse); text-decoration:none;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.contact-fab:hover{ opacity:.95 }
.contact-fab__icon{ display:inline-grid; place-items:center; width:18px; height:18px }
@media (min-width:1200px){ .contact-fab{ right:28px; bottom:28px } }
