/* ============================================================
   PM Hub — closing finder section
   Brand tokens only: ink #0b1020, violet #7c3aed, blue #2563eb.
   ============================================================ */

.pmfin {
  font-family: "Plus Jakarta Sans", -apple-system, system-ui, sans-serif;
  background: #0b1020;
  border-radius: 34px;
  padding: clamp(34px, 4vw, 54px) clamp(22px, 3.5vw, 46px);
  position: relative;
  overflow: hidden;
  color: rgba(255,255,255,.75);
  margin: 80px 0 0;
}

/* Slow conic sweep behind the panel. One animated element, not four. */
.pmfin::before {
  content: "";
  position: absolute;
  width: 150%;
  aspect-ratio: 1;
  top: -58%;
  left: -25%;
  background: conic-gradient(from 0deg,
    transparent 0deg,
    rgba(124,58,237,.34) 70deg,
    rgba(37,99,235,.30) 150deg,
    transparent 220deg,
    transparent 360deg);
  animation: pmfinSpin 26s linear infinite;
  pointer-events: none;
}
@keyframes pmfinSpin { to { transform: rotate(360deg); } }

.pmfin::after {
  content: "";
  position: absolute;
  inset: 1px;
  border-radius: 33px;
  background: radial-gradient(120% 90% at 50% 0%, rgba(11,16,32,.55), #0b1020 62%);
  pointer-events: none;
}
.pmfin > * { position: relative; z-index: 2; }

.pmfin-eb {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: .7rem; letter-spacing: .2em; text-transform: uppercase;
  color: #c4b5fd; font-weight: 600; margin: 0 0 12px;
}
.pmfin h2 {
  font-family: Newsreader, Georgia, serif;
  font-size: clamp(1.8rem, 3.3vw, 2.8rem);
  color: #fff; font-weight: 600; letter-spacing: -.02em;
  line-height: 1.1; margin: 0 0 12px; max-width: 760px;
}
.pmfin-dek {
  font-size: 1.04rem; color: rgba(255,255,255,.7);
  max-width: 600px; margin: 0 0 34px;
}

.pmfin-paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }

.pmfin-p {
  position: relative;
  display: block;
  text-decoration: none;
  border-radius: 20px;
  padding: 24px 22px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  overflow: hidden;
  transition: transform .3s cubic-bezier(.22,.75,.2,1), background .3s;
  opacity: 0;
  animation: pmfinUp .6s cubic-bezier(.22,.75,.2,1) forwards;
}
@keyframes pmfinUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Gradient border revealed on hover, masked so only the 1px edge shows. */
.pmfin-p::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: 21px;
  padding: 1px;
  background: linear-gradient(120deg, #7c3aed, #2563eb);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity .3s;
}
.pmfin-p:hover { transform: translateY(-6px); background: rgba(255,255,255,.08); }
.pmfin-p:hover::before { opacity: 1; }
.pmfin-p:focus-visible { outline: 2px solid #c4b5fd; outline-offset: 3px; }

.pmfin-k {
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: .62rem; letter-spacing: .16em; text-transform: uppercase;
  color: #8b93a7; margin: 0 0 12px; display: block;
}
.pmfin-p h3 {
  font-family: Newsreader, Georgia, serif;
  font-size: 1.3rem; color: #fff; font-weight: 600;
  margin: 0 0 8px; line-height: 1.18;
}
.pmfin-p p {
  font-size: .88rem; color: rgba(255,255,255,.66);
  margin: 0 0 16px; line-height: 1.55;
}
.pmfin-go {
  font-size: .84rem; font-weight: 700; color: #c4b5fd;
  display: inline-flex; align-items: center; gap: 7px;
}
.pmfin-ar { display: inline-block; transition: transform .3s cubic-bezier(.22,.75,.2,1); }
.pmfin-p:hover .pmfin-ar { transform: translateX(4px); }

.pmfin-trust {
  margin-top: 30px; padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.12);
  font-family: "JetBrains Mono", ui-monospace, Menlo, monospace;
  font-size: .66rem; letter-spacing: .05em;
  color: rgba(255,255,255,.5); line-height: 1.8;
}
.pmfin-trust a { color: #c4b5fd; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 900px) {
  .pmfin-paths { grid-template-columns: 1fr; }
  .pmfin { border-radius: 24px; margin-top: 56px; }
}

@media (prefers-reduced-motion: reduce) {
  .pmfin::before { animation: none; }
  .pmfin-p { animation: none; opacity: 1; }
  .pmfin-ar { transition: none; }
}
