/* ===== Futuristic 6-Step Process ===== */
.psp-section { padding: 8px 0; position: relative; }
.psp-head { text-align: center; max-width: 640px; margin: 0 auto 56px; padding: 0 24px; }
.psp-eyebrow { font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:#e2641f; margin-bottom:12px; }
.psp-title { font-family:'Montserrat',sans-serif; font-size:34px; font-weight:900; color:#15171b; line-height:1.1; margin:0; letter-spacing:-.5px; }

/* Grid of step cards */
.psp-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1080px; margin:0 auto; padding:0 24px; position:relative; }

/* Step card */
.psp-card {
  position:relative; background:#fff;
  border:1px solid #ebedf0; border-radius:18px;
  padding:30px 26px 28px;
  overflow:hidden;
  transition:transform .4s cubic-bezier(.25,.8,.25,1), box-shadow .4s, border-color .4s;
}
/* glowing gradient top accent */
.psp-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, #e2641f, #ff8a4c, #e2641f);
  background-size:200% 100%;
  opacity:0; transition:opacity .4s;
}
.psp-card:hover {
  transform:translateY(-8px);
  border-color:transparent;
  box-shadow:0 20px 50px rgba(21,23,27,.1), 0 0 0 1px rgba(226,100,31,.2);
}
.psp-card:hover::before { opacity:1; animation:psp-shimmer 2s linear infinite; }
@keyframes psp-shimmer { 0%{background-position:0% 0} 100%{background-position:200% 0} }

/* Big ghost number in background */
.psp-num-bg {
  position:absolute; top:-18px; right:6px;
  font-family:'Montserrat',sans-serif; font-weight:900; font-size:110px;
  color:#f4f5f7; line-height:1; z-index:0; letter-spacing:-4px;
  transition:color .4s;
}
.psp-card:hover .psp-num-bg { color:#fdf0e7; }

/* Icon node - glowing circle */
.psp-node {
  position:relative; z-index:1;
  width:56px; height:56px; border-radius:16px;
  background:linear-gradient(145deg, #fff6ef, #fde4d3);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
  box-shadow:0 8px 20px rgba(226,100,31,.15);
  transition:all .4s;
}
.psp-card:hover .psp-node {
  background:linear-gradient(145deg, #e2641f, #b84e15);
  box-shadow:0 10px 26px rgba(226,100,31,.4);
  transform:scale(1.05);
}
.psp-card:hover .psp-node svg { stroke:#fff; }
.psp-node svg { width:26px; height:26px; stroke:#e2641f; }

/* Step label + text */
.psp-step-label { position:relative; z-index:1; font-family:'Oswald',sans-serif; font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#e2641f; margin-bottom:6px; }
.psp-card-title { position:relative; z-index:1; font-family:'Montserrat',sans-serif; font-size:19px; font-weight:800; color:#15171b; margin:0 0 9px; letter-spacing:-.2px; }
.psp-card-desc { position:relative; z-index:1; font-family:'Inter',sans-serif; font-size:14px; color:#6c727c; line-height:1.55; margin:0; }

/* Mobile + tablet */
@media (max-width:1024px){ .psp-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){
  .psp-grid { grid-template-columns:1fr; gap:16px; }
  .psp-title { font-size:26px; }
  .psp-num-bg { font-size:90px; }
  .psp-card { padding:26px 22px; }
}