.hero{ padding:160px 0 80px; position:relative; overflow:hidden; }
.hero-grid-bg{
  position:absolute; inset:0; z-index:0; opacity:.5;
  background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 30% 20%, #000 40%, transparent 90%);
  mask-image:radial-gradient(ellipse 70% 60% at 30% 20%, #000 40%, transparent 90%);
}
.hero-inner{ position:relative; z-index:1; }
.hero h1{ font-size:clamp(36px,5.4vw,68px); line-height:1.06; letter-spacing:-.025em; font-weight:600; max-width:820px; }
.hero p.sub{ margin-top:24px; font-size:19px; line-height:1.65; color:var(--text-muted); max-width:640px; }

.process-full{ padding:40px 0 120px; }
.process-grid-full{ display:flex; flex-direction:column; gap:32px; margin-top:40px; }
.p-card{
  border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--bg-elev); padding:40px;
  display:grid; grid-template-columns:100px 1fr; gap:32px; transition:border-color .3s ease, transform .3s ease;
}
.p-card:hover{ border-color:color-mix(in srgb, var(--c) 45%, var(--border)); transform:translateY(-3px); }
.p-number{
  width:64px; height:64px; border-radius:999px; background:color-mix(in srgb, var(--c) 13%, transparent);
  border:1px solid color-mix(in srgb, var(--c) 38%, var(--border-strong));
  display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono', monospace;
  font-size:22px; font-weight:600; color:var(--c);
}
.p-content h2{ font-size:24px; font-weight:600; margin-bottom:12px; }
.p-content p.desc{ font-size:16.5px; color:var(--text-muted); line-height:1.65; margin-bottom:16px; }
.p-content p.details{ font-size:14.5px; color:var(--text-faint); line-height:1.6; border-top:1px solid var(--border); padding-top:16px; margin-top:16px; }

@media (max-width:720px){
  .p-card{ grid-template-columns:1fr; gap:16px; padding:28px 24px; }
  .p-number{ width:50px; height:50px; font-size:18px; }
}
