/* =========================
   EMPRESA (Página) - MISMO LOOK QUE PARTICULAR
   Un solo archivo CSS
   ========================= */

/* Variables base (idénticas) */
:root{
  --green:#1f7a4a;
  --text:#111111;
  --line:#e7e7e7;

  --card-bg:#f6f6f8;
  --card-border:#e6e6e6;
  --shadow:0 10px 28px rgba(0,0,0,0.10);

  --radius:16px;
  --font:"Montserrat",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

/* Reset */
*{ box-sizing:border-box; }
body{ margin:0; font-family:var(--font); color:var(--text); }

/* ===== HERO (idéntico) ===== */
.ps-hero{
  max-width:1200px;
  margin:46px auto 8px auto;
  padding:0 18px;
  text-align:center;
}
.ps-hero h1{
  margin:0;
  line-height:1.08;
  letter-spacing:-0.6px;
  font-weight:400;
  font-size:52px;
  white-space:nowrap;
}
.ps-hero .ps-accent{
  color:var(--green);
  font-weight:800;
  font-size:74px;
  letter-spacing:-1px;
}

/* ===== STEPS (idéntico) ===== */
.ps-steps-wrap{
  position:relative;
  max-width:980px;
  margin:28px auto 64px auto;
  padding:0 18px;
}
.ps-steps{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
.ps-step{
  width:160px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  color:#bcbcbc;
  font-size:16px;
  font-weight:400;
}
.ps-step-text{ margin-top:10px; line-height:1.1; }

/* El HTML de empresa no tiene .ps-step-text ahora mismo.
   Para que se vea idéntico aunque no lo cambies:
   aplicamos el mismo spacing al texto directo. */
.ps-step > .ps-step-icon + *{
  margin-top:10px;
  line-height:1.1;
}

.ps-step-icon{
  width:92px; height:92px;
  border-radius:50%;
  background:#fff;
  border:none;
  box-shadow:0 10px 22px rgba(0,0,0,0.10);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:3;
}

/* Lucide (SVG) */
.ps-step-icon svg{ width:50px; height:50px; color:#cfcfcf; }

/* Compat por si te queda <i> */
.ps-step-icon i{ font-size:44px; color:#cfcfcf; }

.ps-step.active{ color:var(--green); font-weight:500; }
.ps-step.active .ps-step-icon{ background:var(--green); box-shadow:0 12px 28px rgba(0,0,0,0.12); }
.ps-step.active svg, .ps-step.active i{ color:#fff; }

.ps-step.done{ color:var(--green); font-weight:500; }
.ps-step.done svg, .ps-step.done i{ color:var(--green); }

.ps-step-line{
  position:absolute;
  left:calc(18px + 46px);
  right:calc(18px + 46px);
  top:46px;
  height:2px;
  background:var(--line);
  border-radius:999px;
  z-index:1;
}

/* ===== CARDS (idéntico) ===== */
.ps-cards{
  max-width:1200px;
  margin:0 auto 64px auto;
  padding:0 18px;
  display:flex;
  justify-content:center;
  gap:64px;
  flex-wrap:nowrap;
}

.ps-card{
  width:340px;
  min-width:340px;
  height:240px;
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  text-decoration:none;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:26px;

  transition:background-color .25s ease, box-shadow .25s ease, transform .25s ease, color .25s ease;
}

.ps-card-title{
  color:var(--green);
  font-size:30px;
  font-weight:500;
  line-height:1.15;
  margin:0 0 14px 0;
  letter-spacing:-0.2px;
}

.ps-card-desc{
  color:#6f6f6f;
  font-size:16px;
  font-weight:400;
  line-height:1.4;
  margin:0;
}

.ps-card:hover{
  background-color:var(--green);
  box-shadow:0 18px 40px rgba(0,0,0,0.18);
  transform:translateY(-4px);
}
.ps-card:hover .ps-card-title{ color:#fff; }
.ps-card:hover .ps-card-desc{ color:rgba(255,255,255,0.75); }

/* ===== Responsive (idéntico) ===== */
@media (max-width:1200px){
  .ps-hero h1{ font-size:46px; white-space:normal; }
  .ps-hero .ps-accent{ font-size:66px; }
  .ps-cards{ gap:28px; }
  .ps-card{ width:320px; min-width:320px; }
}
@media (max-width:1100px){
  .ps-cards{ flex-wrap:wrap; }
}
@media (max-width:980px){
  .ps-step-line{ display:none; }
  .ps-steps{ justify-content:center; flex-wrap:wrap; gap:26px 22px; }
}
@media (max-width:520px){
  .ps-hero h1{ font-size:34px; }
  .ps-hero .ps-accent{ font-size:48px; }
  .ps-card{ width:100%; min-width:0; height:auto; }
}
