#plHowWeWork.pl-hww{
  --hww-accent: #f97316;
  --hww-accent2: #fb923c;

  --hww-text: rgba(31,19,13,.92);
  --hww-muted: rgba(31,19,13,.62);

  --hww-panel: rgba(255,255,255,.72);
  --hww-border: rgba(31,19,13,.08);
  --hww-shadow: 0 18px 50px rgba(45,24,10,.10);

  --hww-dots: rgba(249,115,22,.18);
  --hww-line: rgba(249,115,22,.18);
  --hww-node: rgba(255,255,255,.85);
}

.neu-root.theme-dark #plHowWeWork.pl-hww{
  --hww-text: rgba(255,244,237,.92);
  --hww-muted: rgba(255,244,237,.65);

  --hww-panel: rgba(255,255,255,.06);
  --hww-border: rgba(255,255,255,.10);
  --hww-shadow: 0 18px 50px rgba(0,0,0,.45);

  --hww-dots: rgba(251,146,60,.20);
  --hww-line: rgba(251,146,60,.24);
  --hww-node: rgba(255,255,255,.08);
}

#plHowWeWork.pl-hww{
  position: relative;
  overflow: hidden;
  color: var(--hww-text);
}

/* Fondo de puntitos + glow */
#plHowWeWork.pl-hww::before{
  content:"";
  position:absolute; inset:-40px;
  background:
    radial-gradient(circle at 12px 12px, var(--hww-dots) 1.2px, transparent 1.3px) 0 0/26px 26px;
  opacity: .9;
  pointer-events:none;
}
#plHowWeWork.pl-hww::after{
  content:"";
  position:absolute; inset:-120px;
  background:
    radial-gradient(closest-side, rgba(249,115,22,.18), transparent 60%) 15% 10%/520px 520px no-repeat,
    radial-gradient(closest-side, rgba(251,146,60,.16), transparent 62%) 95% 35%/560px 560px no-repeat,
    radial-gradient(closest-side, rgba(249,115,22,.10), transparent 65%) 60% 95%/640px 640px no-repeat;
  filter: blur(2px);
  animation: hwwFloat 10s ease-in-out infinite;
  pointer-events:none;
}
@keyframes hwwFloat{
  0%,100%{ transform: translate3d(0,0,0); }
  50%{ transform: translate3d(0,-14px,0); }
}

/* Header text */
.pl-hww-kicker{
  display:flex; align-items:center; gap:10px;
  font-size: 13px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--hww-muted);
}
.pl-hww-dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--hww-accent), var(--hww-accent2));
  box-shadow: 0 12px 30px rgba(249,115,22,.24);
}
.pl-hww-title{
  margin: 10px 0 8px;
  font-weight: 800;
  letter-spacing: -.02em;
}
.pl-hww-lead{
  color: var(--hww-muted);
  margin: 0 0 14px;
}
.pl-hww-note{
  display:flex; gap:10px; align-items:center;
  padding: 10px 12px;
  border: 1px solid var(--hww-border);
  background: var(--hww-panel);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(45,24,10,.06);
  color: var(--hww-muted);
}
.neu-root.theme-dark .pl-hww-note{ box-shadow: 0 10px 24px rgba(0,0,0,.35); }

/* Panel */
.pl-hww-panel{
  position: relative;
  border: 1px solid var(--hww-border);
  background: linear-gradient(180deg, var(--hww-panel), rgba(255,255,255,0));
  border-radius: 22px;
  padding: 18px 16px;
  box-shadow: var(--hww-shadow);
  overflow: hidden;
  margin-top: 200px;
}

/* Timeline wrapper */
.pl-hww-timeline{
  position: relative;
  list-style: none;
  margin: 0;
  padding: 10px 0;
  display: grid;
  gap: 18px;
}

/* Central line */
.pl-hww-timeline::before{
  content:"";
  position:absolute;
  top: 8px; bottom: 8px;
  left: 50%;
  width: 10px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(180deg,
    rgba(249,115,22,.0),
    var(--hww-line),
    rgba(251,146,60,.22),
    rgba(249,115,22,.0)
  );
  opacity: .95;
}

/* Animated dots on line */
.pl-hww-timeline::after{
  content:"";
  position:absolute;
  top: 8px; bottom: 8px;
  left: 50%;
  width: 14px;
  transform: translateX(-50%);
  border-radius: 999px;
  background:
    radial-gradient(circle, var(--hww-accent2) 2px, transparent 3px)
    50% 0/18px 18px repeat-y;
  opacity: .55;
  animation: hwwDots 1.15s linear infinite;
}
@keyframes hwwDots{
  from{ background-position: 50% 0; }
  to{ background-position: 50% 18px; }
}

/* Each step layout */
.pl-hww-step{
  position: relative;
  display: grid;
  grid-template-columns: 1fr 92px 1fr;
  align-items: start;
  gap: 14px;
}

/* Node */
.pl-hww-node{
  grid-column: 2;
  position: relative;
  width: 60px; height: 60px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin: 0 auto;
  border: 1px solid var(--hww-border);
  background: var(--hww-node);
  box-shadow: 0 16px 34px rgba(45,24,10,.10);
  z-index: 2;
  backdrop-filter: blur(8px);
}
.neu-root.theme-dark .pl-hww-node{ box-shadow: 0 16px 34px rgba(0,0,0,.45); }

.pl-hww-node i{
  font-size: 20px;
  color: var(--hww-accent);
}

/* Number badge */
.pl-hww-num{
  position:absolute;
  top:-10px; right:-10px;
  width: 26px; height: 26px;
  border-radius: 999px;
  display:grid; place-items:center;
  font-size: 12px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, var(--hww-accent), var(--hww-accent2));
  box-shadow: 0 12px 26px rgba(45,24,10,.20);
}

/* Card */
.pl-hww-card{
  position: relative;
  width: min(440px, 100%);
  border: 1px solid var(--hww-border);
  background: var(--hww-panel);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(45,24,10,.08);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease;
}
.neu-root.theme-dark .pl-hww-card{ box-shadow: 0 14px 36px rgba(0,0,0,.40); }

.pl-hww-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 48px rgba(45,24,10,.12);
}
.neu-root.theme-dark .pl-hww-card:hover{
  box-shadow: 0 18px 48px rgba(0,0,0,.55);
}

/* Media */
.pl-hww-media{
  height: 140px;
  overflow: hidden;
}
.pl-hww-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  filter: saturate(1.05);
}

/* Body */
.pl-hww-body{
  padding: 14px 14px 16px;
  text-align: center;
}
.pl-hww-body h3{
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .1px;
  text-align: center;
}
.pl-hww-body p{
  margin: 0;
  color: var(--hww-muted);
  font-size: 13.5px;
  line-height: 1.35;
  text-align: center;
}

/* Connector “arrow” from node to card */
.pl-hww-step::before{
  content:"";
  position:absolute;
  top: 30px;
  left: 50%;
  width: 140px;
  height: 2px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, rgba(249,115,22,0), rgba(249,115,22,.28), rgba(251,146,60,.28), rgba(249,115,22,0));
  opacity: .8;
  pointer-events:none;
}

/* Alternate: odd cards left, even right */
.pl-hww-step:nth-child(odd) .pl-hww-card{ grid-column: 1; justify-self: end; }
.pl-hww-step:nth-child(even) .pl-hww-card{ grid-column: 3; justify-self: start; }

/* Make connector go left/right */
.pl-hww-step:nth-child(odd)::before{
  left: 50%;
  transform: translateX(-50%) translateX(-70px);
}
.pl-hww-step:nth-child(even)::before{
  left: 50%;
  transform: translateX(-50%) translateX(70px);
}

/* Footer note */
.pl-hww-foot{
  margin-top: 10px;
  display:flex;
  gap:10px;
  align-items:center;
  color: var(--hww-muted);
  font-size: 13px;
  padding: 10px 4px 0;
}

/* Mobile: 1 column, line to the left */
@media (max-width: 991.98px){
  .pl-hww-step{
    grid-template-columns: 76px 1fr;
    gap: 14px;
  }
  .pl-hww-timeline::before,
  .pl-hww-timeline::after{
    left: 38px;
    transform: none;
  }
  .pl-hww-node{
    grid-column: 1;
    margin: 0;
  }
  .pl-hww-card{
    grid-column: 2 !important;
    justify-self: stretch !important;
    width: 100%;
  }
  .pl-hww-step::before{
    top: 30px;
    left: 38px;
    width: 22px;
    transform: none;
    opacity: .7;
  }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  #plHowWeWork.pl-hww::after,
  .pl-hww-timeline::after{
    animation: none !important;
  }
  .pl-hww-card{
    transition: none !important;
  }
}

/* =========================
   HEADER CENTRADO ARRIBA DEL WORKFLOW
========================= */

#plHowWeWork.pl-hww .pl-hww-head{
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 10px;
  margin-bottom: 18px;
  margin-top: 25px;
}

#plHowWeWork.pl-hww .pl-hww-kicker{
  justify-content: center;
}

#plHowWeWork.pl-hww .pl-hww-lead{
  max-width: 820px;
  margin-left: 20px;
}

#plHowWeWork.pl-hww .pl-hww-note{
  max-width: 820px;
  justify-content: center;
}

/* =========================
   PROCESO · Timeline vertical
========================= */

.pl-vflow{
  padding: clamp(44px, 5vw, 84px) 0;

  --pl-blue:#f97316;
  --pl-text: rgba(31,19,13,.92);
  --pl-muted: rgba(31,19,13,.62);
  --pl-border: rgba(31,19,13,.08);
  --pl-surface: rgba(255,255,255,.70);
  --pl-shadow: 0 18px 70px rgba(45,24,10,.10);
}
.neu-root.theme-dark .pl-vflow{
  --pl-text: rgba(255,244,237,.92);
  --pl-muted: rgba(255,244,237,.68);
  --pl-border: rgba(255,255,255,.10);
  --pl-surface: rgba(255,255,255,.06);
  --pl-shadow: 0 18px 70px rgba(0,0,0,.55);
}

.pl-vflow__head{ max-width: 980px; margin-bottom: 18px; }
.pl-vflow__title{
  margin: 10px 0 6px;
  font-weight: 900;
  letter-spacing: -.02em;
  color: var(--pl-text);
  font-size: clamp(30px, 3.4vw, 50px);
  line-height: 1.06;
}
.pl-vflow__lead{ margin:0; color: var(--pl-muted); font-weight:650; }

.pl-vflow__timeline{
  display: grid;
  gap: 16px;
  max-width: 1080px;
}

/* Step wrapper */
.pl-vstep{
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  align-items: stretch;
}

/* Rail */
.pl-vstep__rail{
  position: relative;
  display:flex;
  justify-content:center;
}
.pl-vstep__num{
  width: 38px; height: 38px;
  border-radius: 999px;
  display:grid; place-items:center;
  background: rgba(249,115,22,.92);
  color: rgba(255,255,255,.96);
  font-weight: 900;
  box-shadow: 0 18px 50px rgba(249,115,22,.18);
}
.pl-vstep__line{
  position:absolute;
  top: 44px;
  bottom: 0;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, rgba(249,115,22,.32), rgba(249,115,22,.06));
  border-radius: 999px;
}
.pl-vstep.is-last .pl-vstep__line{ display:none; }

/* Card */
.pl-vstep__card{
  border-radius: 26px;
  border: 1px solid var(--pl-border);
  background: linear-gradient(180deg, var(--pl-surface), rgba(255,255,255,0));
  box-shadow: var(--pl-shadow);
  padding: 18px;
  display:grid;
  grid-template-columns: 54px 1fr 260px;
  gap: 14px;
  overflow:hidden;
}

.pl-vstep__icon{
  width: 48px; height: 48px;
  border-radius: 16px;
  display:grid; place-items:center;
  color: var(--pl-blue);
  background: rgba(249,115,22,.10);
  border: 1px solid rgba(249,115,22,.18);
}
.pl-vstep__icon i{ font-size: 18px; }

.pl-vstep__body h3{
  margin: 0 0 6px;
  color: var(--pl-text);
  font-weight: 900;
  letter-spacing: -.01em;
}
.pl-vstep__body p{
  margin: 0 0 10px;
  color: var(--pl-muted);
  font-weight: 650;
  line-height: 1.5;
}
.pl-vstep__body ul{
  margin: 0;
  padding-left: 18px;
}
.pl-vstep__body li{
  margin: 6px 0;
  color: var(--pl-muted);
  font-weight: 700;
}
.pl-vstep__body li::marker{ color: rgba(249,115,22,.65); }

/* Media slot */
.pl-vstep__media{
  border-radius: 18px;
  overflow:hidden;
  border: 1px dashed rgba(249,115,22,.18);
  background: rgba(255,255,255,.35);
  min-height: 160px;
}
.neu-root.theme-dark .pl-vstep__media{ background: rgba(255,255,255,.04); }
.pl-vstep__media img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
  filter: saturate(1.03) contrast(1.02);
  transform: scale(1.02);
}

/* Responsive */
@media (max-width: 992px){
  .pl-vstep__card{
    grid-template-columns: 54px 1fr;
  }
  .pl-vstep__media{
    grid-column: 1 / -1;
    min-height: 170px;
  }
}

/* =========================
   UPGRADE PRO (solo CSS) · Timeline vertical
========================= */

/* Fondo pro */
.pl-vflow{
  position: relative;
  overflow: hidden;
}

.pl-vflow::before{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    radial-gradient(900px 420px at 15% 10%, rgba(249,115,22,.12), rgba(249,115,22,0) 60%),
    radial-gradient(700px 360px at 85% 45%, rgba(249,115,22,.10), rgba(249,115,22,0) 58%),
    linear-gradient(180deg, rgba(255,255,255,.0), rgba(249,115,22,.03));
  opacity: 1;
}

.neu-root.theme-dark .pl-vflow::before{
  background:
    radial-gradient(900px 420px at 15% 10%, rgba(249,115,22,.16), rgba(249,115,22,0) 60%),
    radial-gradient(700px 360px at 85% 45%, rgba(251,146,60,.14), rgba(251,146,60,0) 58%),
    linear-gradient(180deg, rgba(255,255,255,.0), rgba(249,115,22,.06));
}

/* Textura grid ultrafina */
.pl-vflow::after{
  content:"";
  position:absolute;
  inset:-2px;
  pointer-events:none;
  background:
    linear-gradient(rgba(249,115,22,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(249,115,22,.06) 1px, transparent 1px);
  background-size: 46px 46px;
  opacity: .10;
  mask-image: radial-gradient(circle at 30% 20%, #000 40%, transparent 72%);
}

/* Timeline: más aire */
.pl-vflow__timeline{ gap: 18px; }

/* Rail: más elegante */
.pl-vstep__line{
  width: 3px;
  background:
    linear-gradient(180deg, rgba(249,115,22,.38), rgba(249,115,22,.10));
  box-shadow: 0 14px 30px rgba(249,115,22,.10);
}
.neu-root.theme-dark .pl-vstep__line{
  background: linear-gradient(180deg, rgba(251,146,60,.42), rgba(251,146,60,.12));
}

/* Número con halo */
.pl-vstep__num{
  position: relative;
  background: linear-gradient(180deg, rgba(249,115,22,.98), rgba(234,88,12,.72));
  border: 1px solid rgba(255,255,255,.22);
  box-shadow:
    0 18px 60px rgba(249,115,22,.22),
    0 2px 0 rgba(255,255,255,.20) inset;
}

.pl-vstep__num::after{
  content:"";
  position:absolute;
  inset:-14px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(249,115,22,.18), rgba(249,115,22,0) 65%);
  z-index:-1;
}

/* Card glass premium */
.pl-vstep__card{
  position: relative;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 28px;
  border: 1px solid rgba(249,115,22,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,255,255,.45));
  box-shadow:
    0 22px 80px rgba(45,24,10,.10),
    0 1px 0 rgba(255,255,255,.70) inset;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow: hidden;
}

/* Dark */
.neu-root.theme-dark .pl-vstep__card{
  border-color: rgba(251,146,60,.18);
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  box-shadow:
    0 24px 90px rgba(0,0,0,.60),
    0 1px 0 rgba(255,255,255,.10) inset;
}

/* Acento superior */
.pl-vstep__card::before{
  content:"";
  position:absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(249,115,22,.0), rgba(249,115,22,.85), rgba(249,115,22,.0));
  opacity: .75;
}

/* Glow lateral */
.pl-vstep__card::after{
  content:"";
  position:absolute;
  inset:-120px -180px auto auto;
  width: 340px; height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(249,115,22,.16), rgba(249,115,22,0) 62%);
  opacity: .55;
  pointer-events:none;
}

/* Hover pro */
.pl-vstep__card:hover{
  transform: translateY(-2px);
  border-color: rgba(249,115,22,.28);
  box-shadow:
    0 28px 110px rgba(45,24,10,.14),
    0 1px 0 rgba(255,255,255,.70) inset;
}
.neu-root.theme-dark .pl-vstep__card:hover{
  box-shadow:
    0 30px 120px rgba(0,0,0,.70),
    0 1px 0 rgba(255,255,255,.10) inset;
}

/* Icon badge */
.pl-vstep__icon{
  background: rgba(249,115,22,.10);
  border: 1px solid rgba(249,115,22,.20);
  box-shadow: 0 18px 40px rgba(249,115,22,.10);
}
.neu-root.theme-dark .pl-vstep__icon{
  background: rgba(251,146,60,.12);
  border-color: rgba(251,146,60,.24);
}

/* Tipografía */
.pl-vstep__body h3{
  font-size: 20px;
  letter-spacing: -.01em;
}
.pl-vstep__body p{
  font-size: 15px;
}

/* Lista con bullets */
.pl-vstep__body ul{ padding-left: 0; list-style: none; }
.pl-vstep__body li{
  position: relative;
  padding-left: 16px;
}
.pl-vstep__body li::before{
  content:"";
  position:absolute;
  left: 0;
  top: .62em;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(249,115,22,.85);
  box-shadow: 0 10px 22px rgba(249,115,22,.14);
  transform: translateY(-50%);
}

/* Media slot más premium */
.pl-vstep__media{
  border-radius: 18px;
  border: 1px solid rgba(249,115,22,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.10));
}
.neu-root.theme-dark .pl-vstep__media{
  border-color: rgba(251,146,60,.18);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}
.pl-vstep__media img{
  filter: saturate(1.06) contrast(1.04);
}

/* Responsive */
@media (max-width: 992px){
  .pl-vstep__card{
    border-radius: 24px;
  }
}

/* =========================
   PROCESO · Fondo pro
========================= */
#como-trabajamos{
  position: relative;
  overflow: hidden;
}

/* “Lienzo” del lado derecho */
#como-trabajamos::before{
  content:"";
  position:absolute;
  top: 0;
  right: -6%;
  width: min(46vw, 720px);
  height: 100%;
  pointer-events:none;
  opacity: 1;
  background:
    radial-gradient(280px 220px at 30% 25%, rgba(249,115,22,.16), rgba(249,115,22,0) 68%),
    radial-gradient(320px 260px at 65% 55%, rgba(251,146,60,.12), rgba(251,146,60,0) 70%),
    radial-gradient(260px 220px at 55% 80%, rgba(249,115,22,.10), rgba(249,115,22,0) 72%);
}

.neu-root.theme-dark #como-trabajamos::before{
  background:
    radial-gradient(280px 220px at 30% 25%, rgba(249,115,22,.22), rgba(249,115,22,0) 68%),
    radial-gradient(320px 260px at 65% 55%, rgba(251,146,60,.18), rgba(251,146,60,0) 70%),
    radial-gradient(260px 220px at 55% 80%, rgba(249,115,22,.16), rgba(249,115,22,0) 72%);
  opacity: .95;
}

/* Grid sutil + marca de agua */
#como-trabajamos::after{
  content:"PUBLILUM";
  position:absolute;
  right: -2%;
  top: 18%;
  width: min(46vw, 720px);
  height: 70%;
  pointer-events:none;

  display:flex;
  align-items:center;
  justify-content:center;

  font-weight: 900;
  letter-spacing: .22em;
  font-size: clamp(40px, 6vw, 82px);
  color: rgba(249,115,22,.10);

  background:
    linear-gradient(rgba(249,115,22,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(249,115,22,.06) 1px, transparent 1px);
  background-size: 46px 46px;
  border-radius: 40px;

  mask-image: radial-gradient(circle at 55% 50%, #000 40%, transparent 72%);
}

.neu-root.theme-dark #como-trabajamos::after{
  color: rgba(251,146,60,.14);
  background:
    linear-gradient(rgba(251,146,60,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(251,146,60,.08) 1px, transparent 1px);
  background-size: 46px 46px;
}

#como-trabajamos > .container-fluid{ position: relative; z-index: 2; }

@media (max-width: 992px){
  #como-trabajamos::before,
  #como-trabajamos::after{ display:none; }
}

/* =========================
   PROCESO (4 pasos)
========================= */
.pl-process{
  position: relative;
  padding: clamp(40px, 5vw, 78px) 0;
  overflow: hidden;

  --pl-blue:#f97316;
  --pl-text: rgba(31,19,13,.92);
  --pl-muted: rgba(31,19,13,.62);
  --pl-border: rgba(31,19,13,.08);
  --pl-surface: rgba(255,255,255,.72);
  --pl-shadow: 0 18px 70px rgba(45,24,10,.10);
  --pl-shadow2: 0 28px 120px rgba(45,24,10,.14);
}

.neu-root.theme-dark .pl-process{
  --pl-text: rgba(255,244,237,.92);
  --pl-muted: rgba(255,244,237,.68);
  --pl-border: rgba(255,255,255,.10);
  --pl-surface: rgba(255,255,255,.07);
  --pl-shadow: 0 18px 70px rgba(0,0,0,.55);
  --pl-shadow2: 0 28px 120px rgba(0,0,0,.65);
}

.pl-process__head{ max-width: 980px; margin-bottom: 18px; }
.pl-process__title{
  margin: 10px 0 6px;
  font-weight: 900;
  letter-spacing: -.02em;
  color: var(--pl-text);
  font-size: clamp(30px, 3.4vw, 50px);
  line-height: 1.06;
}
.pl-process__lead{
  margin: 0;
  color: var(--pl-muted);
  font-weight: 600;
  font-size: clamp(14px, 1.25vw, 17px);
}

/* Panel */
.pl-process__panel{
  position: sticky;
  top: 96px;
  border-radius: 26px;
  padding: 18px 18px 16px;
  background: linear-gradient(180deg, var(--pl-surface), rgba(255,255,255,0));
  border: 1px solid var(--pl-border);
  box-shadow: var(--pl-shadow);
  overflow: hidden;
}

.pl-process__panel::after{
  content:"";
  position:absolute;
  inset:-120px -140px auto auto;
  width: 340px; height: 340px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(249,115,22,.22), rgba(249,115,22,0) 62%);
  pointer-events:none;
  opacity:.9;
}

.pl-process__badge{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(249,115,22,.10);
  border: 1px solid rgba(249,115,22,.18);
  color: var(--pl-blue);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .02em;
}

.pl-process__panelTitle{
  margin: 10px 0 6px;
  color: var(--pl-text);
  font-weight: 900;
  letter-spacing: -.01em;
}

.pl-process__panelDesc{
  margin: 0;
  color: var(--pl-muted);
  font-weight: 650;
  line-height: 1.45;
}

.pl-process__panelBox{
  margin-top: 14px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--pl-border);
  background: rgba(255,255,255,.55);
}
.neu-root.theme-dark .pl-process__panelBox{ background: rgba(255,255,255,.06); }

.pl-process__panelK{
  color: var(--pl-muted);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .02em;
  margin-bottom: 10px;
}

.pl-process__list{
  margin: 0;
  padding-left: 18px;
  color: var(--pl-text);
  font-weight: 750;
}
.pl-process__list li{
  margin: 7px 0;
  color: var(--pl-muted);
  font-weight: 700;
}
.pl-process__list li::marker{ color: rgba(249,115,22,.65); }

.pl-process__panelCTA{
  display:flex;
  gap: 10px;
  margin-top: 14px;
}

.pl-process__btn{
  flex: 1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 12px 12px;
  border-radius: 16px;
  border: 1px solid rgba(249,115,22,.22);
  background: linear-gradient(180deg, rgba(249,115,22,.95), rgba(234,88,12,.78));
  color: rgba(255,255,255,.96);
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 18px 60px rgba(249,115,22,.20);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.pl-process__btn:hover{ transform: translateY(-2px); filter: brightness(1.02); }
.pl-process__btn.ghost{
  background: rgba(255,255,255,.55);
  color: var(--pl-text);
  border: 1px solid var(--pl-border);
  box-shadow: var(--pl-shadow);
}
.neu-root.theme-dark .pl-process__btn.ghost{ background: rgba(255,255,255,.06); }

/* Grid pasos */
.pl-process__grid{
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  padding-bottom: 4px;
}

.pl-step{
  grid-column: span 6;
  text-align: left;
  position: relative;
  border-radius: 26px;
  padding: 18px 18px 16px;
  background: linear-gradient(180deg, var(--pl-surface), rgba(255,255,255,0));
  border: 1px solid var(--pl-border);
  box-shadow: var(--pl-shadow);
  cursor: pointer;
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.pl-step:hover{
  transform: translateY(-3px);
  border-color: rgba(249,115,22,.30);
  box-shadow: var(--pl-shadow2);
}

.pl-step::after{
  content:"";
  position:absolute;
  inset:-80px -110px auto auto;
  width: 260px; height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(249,115,22,.18), rgba(249,115,22,0) 62%);
  pointer-events:none;
  opacity:.85;
}

.pl-step__num{
  position:absolute;
  top: 14px;
  right: 14px;
  font-weight: 900;
  color: rgba(31,19,13,.30);
}
.neu-root.theme-dark .pl-step__num{ color: rgba(255,255,255,.20); }

.pl-step__icon{
  width: 48px; height: 48px;
  border-radius: 16px;
  display:grid; place-items:center;
  color: var(--pl-blue);
  background: rgba(249,115,22,.10);
  border: 1px solid rgba(249,115,22,.18);
  box-shadow: 0 12px 30px rgba(249,115,22,.12);
}
.pl-step__icon i{ font-size: 18px; }

.pl-step__title{
  display:block;
  margin-top: 12px;
  font-weight: 900;
  color: var(--pl-text);
  font-size: 18px;
  letter-spacing: -.01em;
}

.pl-step__meta{
  display:block;
  margin-top: 4px;
  color: var(--pl-muted);
  font-weight: 750;
  font-size: 13px;
}

/* Activo */
.pl-step.is-active{
  border-color: rgba(249,115,22,.45);
  box-shadow: 0 28px 120px rgba(249,115,22,.14);
}
.neu-root.theme-dark .pl-step.is-active{
  box-shadow: 0 28px 120px rgba(249,115,22,.18);
}

/* Rail */
.pl-process__rail{
  position:absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 10px;
  border-radius: 999px;
  border: 1px solid var(--pl-border);
  background: rgba(0,0,0,.06);
  overflow: hidden;
}
.neu-root.theme-dark .pl-process__rail{ background: rgba(255,255,255,.06); }

.pl-process__railFill{
  display:block;
  height: 100%;
  width: 25%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(249,115,22,.95), rgba(251,146,60,.38));
  box-shadow: 0 12px 26px rgba(249,115,22,.18);
  transition: width .25s ease;
}

/* Responsive */
@media (max-width: 992px){
  .pl-process__panel{ position: relative; top: auto; }
  .pl-step{ grid-column: span 12; }
}

@media (prefers-reduced-motion: reduce){
  .pl-step, .pl-process__railFill, .pl-process__btn{ transition: none; }
}

/* =========================
   PROCESO: SLOT MEDIA
========================= */
.pl-process__media{
  position: relative;
  margin-top: 14px;
  border-radius: 20px;
  border: 1px dashed rgba(249,115,22,.22);
  background: rgba(255,255,255,.55);
  overflow: hidden;
  min-height: 170px;
}

.neu-root.theme-dark .pl-process__media{
  background: rgba(255,255,255,.06);
  border-color: rgba(251,146,60,.24);
}

.pl-process__media::after{
  content:"";
  position:absolute;
  inset:-80px -120px auto auto;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(249,115,22,.18), rgba(249,115,22,0) 62%);
  pointer-events:none;
  opacity:.8;
}

.pl-process__mediaImg{
  width: 100%;
  height: 170px;
  object-fit: cover;
  display: none;
  filter: saturate(1.05) contrast(1.03);
  transform: scale(1.02);
}

.pl-process__mediaPh{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  color: rgba(31,19,13,.58);
  font-weight: 800;
}

.neu-root.theme-dark .pl-process__mediaPh{
  color: rgba(255,255,255,.58);
}

.pl-process__mediaPh .ph-dot{
  width: 10px; height: 10px;
  border-radius: 50%;
  background: rgba(249,115,22,.85);
  box-shadow: 0 10px 26px rgba(249,115,22,.18);
}

.pl-process__mediaPh .ph-text{
  font-size: 13px;
  letter-spacing: .01em;
}