{"id":4513,"date":"2026-07-28T09:01:12","date_gmt":"2026-07-28T07:01:12","guid":{"rendered":"https:\/\/weriseperformance.com\/sesion-estrategica\/"},"modified":"2026-07-28T09:02:11","modified_gmt":"2026-07-28T07:02:11","slug":"sesion-estrategica","status":"publish","type":"page","link":"https:\/\/weriseperformance.com\/en\/sesion-estrategica\/","title":{"rendered":"Sesi\u00f3n estrat\u00e9gica"},"content":{"rendered":"\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:ital,wght@0,400;0,700;0,800;0,900;1,400;1,700&#038;family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&#038;family=DM+Mono:wght@400;500&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  * { box-sizing: border-box; }\n  body { margin:0; background:#F6F4EF; color:#0a0a0a; font-family:'DM Sans',sans-serif; -webkit-font-smoothing:antialiased; }\n  ::selection { background:#1b64ff; color:#fff; }\n  a { color:#1040cc; text-decoration:none; } a:hover { color:#1b64ff; }\n  img { display:block; }\n  h1,h2,h3 { margin:0; }\n  p { margin:0; }\n  button { font-family:inherit; cursor:pointer; }\n\n  @keyframes wrLive    { 0%{box-shadow:0 0 0 0 rgba(27,100,255,.5)} 100%{box-shadow:0 0 0 14px rgba(27,100,255,0)} }\n  @keyframes wrTicker  { from{transform:translateX(0)} to{transform:translateX(-50%)} }\n  @keyframes wrRowIn   { from{opacity:0;transform:translateY(-10px)} to{opacity:1;transform:translateY(0)} }\n  @keyframes wrSpin    { to{transform:rotate(360deg)} }\n  @keyframes wrPulse   { 0%,100%{opacity:1} 50%{opacity:.4} }\n  @keyframes wrVerdict { from{opacity:0;transform:scale(.97)} to{opacity:1;transform:scale(1)} }\n  @keyframes wrFade    { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }\n\n  \/* ---------- NAV ---------- *\/\n  .nav {\n    position:fixed; top:0; left:0; right:0; z-index:200;\n    height:60px; padding:0 40px;\n    display:flex; align-items:center; justify-content:space-between;\n    background:rgba(10,10,10,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);\n    border-bottom:1px solid rgba(255,255,255,.08);\n  }\n  .nav-logo { font-family:'DM Mono',monospace; font-size:13px; color:#F6F4EF; letter-spacing:.02em; }\n  .nav-logo .dot { color:#1b64ff; }\n  .nav-links { display:flex; align-items:center; gap:26px; }\n  .nav-links a { font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; color:rgba(255,255,255,.5); letter-spacing:.06em; }\n  .nav-links a:hover { color:#d0e0ff; }\n  .nav-cta { background:#1b64ff; color:#fff !important; padding:9px 16px; font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.06em; }\n  .nav-cta:hover { background:#1550d8; color:#fff !important; }\n\n  \/* ---------- HERO ---------- *\/\n  .hero { background:#0a0a0a; color:#fff; padding:128px 56px 48px; overflow:hidden; position:relative; }\n  .hero-deco { position:absolute; top:-200px; right:-160px; width:560px; height:560px; background:radial-gradient(circle, rgba(27,100,255,.16) 0%, transparent 70%); pointer-events:none; }\n  .hero-inner { position:relative; z-index:1; }\n  .hero-top { display:flex; justify-content:space-between; align-items:center; gap:18px; border-bottom:1px solid rgba(255,255,255,.1); padding-bottom:18px; }\n  .hero-top-left { font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; color:#1b64ff; letter-spacing:.08em; }\n  .hero-top-right { display:flex; align-items:center; gap:12px; }\n  .live-dot { width:8px; height:8px; border-radius:50%; background:#1b64ff; animation:wrLive 1.8s infinite; }\n  #clock { font-family:'DM Mono',monospace; font-size:12px; color:#d0e0ff; }\n  .hero h1 { font-family:'Playfair Display',serif; font-weight:900; font-size:clamp(42px,6.5vw,92px); line-height:.98; letter-spacing:-.03em; margin-top:40px; }\n  .hero h1 span { color:#1b64ff; }\n  .hero-para { font-family:'Playfair Display',serif; font-style:italic; font-size:clamp(20px,2vw,28px); color:rgba(255,255,255,.85); max-width:820px; line-height:1.4; margin-top:24px; }\n\n  .promesas { margin-top:44px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.1); }\n  .promesa { background:#0E0E0E; padding:24px 20px; display:flex; flex-direction:column; gap:8px; }\n  .promesa-ico { font-family:'Playfair Display',serif; font-weight:800; font-size:22px; color:#1b64ff; }\n  .promesa-t { font-family:'Playfair Display',serif; font-weight:700; font-size:17px; color:#fff; line-height:1.15; }\n  .promesa-d { font-size:13px; color:rgba(255,255,255,.55); line-height:1.5; }\n\n  \/* ---------- TICKER ---------- *\/\n  .ticker { background:#1b64ff; padding:13px 0; overflow:hidden; white-space:nowrap; }\n  .ticker-track { display:inline-block; white-space:nowrap; animation:wrTicker 30s linear infinite; }\n  .ticker-item { display:inline-block; font-family:'DM Mono',monospace; font-size:12px; text-transform:uppercase; color:#fff; letter-spacing:.06em; padding:0 28px; border-right:1px solid rgba(255,255,255,.25); }\n\n  \/* ---------- FORM SECTION ---------- *\/\n  .formsec { background:#F6F4EF; padding:64px 56px 80px; }\n  .form-header { margin-bottom:48px; }\n  .label { font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }\n  .form-header .label { color:#1040cc; margin-bottom:14px; }\n  .form-header h2 { font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(30px,4vw,52px); color:#0a0a0a; line-height:1.05; letter-spacing:-.02em; margin-bottom:14px; }\n  .form-header .sub { font-size:17px; color:#6B6760; line-height:1.5; }\n\n  .form-wrapper { display:grid; grid-template-columns:1fr 420px; gap:48px; align-items:start; }\n\n  \/* ----- WIZARD (columna izq) ----- *\/\n  .wizard { background:#F6F4EF; }\n  .step-indicator { display:flex; gap:0; margin-bottom:0; border-bottom:1px solid #D8D3C8; }\n  .step-seg { flex:1; padding:0 4px 14px; border-bottom:2px solid transparent; transition:border-color .3s; }\n  .step-num { font-family:'DM Mono',monospace; font-size:12px; color:#9a958c; transition:color .3s; }\n  .step-lbl { font-family:'DM Mono',monospace; font-size:10px; text-transform:uppercase; color:#9a958c; letter-spacing:.04em; margin-top:5px; transition:color .3s; }\n  .step-seg.active .step-lbl { color:#1040cc; }\n\n  .form-progress { height:2px; background:#D8D3C8; margin-top:-2px; margin-bottom:40px; }\n  #form-progress-bar { height:2px; width:0; background:#1b64ff; transition:width .5s ease; }\n\n  .fs { display:none; flex-direction:column; animation:wrFade .3s ease both; }\n  .fs-head { display:flex; align-items:center; gap:14px; margin-bottom:26px; }\n  .fs-num { font-family:'Playfair Display',serif; font-weight:800; font-size:18px; color:#1b64ff; border:1.5px solid #1b64ff; padding:4px 12px; line-height:1; }\n  .fs-lbl { font-family:'DM Mono',monospace; font-size:13px; text-transform:uppercase; color:#1040cc; letter-spacing:.06em; }\n  .fs-sub { font-family:'DM Sans',sans-serif; font-size:14px; color:#9a958c; font-style:normal; }\n\n  .field-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }\n  .field { display:flex; flex-direction:column; gap:7px; }\n  .field.full { grid-column:1 \/ -1; }\n  .field label.flabel { font-family:'DM Mono',monospace; font-size:12px; text-transform:uppercase; color:#6B6760; letter-spacing:.03em; }\n  .field input, .field select, .field textarea {\n    font-family:'DM Sans',sans-serif; font-size:16px; padding:14px 16px;\n    background:#fff; border:1px solid #D8D3C8; color:#0a0a0a; width:100%;\n    transition:border-color .2s; outline:none; border-radius:0;\n  }\n  .field textarea { resize:vertical; line-height:1.5; }\n  .field input:focus, .field select:focus, .field textarea:focus { border-color:#1b64ff; }\n  .field select { -webkit-appearance:none; appearance:none; background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B6760' stroke-width='1.5' fill='none'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:right 16px center; padding-right:40px; }\n\n  .radio-group { display:flex; flex-wrap:wrap; gap:10px; }\n  .radio-btn { position:relative; display:inline-flex; }\n  .radio-btn input { position:absolute; opacity:0; width:0; height:0; }\n  .radio-btn span {\n    display:inline-block; padding:11px 16px; border:1px solid #D8D3C8; background:#fff;\n    font-family:'DM Sans',sans-serif; font-size:15px; color:#3a3833; transition:all .18s; line-height:1.2;\n  }\n  .radio-btn input:checked + span { border-color:#1b64ff; background:rgba(27,100,255,.06); color:#1040cc; font-weight:500; }\n  .radio-btn:hover span { border-color:#9a958c; }\n\n  .consent { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start; margin-top:8px; }\n  .consent input { width:18px; height:18px; margin-top:2px; accent-color:#1b64ff; flex-shrink:0; }\n  .consent label { font-size:14px; color:#3a3833; line-height:1.5; }\n  .consent a { text-decoration:underline; }\n\n  .form-nav { display:flex; justify-content:space-between; align-items:center; margin-top:32px; padding-top:24px; border-top:1px solid #D8D3C8; }\n  #btn-prev { background:transparent; border:1px solid #D8D3C8; color:#6B6760; font-family:'DM Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.06em; padding:15px 22px; transition:all .2s; }\n  #btn-prev:hover { border-color:#9a958c; color:#0a0a0a; }\n  #btn-next { background:#1b64ff; color:#fff; border:none; font-family:'DM Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.06em; padding:16px 26px; transition:background .2s; }\n  #btn-next:hover { background:#1550d8; }\n  .privacy-note { margin-top:16px; font-family:'DM Mono',monospace; font-size:11px; color:#9a958c; text-align:right; letter-spacing:.02em; }\n\n  \/* ----- PANEL DE ENCAJE (columna dcha) ----- *\/\n  .panel { background:#0a0a0a; border:1px solid rgba(255,255,255,.1); padding:32px 28px; min-height:480px; display:flex; flex-direction:column; position:sticky; top:84px; }\n  .panel-head { display:flex; justify-content:space-between; align-items:center; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:20px; }\n  .panel-head .ptitle { font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; color:#1b64ff; letter-spacing:.08em; }\n  .panel-dot { width:6px; height:6px; border-radius:50%; background:#1b64ff; animation:wrLive 1.8s infinite; }\n\n  .meter { margin-bottom:24px; }\n  .meter-lbl { font-family:'DM Mono',monospace; font-size:10px; text-transform:uppercase; color:rgba(255,255,255,.5); letter-spacing:.05em; margin-bottom:8px; }\n  .meter-bar { height:4px; background:rgba(255,255,255,.1); overflow:hidden; }\n  #encaje-bar { height:4px; width:0; background:#1b64ff; transition:width .8s ease, background .8s ease; }\n  #encaje-pct { font-family:'Playfair Display',serif; font-weight:800; font-size:28px; color:#d0e0ff; text-align:right; margin-top:6px; line-height:1; }\n\n  #signals-list { display:flex; flex-direction:column; gap:1px; background:rgba(255,255,255,.06); min-height:220px; }\n  .signals-empty { font-family:'DM Mono',monospace; font-size:11px; color:rgba(255,255,255,.25); text-align:center; padding:32px; }\n\n  #verify-state { display:none; align-items:center; gap:12px; padding:20px 4px; }\n  .spinner { width:24px; height:24px; border:2px solid transparent; border-top-color:#1b64ff; border-radius:50%; animation:wrSpin 1.2s linear infinite; flex-shrink:0; }\n  #verify-state .vtxt { font-family:'DM Mono',monospace; font-size:12px; color:rgba(255,255,255,.6); }\n\n  #verdict-block { display:none; padding:24px 22px; margin-top:16px; border:1px solid transparent; animation:wrVerdict .5s ease both; }\n\n  .panel-footer { margin-top:auto; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); font-family:'DM Mono',monospace; font-size:10px; color:rgba(255,255,255,.35); line-height:1.5; }\n\n  .panel-toggle { display:none; }\n\n  \/* ----- ESTADO POST-ENV\u00cdO ----- *\/\n  #form-sent { display:none; background:#0a0a0a; color:#fff; padding:56px 48px; border:1px solid #1b64ff; animation:wrVerdict .55s ease both; }\n  #form-sent .sent-label { font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; color:#1b64ff; letter-spacing:.08em; margin-bottom:16px; }\n  #form-sent h3 { font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(32px,4vw,52px); line-height:1; letter-spacing:-.02em; margin-bottom:20px; }\n  #form-sent h3 span { font-style:italic; color:#1b64ff; }\n  #form-sent .sent-para { font-size:18px; color:rgba(255,255,255,.75); max-width:780px; line-height:1.6; }\n  .sent-grid { margin-top:24px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08); }\n  .sent-cell { background:#0E0E0E; padding:24px; display:flex; flex-direction:column; gap:10px; }\n  .sent-cell .sc-l { font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; color:rgba(255,255,255,.5); letter-spacing:.04em; }\n  .sent-cell .sc-v { font-family:'Playfair Display',serif; font-weight:700; font-size:20px; color:#d0e0ff; line-height:1.1; }\n\n  \/* ---------- GARANT\u00cdAS ---------- *\/\n  .garantias { background:#EDE9E0; padding:64px 56px; }\n  .gar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#D8D3C8; border:1px solid #D8D3C8; }\n  .gar-cell { background:#F6F4EF; padding:32px 28px; display:flex; flex-direction:column; gap:12px; min-height:160px; }\n  .gar-ico { font-family:'Playfair Display',serif; font-weight:800; font-size:30px; color:#1b64ff; line-height:1; }\n  .gar-t { font-family:'Playfair Display',serif; font-weight:700; font-size:18px; color:#0a0a0a; line-height:1.1; letter-spacing:-.01em; }\n  .gar-d { font-size:14px; color:#6B6760; line-height:1.55; margin-top:auto; }\n\n  \/* ---------- FOOTER ---------- *\/\n  .footer { background:#0a0a0a; color:#fff; padding:64px 56px 40px; }\n  .footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:40px; border-bottom:1px solid rgba(255,255,255,.1); padding-bottom:40px; }\n  .footer-logo { font-family:'Playfair Display',serif; font-weight:900; font-size:28px; color:#fff; margin-bottom:16px; }\n  .footer-logo .dot { color:#1b64ff; }\n  .footer-desc { color:rgba(255,255,255,.5); font-size:15px; line-height:1.6; }\n  .footer-col h4 { font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; color:rgba(255,255,255,.4); margin:0 0 16px; letter-spacing:.06em; font-weight:400; }\n  .footer-col a, .footer-col p { display:block; color:rgba(255,255,255,.6); font-size:14px; margin-bottom:10px; line-height:1.5; }\n  .footer-col a:hover { color:#d0e0ff; }\n  .footer-copy { font-family:'DM Mono',monospace; font-size:11px; color:rgba(255,255,255,.3); margin-top:32px; letter-spacing:.04em; }\n\n  \/* ---------- RESPONSIVE ---------- *\/\n  @media (max-width:1023px) {\n    .form-wrapper { grid-template-columns:1fr; }\n    .panel { position:static; min-height:auto; }\n  }\n  @media (max-width:767px) {\n    .nav { padding:0 20px; }\n    .nav-links a:not(.nav-cta) { display:none; }\n    .hero { padding:100px 20px 40px; }\n    .hero-para { max-width:100%; }\n    .promesas { grid-template-columns:1fr; }\n    .formsec { padding:48px 20px 64px; }\n    .garantias, .footer { padding:48px 20px; }\n    .field-grid { grid-template-columns:1fr; }\n    .gar-grid { grid-template-columns:1fr; }\n    .sent-grid { grid-template-columns:1fr; }\n    .footer-grid { grid-template-columns:1fr; }\n    #form-sent { padding:40px 24px; }\n    .step-lbl { display:none; }\n    \/* panel colapsable *\/\n    .panel-toggle {\n      display:flex; justify-content:space-between; align-items:center; width:100%;\n      background:#0a0a0a; color:#fff; border:1px solid rgba(255,255,255,.15);\n      font-family:'DM Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.06em;\n      padding:16px 18px;\n    }\n    .panel-toggle .pt-arrow { transition:transform .3s; }\n    .panel.collapsed .panel-body { display:none; }\n    .panel.collapsed { padding-bottom:0; border-bottom:none; }\n    .panel:not(.collapsed) .panel-toggle .pt-arrow { transform:rotate(90deg); }\n    .panel { padding:0; border:none; }\n    .panel-body { padding:24px 20px; border:1px solid rgba(255,255,255,.1); border-top:none; }\n  }\n<\/style>\n<!-- SECCI\u00d3N 0 \u2014 NAV -->\n  <nav class=\"nav\">\n    <a href=\"\/\" class=\"nav-logo\">WeRise<span class=\"dot\">\u00b7<\/span> Performance<\/a>\n    <div class=\"nav-links\">\n      <a href=\"\/\">Inicio<\/a>\n      <a href=\"\/seo-boost\/\">SEO Boost<\/a>\n      <a href=\"\/lead-boost\/\">Lead Boost<\/a>\n      <a href=\"\/ecommerce-boost\/\">Ecommerce Boost<\/a>\n      <a href=\"\/casos\/\">Casos<\/a>\n      <a href=\"\/nosotros\/\">Nosotros<\/a>\n      <a href=\"#form-section\" class=\"nav-cta\">Sesi\u00f3n estrat\u00e9gica<\/a>\n    <\/div>\n  <\/nav>\n\n  <!-- SECCI\u00d3N 1 \u2014 HERO -->\n  <header class=\"hero\">\n    <div class=\"hero-deco\"><\/div>\n    <div class=\"hero-inner\">\n      <div class=\"hero-top\">\n        <div class=\"hero-top-left\">Sesi\u00f3n estrat\u00e9gica \u00b7 Cualificaci\u00f3n previa<\/div>\n        <div class=\"hero-top-right\">\n          <span class=\"live-dot\"><\/span>\n          <span id=\"clock\">00:00:00 CET<\/span>\n        <\/div>\n      <\/div>\n      <h1>Filtramos tambi\u00e9n<br><span>la primera conversaci\u00f3n.<\/span><\/h1>\n      <p class=\"hero-para\">Cinco preguntas para saber si encajamos. Si la respuesta es \u00abtodav\u00eda no\u00bb, te lo decimos antes de la sesi\u00f3n. Tu tiempo cuesta tanto como el nuestro.<\/p>\n      <div class=\"promesas\">\n        <div class=\"promesa\">\n          <div class=\"promesa-ico\">\u25f7<\/div>\n          <div class=\"promesa-t\">Respuesta en 24h h\u00e1biles<\/div>\n          <div class=\"promesa-d\">Si encajamos, pre-llamada de 15 min antes de la sesi\u00f3n completa.<\/div>\n        <\/div>\n        <div class=\"promesa\">\n          <div class=\"promesa-ico\">0\u20ac<\/div>\n          <div class=\"promesa-t\">Sin compromiso<\/div>\n          <div class=\"promesa-d\">La sesi\u00f3n es gratuita. No facturamos hasta que apruebas el primer resultado.<\/div>\n        <\/div>\n        <div class=\"promesa\">\n          <div class=\"promesa-ico\">\u25ce<\/div>\n          <div class=\"promesa-t\">Si no encajamos, te lo decimos<\/div>\n          <div class=\"promesa-d\">Antes de la sesi\u00f3n. Sin perder el tiempo de nadie.<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/header>\n\n  <!-- SECCI\u00d3N 2 \u2014 TICKER -->\n  <div class=\"ticker\"><div class=\"ticker-track\" id=\"tickerTrack\"><\/div><\/div>\n\n  <!-- SECCI\u00d3N 3 \u2014 FORMULARIO WIZARD + PANEL -->\n  <section class=\"formsec\" id=\"form-section\">\n    <div class=\"form-header\">\n      <div class=\"label\">Tu cualificaci\u00f3n<\/div>\n      <h2>Cinco filtros. Noventa segundos.<\/h2>\n      <p class=\"sub\">Misma exigencia que aplicamos a los leads de nuestros clientes.<\/p>\n    <\/div>\n\n    <div class=\"form-wrapper\" id=\"form-wrapper\">\n\n      <!-- COLUMNA IZQUIERDA \u2014 WIZARD -->\n      <div class=\"wizard\" id=\"wizard-col\">\n\n        <div class=\"step-indicator\" id=\"step-indicator\">\n          <div class=\"step-seg\"><div class=\"step-num\">01<\/div><div class=\"step-lbl\">Identidad<\/div><\/div>\n          <div class=\"step-seg\"><div class=\"step-num\">02<\/div><div class=\"step-lbl\">Sector<\/div><\/div>\n          <div class=\"step-seg\"><div class=\"step-num\">03<\/div><div class=\"step-lbl\">Ticket<\/div><\/div>\n          <div class=\"step-seg\"><div class=\"step-num\">04<\/div><div class=\"step-lbl\">Inversi\u00f3n<\/div><\/div>\n          <div class=\"step-seg\"><div class=\"step-num\">05<\/div><div class=\"step-lbl\">Urgencia<\/div><\/div>\n        <\/div>\n        <div class=\"form-progress\"><div id=\"form-progress-bar\"><\/div><\/div>\n\n        <form id=\"qualify-form\" autocomplete=\"on\" novalidate>\n          <!-- honeypot -->\n          <input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\" style=\"position:absolute;left:-9999px;opacity:0\" aria-hidden=\"true\">\n\n          <!-- FIELDSET 1 \u2014 IDENTIDAD -->\n          <fieldset class=\"fs\" data-step=\"1\" style=\"border:none;padding:0;margin:0\">\n            <div class=\"fs-head\"><span class=\"fs-num\">01<\/span><span class=\"fs-lbl\">Qui\u00e9n pregunta<\/span><\/div>\n            <div class=\"field-grid\">\n              <div class=\"field\">\n                <label class=\"flabel\">Nombre y apellidos<\/label>\n                <input type=\"text\" name=\"nombre\" required placeholder=\"Nombre y apellidos\">\n              <\/div>\n              <div class=\"field\">\n                <label class=\"flabel\">Empresa<\/label>\n                <input type=\"text\" name=\"empresa\" required placeholder=\"Tu empresa\">\n              <\/div>\n              <div class=\"field\">\n                <label class=\"flabel\">Email corporativo<\/label>\n                <input type=\"email\" name=\"email\" required placeholder=\"tunombre@empresa.com\">\n              <\/div>\n              <div class=\"field\">\n                <label class=\"flabel\">Tel\u00e9fono<\/label>\n                <input type=\"tel\" name=\"telefono\" required placeholder=\"+34 600 000 000\">\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <!-- FIELDSET 2 \u2014 SECTOR -->\n          <fieldset class=\"fs\" data-step=\"2\" style=\"border:none;padding:0;margin:0\">\n            <div class=\"fs-head\"><span class=\"fs-num\">02<\/span><span class=\"fs-lbl\">Si tu negocio cabe en el modelo<\/span><\/div>\n            <div class=\"field-grid\">\n              <div class=\"field full\">\n                <label class=\"flabel\">Sector \/ actividad<\/label>\n                <select name=\"sector\" required>\n                  <option value=\"\">Selecciona tu sector\u2026<\/option>\n                  <option>Cl\u00ednica \/ Salud est\u00e9tica<\/option>\n                  <option>Dental<\/option>\n                  <option>Reformas \/ Arquitectura<\/option>\n                  <option>Servicios profesionales (legal \/ consultor\u00eda)<\/option>\n                  <option>SaaS \/ Tech B2B<\/option>\n                  <option>Industrial \/ B2B<\/option>\n                  <option>Inmobiliaria<\/option>\n                  <option>Ecommerce<\/option>\n                  <option>Formaci\u00f3n premium<\/option>\n                  <option>Otro<\/option>\n                <\/select>\n              <\/div>\n              <div class=\"field full\">\n                <label class=\"flabel\">Rol en la empresa<\/label>\n                <div class=\"radio-group\">\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"rol\" value=\"Fundador \/ CEO\" required><span>Fundador \/ CEO<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"rol\" value=\"CMO \/ Marketing\"><span>CMO \/ Marketing<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"rol\" value=\"Dir. Comercial\"><span>Dir. Comercial<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"rol\" value=\"Equipo\"><span>Equipo<\/span><\/label>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <!-- FIELDSET 3 \u2014 MODELO Y TICKET -->\n          <fieldset class=\"fs\" data-step=\"3\" style=\"border:none;padding:0;margin:0\">\n            <div class=\"fs-head\"><span class=\"fs-num\">03<\/span><span class=\"fs-lbl\">Si los n\u00fameros cuadran<\/span><\/div>\n            <div class=\"field-grid\">\n              <div class=\"field full\">\n                <label class=\"flabel\">Modelo de cliente<\/label>\n                <div class=\"radio-group\">\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"modelo\" value=\"B2C\" required><span>B2C<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"modelo\" value=\"B2B\"><span>B2B<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"modelo\" value=\"H\u00edbrido\"><span>H\u00edbrido<\/span><\/label>\n                <\/div>\n              <\/div>\n              <div class=\"field full\">\n                <label class=\"flabel\">Ticket medio por cliente cerrado<\/label>\n                <div class=\"radio-group\">\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"ticket\" value=\"&lt; 1k\u20ac\" required><span>&lt; 1k\u20ac<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"ticket\" value=\"1-5k\u20ac\"><span>1-5k\u20ac<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"ticket\" value=\"5-25k\u20ac\"><span>5-25k\u20ac<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"ticket\" value=\"25-100k\u20ac\"><span>25-100k\u20ac<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"ticket\" value=\"100k\u20ac+\"><span>100k\u20ac+<\/span><\/label>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <!-- FIELDSET 4 \u2014 INVERSI\u00d3N ACTUAL -->\n          <fieldset class=\"fs\" data-step=\"4\" style=\"border:none;padding:0;margin:0\">\n            <div class=\"fs-head\"><span class=\"fs-num\">04<\/span><span class=\"fs-lbl\">Punto de partida<\/span><\/div>\n            <div class=\"field-grid\">\n              <div class=\"field full\">\n                <label class=\"flabel\">Inversi\u00f3n publicitaria mensual<\/label>\n                <div class=\"radio-group\">\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"budget\" value=\"No invierto a\u00fan\" required><span>No invierto a\u00fan<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"budget\" value=\"&lt; 2k\u20ac\"><span>&lt; 2k\u20ac<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"budget\" value=\"2-5k\u20ac\"><span>2-5k\u20ac<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"budget\" value=\"5-15k\u20ac\"><span>5-15k\u20ac<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"budget\" value=\"15-50k\u20ac\"><span>15-50k\u20ac<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"budget\" value=\"50k\u20ac+\"><span>50k\u20ac+<\/span><\/label>\n                <\/div>\n              <\/div>\n              <div class=\"field full\">\n                <label class=\"flabel\">\u00bfQu\u00e9 es un \u00ablead \u00fatil\u00bb para ti? <span style=\"color:#9a958c;text-transform:none;letter-spacing:0\">(opcional)<\/span><\/label>\n                <textarea name=\"leadutil\" rows=\"3\" placeholder=\"Ej: una visita comercial agendada, una cita confirmada, una demo asistida\u2026\"><\/textarea>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <!-- FIELDSET 5 \u2014 URGENCIA Y CONSENTIMIENTO -->\n          <fieldset class=\"fs\" data-step=\"5\" style=\"border:none;padding:0;margin:0\">\n            <div class=\"fs-head\"><span class=\"fs-num\">05<\/span><span class=\"fs-lbl\">Urgencia y consentimiento<\/span><\/div>\n            <div class=\"field-grid\">\n              <div class=\"field full\">\n                <label class=\"flabel\">Horizonte de decisi\u00f3n<\/label>\n                <div class=\"radio-group\">\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"urg\" value=\"Empezamos ya\" required><span>Empezamos ya<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"urg\" value=\"En 1-3 meses\"><span>En 1-3 meses<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"urg\" value=\"En 3-6 meses\"><span>En 3-6 meses<\/span><\/label>\n                  <label class=\"radio-btn\"><input type=\"radio\" name=\"urg\" value=\"S\u00f3lo explorando\"><span>S\u00f3lo explorando<\/span><\/label>\n                <\/div>\n              <\/div>\n              <div class=\"field full\">\n                <div class=\"consent\">\n                  <input type=\"checkbox\" name=\"consent\" id=\"consent\" required>\n                  <label for=\"consent\">He le\u00eddo la <a href=\"\/politica-privacidad\/\" target=\"_blank\" rel=\"noopener\">pol\u00edtica de privacidad<\/a> y acepto el tratamiento de mis datos para gestionar esta solicitud.<\/label>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/fieldset>\n\n          <div class=\"form-nav\">\n            <button type=\"button\" id=\"btn-prev\" style=\"visibility:hidden\">\u2190 Anterior<\/button>\n            <button type=\"button\" id=\"btn-next\">Siguiente \u2192<\/button>\n          <\/div>\n          <div class=\"privacy-note\">Respondemos en menos de 24h h\u00e1biles \u00b7 Valencia CET<\/div>\n        <\/form>\n      <\/div>\n\n      <!-- COLUMNA DERECHA \u2014 PANEL DE ENCAJE -->\n      <aside class=\"panel\" id=\"panel\">\n        <button type=\"button\" class=\"panel-toggle\" id=\"panel-toggle\">\n          <span>Ver an\u00e1lisis en tiempo real<\/span><span class=\"pt-arrow\">\u2192<\/span>\n        <\/button>\n        <div class=\"panel-body\">\n          <div class=\"panel-head\">\n            <span class=\"ptitle\">Encaje en tiempo real<\/span>\n            <span class=\"panel-dot\"><\/span>\n          <\/div>\n          <div class=\"meter\">\n            <div class=\"meter-lbl\">Encaje estimado<\/div>\n            <div class=\"meter-bar\"><div id=\"encaje-bar\"><\/div><\/div>\n            <div id=\"encaje-pct\">0%<\/div>\n          <\/div>\n          <div id=\"signals-list\">\n            <div class=\"signals-empty\">Esperando respuestas\u2026<\/div>\n          <\/div>\n          <div id=\"verify-state\">\n            <div class=\"spinner\"><\/div>\n            <span class=\"vtxt\">Verificando encaje\u2026<\/span>\n          <\/div>\n          <div id=\"verdict-block\"><\/div>\n          <div class=\"panel-footer\">Tus datos solo se usan para esta solicitud. No cedemos ni vendemos.<\/div>\n        <\/div>\n      <\/aside>\n\n    <\/div><!-- \/form-wrapper -->\n\n    <!-- ESTADO POST-ENV\u00cdO -->\n    <div id=\"form-sent\">\n      <div class=\"sent-label\">Solicitud recibida<\/div>\n      <h3>Pasaste los cinco <span>filtros.<\/span><\/h3>\n      <p class=\"sent-para\">Revisamos tu caso, miramos si encaja con el modelo y te contactamos en menos de 24h h\u00e1biles. Si no encajamos, te lo decimos en la primera llamada \u2014 antes de la sesi\u00f3n completa.<\/p>\n      <div class=\"sent-grid\">\n        <div class=\"sent-cell\"><div class=\"sc-l\">Pr\u00f3ximo paso<\/div><div class=\"sc-v\">Pre-llamada \u00b7 15 min<\/div><\/div>\n        <div class=\"sent-cell\"><div class=\"sc-l\">Ventana respuesta<\/div><div class=\"sc-v\">&lt; 24h h\u00e1biles<\/div><\/div>\n        <div class=\"sent-cell\"><div class=\"sc-l\">Canal<\/div><div class=\"sc-v\">Email + tel\u00e9fono<\/div><\/div>\n      <\/div>\n    <\/div>\n\n  <\/section>\n\n  <!-- SECCI\u00d3N 4 \u2014 TRES GARANT\u00cdAS -->\n  <section class=\"garantias\">\n    <div class=\"gar-grid\">\n      <div class=\"gar-cell\">\n        <div class=\"gar-ico\">\u221e<\/div>\n        <div class=\"gar-t\">Sin permanencia<\/div>\n        <div class=\"gar-d\">Mensual. Cancelable con 30 d\u00edas de aviso. Sin penalizaciones.<\/div>\n      <\/div>\n      <div class=\"gar-cell\">\n        <div class=\"gar-ico\">\u2b21<\/div>\n        <div class=\"gar-t\">Las cuentas son tuyas<\/div>\n        <div class=\"gar-d\">Google Ads y Meta siempre a tu nombre. Si te vas, te llevas todo.<\/div>\n      <\/div>\n      <div class=\"gar-cell\">\n        <div class=\"gar-ico\">0\u20ac<\/div>\n        <div class=\"gar-t\">Solo pagas resultados<\/div>\n        <div class=\"gar-d\">No facturamos si las oportunidades no llegan. El riesgo es nuestro.<\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- SECCI\u00d3N 5 \u2014 FOOTER -->\n  <footer class=\"footer\">\n    <div class=\"footer-grid\">\n      <div>\n        <div class=\"footer-logo\">WeRise<span class=\"dot\">\u00b7<\/span><\/div>\n        <p class=\"footer-desc\">Agencia de marketing digital en Valencia. Pagas s\u00f3lo por las oportunidades que tu negocio aprueba.<\/p>\n      <\/div>\n      <div class=\"footer-col\">\n        <h4>Bloques<\/h4>\n        <a href=\"\/seo-boost\/\">SEO Boost<\/a>\n        <a href=\"\/lead-boost\/\">Lead Boost<\/a>\n        <a href=\"\/ecommerce-boost\/\">Ecommerce Boost<\/a>\n      <\/div>\n      <div class=\"footer-col\">\n        <h4>Compa\u00f1\u00eda<\/h4>\n        <a href=\"\/nosotros\/\">Nosotros<\/a>\n        <a href=\"\/casos\/\">Casos<\/a>\n        <a href=\"\/contacto\/\">Contacto<\/a>\n      <\/div>\n      <div class=\"footer-col\">\n        <h4>Contacto<\/h4>\n        <a href=\"mailto:hola@weriseperformance.com\">hola@weriseperformance.com<\/a>\n        <p>+34 \u00b7 Valencia, Espa\u00f1a<\/p>\n        <p>L-V \u00b7 9:00\u201319:00 CET<\/p>\n      <\/div>\n    <\/div>\n    <div class=\"footer-copy\">\u00a9 2026 WeRise Performance \u00b7 Solo ganamos si t\u00fa ganas<\/div>\n  <\/footer>\n<script>\n\/\/ ---------- TICKER ----------\n(function(){\n  const items = ['5 filtros','90 segundos','Cualificaci\u00f3n previa','Sin compromiso',\n                 'Respuesta en 24h','Solo ganamos si t\u00fa ganas'];\n  const loop = [...items, ...items];\n  document.getElementById('tickerTrack').innerHTML =\n    loop.map(t => '<span class=\"ticker-item\">'+t+'<\/span>').join('');\n})();\n\n\/\/ ---------- PANEL DE ENCAJE ----------\nconst SIGNAL_MAP = {\n  nombre:   { tipo:'neutral', txt: n => 'Nombre registrado: ' + n.split(' ')[0] },\n  empresa:  { tipo:'info',    txt: n => 'Empresa: ' + n },\n  email:    { tipo:'ok',      txt: () => 'Email corporativo verificado' },\n  telefono: { tipo:'ok',      txt: () => 'Tel\u00e9fono de contacto registrado' },\n  sector:   { tipo:'info',    txt: v => 'Sector: ' + v },\n  rol:      { tipo:'ok',      txt: v => 'Interlocutor: ' + v },\n  modelo:   { tipo:'info',    txt: v => 'Modelo: ' + v },\n  ticket: {\n    tipo: v => v === '< 1k\u20ac' ? 'warn' : 'ok',\n    txt:  v => v === '< 1k\u20ac'\n      ? 'Ticket bajo \u00b7 revisaremos si encaja el modelo a \u00e9xito'\n      : 'Ticket medio: ' + v + ' \u00b7 encaja con el modelo'\n  },\n  budget:   { tipo:'info',    txt: v => 'Inversi\u00f3n actual: ' + v },\n  urg: {\n    tipo: v => v === 'S\u00f3lo explorando' ? 'warn' : 'ok',\n    txt:  v => v === 'S\u00f3lo explorando'\n      ? 'Horizonte abierto \u00b7 agendaremos una exploratoria sin presi\u00f3n'\n      : 'Horizonte: ' + v + ' \u00b7 podemos arrancar'\n  },\n};\nconst ENCAJE_POINTS = { ok:20, info:10, warn:5, neutral:5 };\nconst ORDER = ['nombre','empresa','email','telefono','sector','rol','modelo','ticket','budget','urg'];\nconst signalsByKey = {};\nlet signals = [];\nlet encajeTotal = 0;\n\nconst esc = s => String(s).replace(\/[&<>\"]\/g, c => ({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;'}[c]));\n\nfunction addSignal(key, value){\n  const map = SIGNAL_MAP[key];\n  if (!map) return;\n  const tipo = typeof map.tipo === 'function' ? map.tipo(value) : map.tipo;\n  const txt  = map.txt(value);\n  signalsByKey[key] = { tipo, txt };\n  recompute();\n}\n\nfunction recompute(){\n  signals = ORDER.filter(k => signalsByKey[k]).map(k => signalsByKey[k]);\n  encajeTotal = Math.min(100, signals.reduce((a, s) => a + ENCAJE_POINTS[s.tipo], 0));\n  renderSignals();\n  updateEncajeMeter();\n}\n\nfunction renderSignals(){\n  const list = document.getElementById('signals-list');\n  if (!signals.length){\n    list.innerHTML = '<div class=\"signals-empty\">Esperando respuestas\u2026<\/div>';\n    return;\n  }\n  const colores = { ok:'#1A6B3C', info:'#1b64ff', warn:'#C97D0A', neutral:'rgba(255,255,255,.4)' };\n  const fondos  = { ok:'rgba(26,107,60,.1)', info:'rgba(27,100,255,.08)', warn:'rgba(201,125,10,.1)', neutral:'rgba(255,255,255,.04)' };\n  list.innerHTML = signals.map((s, i) =>\n    '<div style=\"background:'+fondos[s.tipo]+';padding:14px 16px;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;animation:wrRowIn .4s ease both;animation-delay:'+(i*0.04)+'s\">'+\n      '<span style=\"width:8px;height:8px;border-radius:50%;background:'+colores[s.tipo]+';flex-shrink:0\"><\/span>'+\n      '<span style=\"font-family:\\'DM Sans\\',sans-serif;font-size:14px;color:rgba(255,255,255,.8);line-height:1.4\">'+esc(s.txt)+'<\/span>'+\n    '<\/div>'\n  ).join('');\n}\n\nfunction updateEncajeMeter(){\n  const bar = document.getElementById('encaje-bar');\n  const pct = document.getElementById('encaje-pct');\n  bar.style.width = encajeTotal + '%';\n  if (encajeTotal >= 80) bar.style.background = '#1A6B3C';\n  else if (encajeTotal >= 40) bar.style.background = '#1b64ff';\n  else bar.style.background = '#1b64ff';\n  pct.textContent = encajeTotal + '%';\n}\n\nfunction attachFieldListeners(){\n  const inputs = document.querySelectorAll('#qualify-form [name]');\n  inputs.forEach(input => {\n    if (input.name === 'website' || input.name === 'consent' || input.name === 'leadutil') return;\n    const evt = (input.type === 'radio' || input.type === 'checkbox') ? 'change' : 'blur';\n    input.addEventListener(evt, () => {\n      if (input.type === 'radio' && !input.checked) return;\n      if (input.value && input.value.trim()){\n        addSignal(input.name, input.value.trim());\n      }\n    });\n  });\n}\n\nasync function showVerification(){\n  const verifyState = document.getElementById('verify-state');\n  const verdictBlock = document.getElementById('verdict-block');\n  verifyState.style.display = 'flex';\n  await new Promise(r => setTimeout(r, 2800));\n  verifyState.style.display = 'none';\n  verdictBlock.style.display = 'block';\n  const hasWarn = signals.some(s => s.tipo === 'warn');\n  if (hasWarn){\n    verdictBlock.style.background = '#141008';\n    verdictBlock.style.borderColor = '#C97D0A';\n    verdictBlock.innerHTML =\n      '<div style=\"font-family:\\'DM Mono\\',monospace;font-size:11px;color:#C97D0A;letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px\">REVISAREMOS<\/div>'+\n      '<h3 style=\"font-family:\\'Playfair Display\\',serif;font-weight:700;font-size:22px;color:#fff;margin:0 0 10px\">Solicitud recibida con matices.<\/h3>'+\n      '<p style=\"font-size:14px;color:rgba(255,255,255,.65);line-height:1.6;margin:0\">Analizamos tu caso antes de la llamada. Si el modelo no encaja a\u00fan, te lo decimos directamente.<\/p>';\n  } else {\n    verdictBlock.style.background = '#0F1A12';\n    verdictBlock.style.borderColor = '#1A6B3C';\n    verdictBlock.innerHTML =\n      '<div style=\"font-family:\\'DM Mono\\',monospace;font-size:11px;color:#1A6B3C;letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px\">ENCAJE CONFIRMADO<\/div>'+\n      '<h3 style=\"font-family:\\'Playfair Display\\',serif;font-weight:700;font-size:22px;color:#fff;margin:0 0 10px\">Pasaste los cinco filtros.<\/h3>'+\n      '<p style=\"font-size:14px;color:rgba(255,255,255,.65);line-height:1.6;margin:0\">Pre-llamada de 15 min antes de 24h h\u00e1biles. Email + tel\u00e9fono.<\/p>';\n  }\n}\n\n\/\/ ---------- APP ----------\ndocument.addEventListener('DOMContentLoaded', () => {\n\n  \/\/ 1. Reloj\n  const clockEl = document.getElementById('clock');\n  const pad2 = n => String(n).padStart(2,'0');\n  const tick = () => {\n    const d = new Date();\n    clockEl.textContent = pad2(d.getHours())+':'+pad2(d.getMinutes())+':'+pad2(d.getSeconds())+' CET';\n  };\n  tick(); setInterval(tick, 1000);\n\n  \/\/ 2. Wizard\n  let currentStep = 1;\n  const totalSteps = 5;\n  const segs = document.querySelectorAll('.step-seg');\n\n  function showStep(n){\n    document.querySelectorAll('[data-step]').forEach(fs => {\n      fs.style.display = fs.dataset.step == n ? 'flex' : 'none';\n    });\n    currentStep = n;\n    updateProgress();\n    document.getElementById('btn-prev').style.visibility = n > 1 ? 'visible' : 'hidden';\n    document.getElementById('btn-next').textContent = n === totalSteps ? 'Enviar solicitud \u2192' : 'Siguiente \u2192';\n    \/\/ enfoca primer campo del paso para accesibilidad\n    const fs = document.querySelector('[data-step=\"'+n+'\"]');\n    const first = fs.querySelector('input:not([type=radio]):not([type=checkbox]), select, textarea, input[type=radio]');\n  }\n\n  function updateProgress(){\n    const pct = ((currentStep - 1) \/ totalSteps * 100).toFixed(0);\n    document.getElementById('form-progress-bar').style.width = pct + '%';\n    segs.forEach((seg, i) => {\n      const n = i + 1;\n      seg.style.borderBottomColor = n < currentStep ? 'rgba(27,100,255,.35)' : n === currentStep ? '#1b64ff' : 'transparent';\n      seg.querySelector('.step-num').style.color = n <= currentStep ? '#1b64ff' : '#9a958c';\n      seg.classList.toggle('active', n === currentStep);\n    });\n  }\n\n  function validateCurrentStep(){\n    const fs = document.querySelector('[data-step=\"'+currentStep+'\"]');\n    const required = fs.querySelectorAll('[required]');\n    for (const el of required){\n      if (el.type === 'radio'){\n        const group = fs.querySelectorAll('[name=\"'+el.name+'\"]');\n        if (![...group].some(r => r.checked)){ highlightMissing(el.name, fs); return false; }\n      } else if (el.type === 'checkbox'){\n        if (!el.checked){ el.parentElement.style.outline = '1px solid #B03A2E'; setTimeout(()=>el.parentElement.style.outline='',2000); return false; }\n      } else if (!el.value.trim()){\n        el.style.borderColor = '#B03A2E'; el.focus();\n        setTimeout(()=>el.style.borderColor='',2000);\n        return false;\n      }\n    }\n    return true;\n  }\n\n  function highlightMissing(name, fs){\n    const labels = fs.querySelectorAll('[name=\"'+name+'\"] + span');\n    labels.forEach(l => {\n      l.style.borderColor = '#B03A2E';\n      setTimeout(() => l.style.borderColor = '', 2000);\n    });\n  }\n\n  function markStepDone(n){\n    const seg = segs[n-1];\n    if (seg) seg.style.borderBottomColor = 'rgba(27,100,255,.35)';\n  }\n\n  document.getElementById('btn-next').addEventListener('click', () => {\n    if (!validateCurrentStep()) return;\n    \/\/ capta se\u00f1ales del paso actual por si alg\u00fan campo no dispar\u00f3 blur\n    captureStepSignals(currentStep);\n    markStepDone(currentStep);\n    if (currentStep < totalSteps) showStep(currentStep + 1);\n    else submitForm();\n  });\n  document.getElementById('btn-prev').addEventListener('click', () => {\n    if (currentStep > 1) showStep(currentStep - 1);\n  });\n\n  function captureStepSignals(n){\n    const fs = document.querySelector('[data-step=\"'+n+'\"]');\n    fs.querySelectorAll('[name]').forEach(input => {\n      if (!SIGNAL_MAP[input.name]) return;\n      if (input.type === 'radio' && !input.checked) return;\n      if (input.value && input.value.trim()) addSignal(input.name, input.value.trim());\n    });\n  }\n\n  \/\/ 3. Panel de encaje\n  attachFieldListeners();\n\n  \/\/ 4. Panel colapsable (m\u00f3vil)\n  const panel = document.getElementById('panel');\n  const panelToggle = document.getElementById('panel-toggle');\n  if (window.matchMedia('(max-width:767px)').matches) panel.classList.add('collapsed');\n  panelToggle.addEventListener('click', () => panel.classList.toggle('collapsed'));\n\n  \/\/ 5. Submit\n  async function submitForm(){\n    \/\/ panel a ancho completo y ocultamos el wizard, dejando el panel visible\n    const wrapper = document.getElementById('form-wrapper');\n    wrapper.style.gridTemplateColumns = '1fr';\n    document.getElementById('wizard-col').style.display = 'none';\n    panel.classList.remove('collapsed');\n    panel.scrollIntoView({ behavior:'smooth', block:'center' });\n    await showVerification();\n    await new Promise(r => setTimeout(r, 1600));\n    document.getElementById('form-wrapper').style.display = 'none';\n    document.getElementById('form-sent').style.display = 'block';\n    document.getElementById('form-sent').scrollIntoView({ behavior:'smooth', block:'center' });\n  }\n\n  showStep(1);\n});\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>WeRise\u00b7 Performance Inicio SEO Boost Lead Boost Ecommerce Boost Casos Nosotros Sesi\u00f3n estrat\u00e9gica Sesi\u00f3n estrat\u00e9gica \u00b7 Cualificaci\u00f3n previa 00:00:00 CET Filtramos tambi\u00e9nla primera conversaci\u00f3n. Cinco preguntas para saber si encajamos. Si la respuesta es \u00abtodav\u00eda no\u00bb, te lo decimos antes de la sesi\u00f3n. Tu tiempo cuesta tanto como el nuestro. \u25f7 Respuesta en 24h h\u00e1biles [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-4513","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/weriseperformance.com\/en\/wp-json\/wp\/v2\/pages\/4513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/weriseperformance.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/weriseperformance.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/weriseperformance.com\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/weriseperformance.com\/en\/wp-json\/wp\/v2\/comments?post=4513"}],"version-history":[{"count":1,"href":"https:\/\/weriseperformance.com\/en\/wp-json\/wp\/v2\/pages\/4513\/revisions"}],"predecessor-version":[{"id":4514,"href":"https:\/\/weriseperformance.com\/en\/wp-json\/wp\/v2\/pages\/4513\/revisions\/4514"}],"wp:attachment":[{"href":"https:\/\/weriseperformance.com\/en\/wp-json\/wp\/v2\/media?parent=4513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}