/* ==========================================================================
   Secciones nuevas del home (vista previa)
   Cada sección tiene su propia forma para que el scroll no se sienta monótono:
   roadmap abierto (sin cajas) · pilares como hojas que se apilan ·
   especialistas como retratos · planes como tarjetas de precio.
   Un solo color de tarjeta (--card-bg). El único gradiente es el del fondo
   (y la sombra que oscurece las fotos para poder leer encima).
   ========================================================================== */

.ns{padding:clamp(96px,15vh,180px) 6vw;position:relative}
.ns-inner{max-width:1280px;margin:0 auto}
.ns-head{max-width:840px;margin:0 0 clamp(48px,7.5vh,88px)}
.ns-head.center{margin-left:auto;margin-right:auto;text-align:center}
.ns-head .eyebrow{display:block;margin-bottom:22px}
.ns-title{margin:0;font-weight:400;font-size:clamp(40px,5.2vw,78px);letter-spacing:-.035em;line-height:1.04;color:var(--cream)}
.ns-title em{font-style:italic;color:var(--gold-warm)}
.ns-lead{margin:24px 0 0;font-weight:300;font-size:clamp(18.5px,1.55vw,23px);line-height:1.55;color:var(--cream-2);max-width:48ch}
.ns-head.center .ns-lead{margin-left:auto;margin-right:auto}

/* ---------- Roadmap: abierto, sin cajas, con puntos (sin números) ----------
   Escritorio: la línea se llena sola cuando el roadmap está a la vista.
   Celular: avanza con tu lectura. */
.rm-track{--rp:0;position:relative}
.rm-line{position:absolute;left:8px;right:8px;top:8px;height:1px;background:var(--line)}
.rm-line i{position:absolute;inset:0;background:var(--gold-warm);transform-origin:0 50%;transform:scaleX(0);transition:transform 2.2s linear .2s}
.rm-track.rm-play .rm-line i{transform:scaleX(1)}
.rm-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px)}
.rm-step{position:relative;opacity:.4;transition:opacity .7s var(--ease)}
.rm-step.on{opacity:1}
.rm-dot{position:relative;z-index:1;display:block;width:16px;height:16px;box-sizing:border-box;border-radius:50%;background:#1b1713;border:1.5px solid var(--line-2);transition:background .6s var(--ease),border-color .6s var(--ease),box-shadow .6s var(--ease)}
.rm-step.on .rm-dot{background:var(--gold-warm);border-color:var(--gold-warm);box-shadow:0 0 0 6px rgba(231,196,148,.14)}
.rm-card{margin-top:28px}
.rm-card h3{margin:0 0 14px;font-weight:500;font-size:clamp(24px,2vw,30px);letter-spacing:-.025em;line-height:1.15;color:var(--cream)}
.rm-card p{margin:0;font-weight:300;font-size:clamp(17px,1.3vw,19px);line-height:1.6;color:var(--cream-2);max-width:32ch}
@media(max-width:860px){
  .rm-line{left:7.5px;right:auto;top:14px;bottom:28px;width:1px;height:auto}
  .rm-line i{transform-origin:50% 0;transform:scaleY(var(--rp));transition:transform .2s linear}
  .rm-track.rm-play .rm-line i{transform:scaleY(var(--rp))}
  .rm-list{grid-template-columns:1fr;gap:40px}
  .rm-step{padding-left:40px}
  .rm-dot{position:absolute;left:0;top:6px}
  .rm-card{margin-top:0}
}

/* ---------- 03 · Pilares: hojas que se apilan al hacer scroll ---------- */
.pl-stack{display:flex;flex-direction:column;gap:clamp(20px,3vh,30px)}
.pl-card{
  --top:calc(var(--nav-top,14px) + var(--nav-h,68px) + 20px);
  position:sticky;top:calc(var(--top) + var(--i) * 18px);
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,72px);align-items:center;
  min-height:clamp(340px,52vh,470px);padding:clamp(32px,4.4vw,68px);
  border-radius:26px;background:var(--card-bg);border:1px solid var(--card-line);
  box-shadow:0 -24px 60px rgba(0,0,0,.4);
}
.pl-left{container-type:inline-size;min-width:0}
.pl-sys{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:20px}
.pl-sys b{white-space:nowrap;font-size:clamp(11.5px,3.4cqi,14px);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-warm);font-weight:600}
.pl-sys span{font-size:clamp(13px,3.6cqi,15px);color:var(--cream-3)}
.pl-goal{margin:0;font-weight:400;font-size:clamp(23px,10cqi,56px);text-wrap:balance;letter-spacing:-.035em;line-height:1.06;color:var(--cream)}
.pl-right{display:flex;flex-direction:column;gap:24px}
.pl-how{margin:0;font-weight:300;font-size:clamp(18px,1.5vw,21.5px);line-height:1.58;color:var(--cream-2)}
.pl-lbl{display:block;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-3)}
.pl-win p{margin:8px 0 0;font-weight:500;font-size:clamp(19px,1.6vw,23px);line-height:1.4;color:var(--gold-warm)}
.pl-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pl-chips span{padding:7px 15px;border-radius:999px;font-size:14px;color:var(--cream);background:rgba(241,237,225,.07);border:1px solid var(--card-line)}
@media(max-width:860px){
  .pl-card{grid-template-columns:1fr;gap:24px;min-height:0;top:calc(var(--top) + var(--i) * 12px);padding:30px 24px 32px}
}

/* ---------- 04 · Especialistas: retratos a sangre, como tarjetas editoriales ---------- */
.sp-rail{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.sp-rail::-webkit-scrollbar{display:none}
.sp-track{display:flex;gap:20px;width:max-content}
.sp-card{container-type:inline-size;position:relative;flex:0 0 auto;width:clamp(300px,24vw,360px);aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#181411;border:1px solid var(--card-line)}
.sp-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform 1.2s var(--ease)}
.sp-card:hover img{transform:scale(1.035)}
.sp-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(24,20,17,0) 38%,rgba(24,20,17,.62) 64%,rgba(24,20,17,.94) 100%)}
.sp-tag{position:absolute;top:clamp(10px,4.4cqi,16px);left:clamp(10px,4.4cqi,16px);z-index:1;padding:clamp(5px,2.2cqi,8px) clamp(9px,3.9cqi,14px);border-radius:10px;font-size:clamp(11px,3.9cqi,14px);line-height:1;color:var(--cream);background:rgba(27,23,19,.8);border:1px solid rgba(241,237,225,.16)}
.sp-body{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:clamp(12px,6.6cqi,24px) clamp(12px,6.6cqi,24px) clamp(14px,7.2cqi,26px)}
.sp-name{margin:0 0 clamp(5px,2.6cqi,10px);font-weight:400;font-size:clamp(17px,8.4cqi,31px);letter-spacing:-.02em;line-height:1.1;color:var(--cream)}
.sp-desc{margin:0;font-weight:300;font-size:clamp(12px,4.5cqi,16.5px);line-height:1.45;color:rgba(241,237,225,.84)}
@media(max-width:760px){
  .sp-track{padding:0 6vw;gap:14px}
  .sp-card{width:62vw;border-radius:16px}
}

/* ---------- 06 · Planes: tarjetas de precio ----------
   El texto se mide contra el ancho de cada tarjeta (cqi): si la tarjeta se angosta,
   el texto baja con ella y la tarjeta cabe completa en pantalla. */
.pn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,26px);align-items:stretch;max-width:1280px;margin:0 auto}
.pn-card{container-type:inline-size;display:flex;flex-direction:column;padding:clamp(22px,2vw,30px);border-radius:22px;background:var(--card-bg);border:1px solid var(--card-line);transition:transform .6s var(--ease),border-color .4s,opacity .8s var(--ease);transition-delay:calc(var(--k,0) * 90ms)}
.pn-card:hover{transform:translateY(-6px);border-color:rgba(231,196,148,.4)}
.pn-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pn-name{font-size:clamp(11px,3.8cqi,14px);font-weight:600;letter-spacing:.24em;color:var(--gold-warm)}
.pn-for{font-size:clamp(11.5px,4cqi,14.5px);color:var(--cream-3);text-align:right}
.pn-q{margin:clamp(10px,4.4cqi,18px) 0;font-size:clamp(13px,4.8cqi,18px);line-height:1.38;color:var(--cream)}
.pn-price{display:flex;align-items:baseline;gap:6px}
.pn-price b{font-size:clamp(28px,11cqi,48px);font-weight:400;letter-spacing:-.035em;color:var(--cream)}
.pn-price span{font-size:clamp(12px,4cqi,14.5px);color:var(--cream-3)}
.pn-fee{margin:2px 0 0;font-size:clamp(11.5px,3.9cqi,13.5px);line-height:1.35;color:var(--cream-3)}
.pn-list{list-style:none;margin:clamp(6px,3cqi,12px) 0 clamp(10px,4cqi,16px);padding:0}
.pn-list li{padding:clamp(4px,1.8cqi,8px) 0;border-bottom:1px solid var(--card-line);font-size:clamp(12px,4.5cqi,15.5px);line-height:1.38;font-weight:300;color:var(--cream-2)}
.pn-list li:last-child{border-bottom:0}
.pn-out{margin:auto 0 clamp(12px,4cqi,18px);font-size:clamp(12.5px,4.5cqi,15.5px);line-height:1.4;color:var(--gold-warm);font-weight:500}
.pn-facts{list-style:none;margin:clamp(8px,3cqi,12px) 0 0;padding:0;display:grid;gap:2px}
.pn-facts li{font-size:clamp(12px,4cqi,14px);line-height:1.38;color:var(--cream-2)}
.pn-facts b{color:var(--cream);font-weight:600}
.pn-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 20px;border-radius:999px;background:var(--cream);color:#150F07;font-size:clamp(13px,4.6cqi,16px);font-weight:500;text-decoration:none;transition:background .3s}
.pn-cta:hover{background:#fff;color:#150F07}
.pn-cta .arr{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#150F07;color:var(--cream);font-size:13px}
.pn-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin-top:32px;font-size:17px;color:var(--cream-2)}
.pn-foot p{margin:0}
.pn-foot a{color:var(--gold-warm);text-decoration:none;border-bottom:1px solid rgba(231,196,148,.35)}
/* celular y tablet: los planes quedan quietos (sin carrusel); en celular, uno debajo del otro */
@media(max-width:980px){
  .pn-grid{gap:14px}
  .pn-card{padding:18px 18px 16px;border-radius:18px}
  .pn-card:hover{transform:none}
  .pn-out{margin:0 0 12px}
  .pn-cta{padding:8px 8px 8px 16px}
  .pn-cta .arr{width:28px;height:28px}
}
/* celular: escala más compacta para que el plan quepa en una sola vista */
@media(max-width:760px){
  .pn-grid{grid-template-columns:1fr}
  .pn-top{padding-bottom:9px}
  .pn-q{margin:10px 0;font-size:clamp(13px,4.5cqi,15px);line-height:1.36}
  .pn-price b{font-size:clamp(28px,10.5cqi,38px)}
  .pn-list{margin:6px 0 10px}
  .pn-list li{padding:4px 0;font-size:clamp(12px,4.1cqi,13.5px);line-height:1.34}
  .pn-out{font-size:clamp(12.5px,4.2cqi,14px);line-height:1.36}
  .pn-cta{font-size:clamp(13px,4.4cqi,15px)}
}

/* ---------- 07 · Industrias: dónde se traba cada una ---------- */
.esp-pain{margin:8px 0 0;font-size:15.5px;line-height:1.45;color:var(--cream-2);font-weight:300;max-width:30ch}

/* ---------- aviso de vista previa ---------- */
.pv-badge{position:fixed;left:16px;bottom:16px;z-index:96;padding:8px 14px;border-radius:999px;background:#E7C494;color:#150F07;font-size:12.5px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.35);pointer-events:none}

@media(prefers-reduced-motion:reduce){
  .rm-step{opacity:1}
  .rm-line i{transition:none;transform:none}
}

/* ---------- 08 · Preguntas frecuentes ---------- */
.faq-list{max-width:980px;border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(18px,2.4vh,24px) 0;font-size:clamp(18px,1.6vw,23px);line-height:1.35;letter-spacing:-.015em;color:var(--cream);-webkit-tap-highlight-color:transparent}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:#fff}
.faq summary:focus-visible{outline:2px solid var(--gold-warm);outline-offset:4px;border-radius:6px}
.faq summary i{position:relative;flex:none;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2)}
.faq summary i::before,.faq summary i::after{content:'';position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:var(--gold-warm);transform:translate(-50%,-50%);transition:transform .3s var(--ease)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq[open] summary i::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq p{margin:0 0 clamp(18px,2.4vh,24px);max-width:62ch;font-weight:300;font-size:clamp(16px,1.25vw,18.5px);line-height:1.6;color:var(--cream-2)}
.faq p a{color:var(--gold-warm);text-decoration:none;border-bottom:1px solid rgba(231,196,148,.4)}
