/* ─── CONTACT ───────────────────────────────────────── */
.cp {
  min-height: 100vh;
  padding: calc(90px + 4vh) var(--g) 6vh;
  display: flex; flex-direction: column; justify-content: center;
  position: relative; overflow: hidden;
}
.cp-glow {
  position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(ellipse 72% 78% at 17% 54%, rgba(255,109,41,.08), transparent 65%),
    radial-gradient(ellipse 48% 52% at 78% 82%, rgba(255,109,41,.03), transparent 65%);
}
.cp-grain {
  position: absolute; inset: 0; pointer-events: none; opacity: .8;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E");
  background-size: 320px;
}
.cp-inner { position: relative; z-index: 1; max-width: 1100px; }
.cp-tag {
  display: inline-flex; align-items: center; gap: 14px; margin-bottom: 3vh;
  font-size: 9px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: var(--accent);
}
.cp-tag::before { content: ''; display: block; width: 26px; height: .5px; background: var(--accent); }
.cp-name {
  font-size: clamp(3.4rem, 9vw, 10.5rem);
  font-weight: var(--display-weight);
  line-height: .9; letter-spacing: -.038em;
  color: var(--white);
  margin-bottom: 7vh;
  text-wrap: balance;
}
.cp-name em { color: var(--accent); font-style: normal; }

.cp-list { display: flex; flex-direction: column; max-width: 880px; }
.c-item {
  display: grid; grid-template-columns: 120px 1fr 32px;
  align-items: baseline; gap: 28px;
  padding: 32px 0;
  border-top: .5px solid rgba(186,186,186,.12);
  position: relative;
}
.c-item:last-child { border-bottom: .5px solid rgba(186,186,186,.12); }
.c-label {
  font-size: 9px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
  color: rgba(186,186,186,.36);
}
.c-val {
  font-size: clamp(1.1rem, 2.4vw, 2rem);
  font-weight: var(--display-weight);
  color: rgba(255,255,255,.85);
  letter-spacing: -.018em;
  transition: color var(--dur-fast) ease;
  word-break: break-word;
}
.c-val:hover { color: var(--accent); }
.c-val--mini { font-size: clamp(.95rem, 1.4vw, 1.1rem); color: rgba(186,186,186,.5); }
.c-item--mini { padding: 18px 0; }
.c-item--mini .c-label { color: rgba(186,186,186,.24); }
.c-copy {
  appearance: none;
  border: 0;
  background: none;
  font-size: 9px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(186,186,186,.3);
  cursor: pointer; padding: 6px 0;
  transition: color var(--dur-fast) ease;
}
.c-copy:hover { color: var(--accent); }
.c-copy.copied { color: var(--accent); }
.c-copy.copied::after { content: ' ✓'; }

.cp-foot {
  margin-top: 8vh;
  display: flex; gap: 4vw; flex-wrap: wrap;
  font-size: 11px; color: rgba(186,186,186,.34);
}
.cp-foot span { letter-spacing: .04em; }

/* Toast */
.toast {
  position: fixed; left: 50%; bottom: 38px; transform: translateX(-50%) translateY(40px);
  background: rgba(20,20,20,.96); color: var(--white);
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
  padding: 14px 24px;
  border: .5px solid rgba(255,109,41,.4);
  z-index: 500;
  opacity: 0;
  transition: opacity .3s ease, transform .4s var(--ease-out-expo);
  pointer-events: none;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

@media (max-width: 720px) {
  .c-item { grid-template-columns: 1fr; gap: 10px; padding: 26px 0; }
  .c-copy { justify-self: start; }
}
