{"id":156742,"date":"2026-09-03T14:57:31","date_gmt":"2026-09-03T12:57:31","guid":{"rendered":"https:\/\/gamestrategies.io\/calculadora-kepler-hoteles\/"},"modified":"2026-09-04T11:20:56","modified_gmt":"2026-09-04T09:20:56","slug":"calculadora-kepler-hoteles","status":"publish","type":"page","link":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/","title":{"rendered":"Calculadora de Ingresos por Reputaci\u00f3n Hotelera | Kepler"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"156742\" class=\"elementor elementor-156742 elementor-156718 elementor-bc-flex-widget\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e5d8c29d elementor-widget elementor-widget-html\" data-id=\"e5d8c29d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n        const form = document.querySelector('.elementor-form');\r\n        const emailField = form.querySelector('input[type=\"email\"]');\r\n        \r\n        form.addEventListener('submit', function(event) {\r\n            const email = emailField.value;\r\n            const bannedDomains = [\"gmail.com\", \"icloud.com\", \"hotmail.com\", \"yahoo.com\"];\r\n            \r\n            \/\/ Extraer el dominio del correo\r\n            const emailDomain = email.split('@').pop();\r\n            \r\n            if (bannedDomains.includes(emailDomain.toLowerCase())) {\r\n                event.preventDefault();  \/\/ Detiene el env\u00edo del formulario\r\n                alert('Por favor, utiliza un correo corporativo.');\r\n                return false; \/\/ Asegura que el formulario no se env\u00ede\r\n            }\r\n        });\r\n\r\n        \/\/ Impide el env\u00edo si se hace por medios no convencionales (refuerza la seguridad)\r\n        form.addEventListener('submit', function(event) {\r\n            if (!emailField.value || emailField.value === \"\") {\r\n                event.preventDefault();  \/\/ Detiene el env\u00edo del formulario\r\n            }\r\n        });\r\n    });\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b2abc893 e-con-full e-flex e-con e-parent\" data-id=\"b2abc893\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-625c14d6 elementor-widget elementor-widget-html\" data-id=\"625c14d6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.elementor-element-b2abc893{gap:0!important;padding:0!important;}<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3dddd694 elementor-widget elementor-widget-html\" data-id=\"3dddd694\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n:root{\n  --white:#FFFFFF; --tint:#EDF7FD; --sky:#27AAF0; --blue:#0060C2; --blue-bright:#007EFE; --navy:#00356B;\n  --orange:#F89A3E; --orange-2:#FFB066; --gray-mid:#B6B6B6; --gray-dark:#515151;\n  --card: rgba(255,255,255,0.85); --text:#0f172a; --muted:#64748b;\n  --primary: var(--navy); --primary-2: var(--blue); --accent:#c9a227; --accent-2:#e7c85a; --success:#16a34a;\n  --border:#e3e8ee; --shadow: 0 34px 70px -34px rgba(0,53,107,0.32); --radius:26px;\n}\n*{ box-sizing:border-box; }\nhtml, body{ height:100%; }\nbody{ margin:0; overflow-x:hidden; font-family:'Open Sans', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; color:var(--gray-dark); background:#fff; }\n.bg{ position:absolute; left:50%; top:-8%; transform:translateX(-50%); width:1100px; height:720px; max-width:200vw;\n  background: radial-gradient(circle at 30% 35%, rgba(0,96,194,0.34), transparent 55%), radial-gradient(circle at 72% 62%, rgba(201,162,39,0.22), transparent 55%), radial-gradient(circle at 50% 50%, rgba(39,170,240,0.28), transparent 60%);\n  filter:blur(95px); opacity:.9; z-index:-1; pointer-events:none; }\n.container{ max-width:980px; margin:0 auto; padding:64px 18px 50px; position:relative; z-index:2; }\n.header{ display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:22px; flex-wrap:wrap; }\n.brand{ display:flex; gap:12px; align-items:center; }\n.brand-text{ color:var(--navy); }\n.brand-name{ font-family:'Poppins',sans-serif; font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--blue); }\n.brand-sub{ font-weight:750; margin-top:3px; color:var(--navy); }\n.header-right{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }\n.trust{ display:flex; gap:8px; flex-wrap:wrap; }\n.pill{ font-size:11px; font-weight:600; padding:6px 10px; border-radius:999px; background:#fff; border:1px solid var(--border); box-shadow:0 6px 18px -10px rgba(0,53,107,.2); color:var(--navy); }\n.lang{ display:flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; background:#fff; border:1px solid var(--border); box-shadow:0 6px 18px -10px rgba(0,53,107,.2); color:var(--navy); }\n.lang-label{ font-size:12px; opacity:.85; }\n.lang-select{ appearance:none; -webkit-appearance:none; border:1px solid var(--border); background:#fff; color:var(--navy); padding:4px 22px 4px 4px; border-radius:999px; font-weight:600; font-size:12px; cursor:pointer; outline:none; }\n.lang-select option{ color:#111827; background:#fff; }\n.card{ background:rgba(255,255,255,.82); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,.95); border-radius:var(--radius); padding:28px 26px 24px; box-shadow:var(--shadow); }\n.screen{ display:none; } .screen.active{ display:block; }\n.step{ display:none; } .step.active{ display:block; }\nh1{ font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(22px,2.8vw,29px); line-height:1.28; letter-spacing:-.3px; margin:0 0 10px; color:var(--navy); }\nh2{ font-family:'Poppins',sans-serif; font-weight:800; font-size:18px; margin:0 0 6px; color:var(--navy); }\nh3{ font-family:'Poppins',sans-serif; font-weight:700; font-size:13.5px; margin:0 0 6px; color:var(--navy); }\n.lead{ font-size:14.5px; line-height:1.6; color:var(--gray-dark); }\n.muted{ color:var(--muted); } .tiny{ font-size:11px; } .small{ font-size:12px; }\n.big{ font-size:22px; font-weight:800; margin-top:8px; color:var(--navy); font-family:'Poppins',sans-serif; }\n.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0 4px; }\n.info-box{ border:1px solid var(--border); border-radius:16px; padding:14px; background:#fff; }\n.info-box ul{ margin:10px 0 0 18px; padding:0; line-height:1.6; font-size:13.5px; }\n.field{ margin-top:10px; display:flex; align-items:center; gap:10px; border:1.5px solid var(--border); border-radius:14px; padding:10px 13px; background:#fff; transition:border-color .16s ease; }\n.field:focus-within{ border-color:var(--sky); }\n.field input, .field select{ flex:1; border:none; outline:none; font-size:16px; background:transparent; color:var(--navy); -webkit-appearance:none; appearance:none; }\n.prefix, .suffix{ font-weight:700; color:var(--gray-mid); }\n.toggle-row{ margin-top:10px; }\n.toggle{ display:inline-flex; align-items:center; gap:10px; border-radius:999px; padding:9px 14px; border:1.5px solid var(--border); background:#fff; cursor:pointer; font-weight:700; color:var(--navy); }\n.toggle .dot{ width:10px; height:10px; border-radius:50%; background:var(--gray-mid); }\n.toggle[aria-pressed=\"true\"]{ border-color:rgba(201,162,39,.55); background:rgba(201,162,39,.10); }\n.toggle[aria-pressed=\"true\"] .dot{ background:var(--accent); }\n.adr-block{ margin-top:10px; } .hidden{ display:none; }\n.assumption{ margin-top:14px; border:1px solid var(--border); border-radius:16px; padding:14px; background:var(--tint); }\n.assumption-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; }\n.badge{ font-weight:800; font-family:'Poppins',sans-serif; padding:6px 11px; border-radius:999px; background:rgba(201,162,39,.16); border:1px solid rgba(201,162,39,.4); color:#8a6a10; }\n#centerPct{ width:100%; margin:10px 0 6px; accent-color:var(--blue); }\n.range-labels{ display:flex; justify-content:space-between; font-size:11px; color:var(--muted); }\n.btn{ border:1px solid var(--border); background:#fff; color:var(--navy); padding:11px 18px; border-radius:999px; font-weight:600; font-family:'Poppins',sans-serif; font-size:13.5px; cursor:pointer; transition:transform .18s ease, box-shadow .18s ease; }\n.btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px -10px rgba(0,53,107,.25); }\n.btn-primary{ background:linear-gradient(135deg, var(--primary-2), var(--primary)); border:none; color:#fff; box-shadow:0 16px 32px -14px rgba(0,96,194,.55); }\n.btn-ghost{ background:#fff; }\n.btn-small{ padding:8px 14px; font-size:12px; }\n.nav{ margin-top:18px; display:flex; justify-content:space-between; }\n.topbar{ display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:18px; }\n.progress-wrap{ flex:1; max-width:300px; }\n.progress-label{ font-family:'Poppins',sans-serif; font-size:11px; font-weight:600; color:var(--gray-mid); margin-bottom:6px; }\n.progress{ height:5px; background:#e2ecf5; border-radius:999px; overflow:hidden; }\n.progress-bar{ height:100%; background:linear-gradient(90deg, var(--sky), var(--blue-bright)); transition:width .45s cubic-bezier(.22,.9,.32,1); }\n.loading{ text-align:center; padding:22px 0; }\n.spinner{ width:40px; height:40px; border-radius:50%; border:4px solid var(--border); border-top:4px solid var(--blue); margin:0 auto 14px; animation:spin 1s linear infinite; }\n@keyframes spin{ to{ transform:rotate(360deg); } }\n.cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; margin-top:16px; }\n.result-card{ border-radius:16px; padding:14px; background:#fff; border:1px solid var(--border); }\n.result-card .label{ font-size:11.5px; color:var(--gray-mid); font-weight:700; font-family:'Poppins',sans-serif; text-transform:uppercase; letter-spacing:.04em; }\n.result-card .value{ font-size:21px; font-weight:800; margin-top:8px; color:var(--navy); font-family:'Poppins',sans-serif; }\n.result-card.highlight{ background:linear-gradient(135deg, rgba(201,162,39,.16), rgba(201,162,39,.05)); border:1px solid rgba(201,162,39,.35); }\n.cta-box{ background:linear-gradient(150deg, var(--navy), var(--blue)); border-radius:22px; padding:22px 20px; margin-top:16px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; color:#fff; }\n.cta-box h3{ color:#fff; } .cta-box p{ color:rgba(255,255,255,.82); margin:0; }\n.cta-box .btn-primary{ background:linear-gradient(135deg, var(--orange), var(--orange-2)); box-shadow:0 14px 30px -10px rgba(248,154,62,.55); white-space:nowrap; }\n.actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }\n.footer{ margin-top:22px; text-align:center; color:var(--gray-mid); }\n@media(max-width:860px){ .grid-2{ grid-template-columns:1fr; } .cards{ grid-template-columns:1fr; } .cta-box{ flex-direction:column; align-items:flex-start; } }\n\n\/* ===== Hero oscuro (mismo sistema que \/es\/generador-de-plan-de-formacion-con-ia\/) ===== *\/\n.kc-hero{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); background:#050e1c; color:#cddcec; position:relative; overflow:hidden; isolation:isolate; }\n.kc-hero::before{ content:''; position:absolute; inset:0; z-index:1; pointer-events:none;\n  background-image:linear-gradient(to right, rgba(125,199,255,.07) 1px, transparent 1px), linear-gradient(to bottom, rgba(125,199,255,.07) 1px, transparent 1px);\n  background-size:64px 64px; -webkit-mask-image:radial-gradient(ellipse 90% 70% at 50% 60%, #000 20%, transparent 75%); mask-image:radial-gradient(ellipse 90% 70% at 50% 60%, #000 20%, transparent 75%); }\n.kc-hero .bg{ width:1200px; height:780px; top:-6%; opacity:.85; filter:blur(110px);\n  background: radial-gradient(circle at 28% 34%, rgba(56,208,255,.42), transparent 58%), radial-gradient(circle at 74% 28%, rgba(123,92,255,.36), transparent 58%), radial-gradient(circle at 52% 74%, rgba(47,123,255,.34), transparent 60%), radial-gradient(circle at 88% 66%, rgba(255,171,94,.18), transparent 55%); }\n.kc-hero .container{ position:relative; z-index:3; }\n.kc-hero .brand-name{ color:#38d0ff !important; } .kc-hero .brand-sub{ color:#fff !important; }\n.kc-hero .pill, .kc-hero .lang{ background:rgba(255,255,255,.06) !important; border-color:rgba(125,199,255,.16) !important; color:#bfe4ff !important; box-shadow:none !important; }\n.kc-hero .lang-label{ display:none !important; }\n.kc-hero .lang{ padding:6px 10px !important; }\n.kc-hero .lang-select{ background:transparent !important; color:#bfe4ff !important; font-weight:600 !important; border-color:rgba(125,199,255,.16) !important; }\n.kc-hero .lang-select option{ color:#111827 !important; background:#fff !important; }\n.kc-hero h1, .kc-hero h2, .kc-hero h3{ color:#fff !important; text-transform:none !important; }\n.kc-hero .lead{ color:#cddcec !important; } .kc-hero .muted{ color:#8da1b8 !important; }\n.kc-hero .card{ background:linear-gradient(165deg, rgba(255,255,255,.075), rgba(255,255,255,.03)) !important; border:1px solid rgba(125,199,255,.16) !important; box-shadow:0 50px 100px -40px rgba(0,0,0,.75), inset 0 1px 0 rgba(255,255,255,.09) !important; }\n.kc-hero .info-box{ background:rgba(255,255,255,.04) !important; border-color:rgba(125,199,255,.16) !important; }\n.kc-hero .info-box h3{ color:#fff !important; }\n.kc-hero .field{ background:rgba(255,255,255,.04) !important; border-color:rgba(125,199,255,.16) !important; }\n.kc-hero .field input, .kc-hero .field select{ background:transparent !important; color:#fff !important; -webkit-text-fill-color:#fff !important; }\n.kc-hero .field select option{ color:#111827 !important; background:#fff !important; -webkit-text-fill-color:#111827 !important; }\n.kc-hero .prefix, .kc-hero .suffix{ color:#8da1b8 !important; }\n.kc-hero .toggle{ background:rgba(255,255,255,.04) !important; border-color:rgba(125,199,255,.16) !important; color:#fff !important; }\n.kc-hero .toggle .dot{ background:#8da1b8 !important; }\n.kc-hero .toggle[aria-pressed=\"true\"]{ border-color:#e7c85a !important; background:rgba(231,200,90,.14) !important; }\n.kc-hero .toggle[aria-pressed=\"true\"] .dot{ background:#e7c85a !important; }\n.kc-hero .assumption{ background:rgba(255,255,255,.04) !important; border-color:rgba(125,199,255,.16) !important; }\n.kc-hero .badge{ background:rgba(231,200,90,.16) !important; border-color:rgba(231,200,90,.4) !important; color:#f0d98a !important; }\n.kc-hero .range-labels{ color:#8da1b8 !important; }\n.kc-hero .big{ color:#fff !important; }\n.kc-hero .btn-ghost{ background:rgba(255,255,255,.04) !important; color:#9fd8ff !important; border-color:rgba(125,199,255,.16) !important; text-transform:none !important; }\n.kc-hero .btn-primary{ background:linear-gradient(135deg,#38d0ff,#2f7bff 55%,#7b5cff) !important; color:#fff !important; font-weight:600 !important; text-shadow:0 1px 3px rgba(0,0,0,.3) !important; box-shadow:0 16px 40px -16px rgba(56,208,255,.85) !important; text-transform:none !important; }\n.kc-hero .progress{ background:rgba(255,255,255,.09) !important; }\n.kc-hero .progress-bar{ background:linear-gradient(90deg,#38d0ff,#7b5cff) !important; box-shadow:0 0 14px rgba(56,208,255,.65); }\n.kc-hero .result-card{ background:rgba(255,255,255,.05) !important; border-color:rgba(125,199,255,.16) !important; }\n.kc-hero .result-card .label{ color:#8da1b8 !important; } .kc-hero .result-card .value{ color:#fff !important; }\n.kc-hero .result-card.highlight{ background:linear-gradient(135deg, rgba(231,200,90,.18), rgba(231,200,90,.06)) !important; border-color:#e7c85a !important; }\n.kc-hero .cta-box{ background:linear-gradient(150deg, rgba(56,208,255,.14), rgba(123,92,255,.14)) !important; border:1px solid rgba(125,199,255,.28) !important; }\n.kc-hero .cta-box .btn-primary{ background:linear-gradient(135deg,#ffab5e,#f89a3e) !important; color:#fff !important; font-weight:600 !important; text-shadow:0 1px 3px rgba(0,0,0,.3) !important; box-shadow:0 14px 30px -10px rgba(248,154,62,.55) !important; }\n.kc-hero .footer{ color:#6f8499 !important; }\na.btn.btn-primary#cta-link{ color:#fff !important; font-weight:600 !important; text-shadow:0 1px 3px rgba(0,0,0,.3) !important; }\n\n#screen-welcome .grid-2{ grid-template-columns:1fr !important; }\n#screen-welcome .grid-2 .info-box:nth-of-type(2){ display:none !important; }\n.kc-hero [data-i18n=\"methodNote\"]{ display:none !important; }\n\n.page-header{ display:none !important; }\n\n\/* ===== Bloque de contenido SEO ===== *\/\n.kc-sec{ width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:80px 24px; font-family:'Open Sans',sans-serif; box-sizing:border-box; }\n.kc-sec *{ box-sizing:border-box; }\n.kc-wrap{ max-width:1000px; margin:0 auto; }\n.kc-label{ font-family:'Poppins',sans-serif; font-weight:700; font-size:12px; letter-spacing:.16em; text-transform:uppercase; margin-bottom:14px; }\n.kc-sec h2{ font-family:'Poppins',sans-serif; font-weight:800; font-size:clamp(26px,3.4vw,36px); letter-spacing:-.6px; margin:0 0 16px; text-transform:none; }\n.kc-sec h3{ font-family:'Poppins',sans-serif; font-weight:700; font-size:17.5px; margin:0 0 8px; text-transform:none; }\n.kc-intro{ font-size:16px; line-height:1.75; max-width:720px; margin:0 0 44px; }\n.kc-ev{ background:#071a33; color:#b9cbdd; }\n.kc-ev .kc-label{ color:#ffab5e; } .kc-ev h2{ color:#fff; }\n.kc-ev-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; text-align:left; }\n@media(max-width:900px){ .kc-ev-grid{ grid-template-columns:1fr; max-width:480px; margin:0 auto; } }\n.kc-ev-card{ background:rgba(255,255,255,.05); border:1px solid rgba(125,199,255,.16); border-radius:20px; padding:28px 24px; }\n.kc-ev-cifra{ font-family:'Poppins',sans-serif; font-weight:800; font-size:32px; background-image:linear-gradient(120deg,#38d0ff,#ffab5e); -webkit-background-clip:text; background-clip:text; color:transparent; margin-bottom:8px; }\n.kc-ev-card p{ font-size:13.5px; line-height:1.65; color:#b9cbdd; margin:0; }\n.kc-guia{ background:linear-gradient(180deg,#eaf4fd,#fff); color:#43536b; }\n.kc-guia .kc-label{ color:#0060c2; } .kc-guia h2,.kc-guia h3{ color:#00356b; }\n.kc-pasos{ list-style:none; padding:0; margin:0; }\n.kc-paso{ display:grid; grid-template-columns:70px 1fr; gap:20px; padding:26px 0; border-top:1px solid #dceaf7; }\n.kc-paso:first-child{ border-top:0; padding-top:0; }\n.kc-paso-n{ font-family:'Poppins',sans-serif; font-weight:800; font-size:34px; background-image:linear-gradient(150deg,#38d0ff,#7b5cff); -webkit-background-clip:text; background-clip:text; color:transparent; }\n.kc-paso p{ font-size:15px; line-height:1.7; margin:0; color:#43536b; } .kc-paso strong{ color:#00356b; }\n@media(max-width:640px){ .kc-paso{ grid-template-columns:1fr; gap:8px; } }\n.kc-faq{ background:linear-gradient(180deg,#fff,#eaf4fd); color:#43536b; }\n.kc-faq .kc-label{ color:#0060c2; } .kc-faq h2{ color:#00356b; }\n.kc-faq-lista{ margin-top:36px; display:grid; gap:10px; }\n.kc-faq details{ border:1px solid #dfeaf6; border-radius:16px; background:#fff; overflow:hidden; }\n.kc-faq details[open]{ border-color:#9fd8ff; box-shadow:0 16px 36px -22px rgba(0,53,107,.4); }\n.kc-faq summary{ cursor:pointer; list-style:none; padding:18px 50px 18px 22px; font-family:'Poppins',sans-serif; font-weight:700; font-size:15.5px; color:#00356b; position:relative; }\n.kc-faq summary::-webkit-details-marker{ display:none; }\n.kc-faq summary::after{ content:''; position:absolute; right:22px; top:50%; width:10px; height:10px; border-right:2px solid #38d0ff; border-bottom:2px solid #38d0ff; transform:translateY(-70%) rotate(45deg); transition:transform .2s ease; }\n.kc-faq details[open] summary::after{ transform:translateY(-30%) rotate(-135deg); }\n.kc-faq details p{ margin:0; padding:0 22px 20px; font-size:14.5px; line-height:1.7; }\n.kc-cta{ background:#050e1c; color:#cddcec; text-align:center; }\n.kc-cta h2{ color:#fff; } .kc-cta p{ font-size:16px; line-height:1.75; margin:0 auto 30px; max-width:560px; }\n.kc-cta .kc-wrap{ max-width:680px; }\n.kc-cta-botones{ display:flex; gap:18px; align-items:center; justify-content:center; flex-wrap:wrap; }\n.kc-cta-link{ font-family:'Poppins',sans-serif; font-weight:700; font-size:14.5px; color:#9fd8ff; text-decoration:none; }\n.kc-cta-link:hover{ text-decoration:underline; }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7546d595 elementor-widget elementor-widget-html\" data-id=\"7546d595\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"kc-hero\"><main class=\"container\">\n    <div class=\"bg\"><\/div>\n    <header class=\"header\">\n      <div class=\"brand\">\n        <div class=\"brand-text\">\n          <div class=\"brand-name\" data-i18n=\"brandName\">Kepler<\/div>\n          <div class=\"brand-sub\" data-i18n=\"brandSub\">Ingresos por Reputaci\u00f3n Hotelera<\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"header-right\">\n        <div class=\"trust\">\n          <span class=\"pill\" data-i18n=\"pillFree\">100% gratuita<\/span>\n          <span class=\"pill\" data-i18n=\"pillInstant\">Resultados inmediatos<\/span>\n          <span class=\"pill\" data-i18n=\"pillScenarios\">3 escenarios<\/span>\n        <\/div>\n\n        <div class=\"lang\">\n          <label class=\"lang-label\" for=\"langSelect\" data-i18n=\"langLabel\">Idioma<\/label>\n          <select id=\"langSelect\" class=\"lang-select\" aria-label=\"Idioma\">\n            <option value=\"es\">ES<\/option>\n            <option value=\"fr\">FR<\/option>\n            <option value=\"en\">EN<\/option>\n          <\/select>\n        <\/div>\n      <\/div>\n    <\/header>\n\n    <!-- WELCOME -->\n    <section id=\"screen-welcome\" class=\"card screen active\">\n      <h1 data-i18n=\"welcomeTitle\">\u00bfCu\u00e1nto ingreso podr\u00edas capturar con +0,1 puntos de valoraci\u00f3n?<\/h1>\n      <p class=\"lead\" data-i18n=\"welcomeLead\">\n        En menos de 2 minutos, estima el impacto potencial de mejorar tu rating (p. ej., de 4,1 a 4,4) en ingresos.\n      <\/p>\n\n      <div class=\"grid-2\">\n        <div class=\"info-box\">\n          <h3 data-i18n=\"welcomeBox1Title\">Qu\u00e9 vas a obtener<\/h3>\n          <ul>\n            <li data-i18n=\"welcomeBox1Li1\">\ud83d\udcb6 Impacto anual (prudente \/ central \/ alto)<\/li>\n            <li data-i18n=\"welcomeBox1Li2\">\ud83d\udcc6 Impacto mensual estimado<\/li>\n            <li data-i18n=\"welcomeBox1Li3\">\ud83e\udde0 Sensibilidad: cada +0,1 \u2248 \u20acX\/a\u00f1o<\/li>\n            <li data-i18n=\"welcomeBox1Li4\">\ud83c\udf19 Opcional: equivalente en noches (si a\u00f1ades ADR)<\/li>\n          <\/ul>\n        <\/div>\n\n        <div class=\"info-box\">\n          <h3 data-i18n=\"welcomeBox2Title\">Contexto (estudios sectoriales)<\/h3>\n          <p data-i18n=\"welcomeBox2P1\">\n            Diferentes an\u00e1lisis acad\u00e9micos y del sector hotelero muestran que mejoras peque\u00f1as en la valoraci\u00f3n pueden asociarse\n            a incrementos de demanda\/ingresos (mejor conversi\u00f3n y visibilidad en OTAs).\n          <\/p>\n          <p class=\"muted\" data-i18n=\"welcomeBox2P2\">\n            Para mantenerlo prudente, esta herramienta usa un rango orientativo por cada +0,1: <strong>+1,0% \/ +1,5% \/ +2,0%<\/strong>.\n          <\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"actions\">\n        <button class=\"btn btn-primary\" id=\"btn-start\" data-i18n=\"btnStart\">Empezar<\/button>\n        <button class=\"btn btn-ghost\" id=\"btn-demo\" data-i18n=\"btnExample\">Ver ejemplo<\/button>\n      <\/div>\n\n      <p class=\"tiny muted\" data-i18n=\"privacyNote\">No guardamos datos. Todo se calcula en tu navegador.<\/p>\n    <\/section>\n\n    <!-- FORM -->\n    <section id=\"screen-form\" class=\"card screen\">\n      <div class=\"topbar\">\n        <div class=\"progress-wrap\">\n          <div class=\"progress-label\"><span data-i18n=\"progressLabel\">Progreso<\/span>: <span id=\"progressText\">Paso 1 de 4<\/span><\/div>\n          <div class=\"progress\">\n            <div class=\"progress-bar\" id=\"progressBar\" style=\"width: 25%\"><\/div>\n          <\/div>\n        <\/div>\n        <button class=\"btn btn-ghost btn-small\" id=\"btn-reset\" data-i18n=\"btnReset\">Reiniciar<\/button>\n      <\/div>\n\n      <div class=\"step active\" data-step=\"1\">\n        <h2 data-i18n=\"q1Title\">Ingresos anuales por habitaciones<\/h2>\n        <p class=\"muted\" data-i18n=\"q1Help\">Si no tienes el dato exacto, usa una aproximaci\u00f3n (solo habitaciones).<\/p>\n        <div class=\"field\">\n          <span class=\"prefix\">\u20ac<\/span>\n          <input type=\"number\" min=\"0\" step=\"10000\" id=\"annualRevenue\" placeholder=\"Ej. 25000000\" \/>\n        <\/div>\n      <\/div>\n\n      <div class=\"step\" data-step=\"2\">\n        <h2 data-i18n=\"q2Title\">Valoraci\u00f3n actual<\/h2>\n        <p class=\"muted\" data-i18n=\"q2Help\">Ejemplo: 4,1 (0\u20135). Puedes usar Booking\/TripAdvisor\/Google como referencia interna.<\/p>\n        <div class=\"field\">\n          <input type=\"number\" min=\"0\" max=\"5\" step=\"0.1\" id=\"ratingCurrent\" placeholder=\"Ej. 4.1\" \/>\n          <span class=\"suffix\" data-i18n=\"suffixStars\">\/5<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"step\" data-step=\"3\">\n        <h2 data-i18n=\"q3Title\">Valoraci\u00f3n objetivo<\/h2>\n        <p class=\"muted\" data-i18n=\"q3Help\">Ejemplo: 4,4. La calculadora trabaja en incrementos de 0,1.<\/p>\n        <div class=\"field\">\n          <input type=\"number\" min=\"0\" max=\"5\" step=\"0.1\" id=\"ratingTarget\" placeholder=\"Ej. 4.4\" \/>\n          <span class=\"suffix\" data-i18n=\"suffixStars\">\/5<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"step\" data-step=\"4\">\n        <h2 data-i18n=\"q4Title\">\u00bfQuieres a\u00f1adir ADR (opcional)?<\/h2>\n        <p class=\"muted\" data-i18n=\"q4Help\">\n          Si introduces tu ADR (tarifa media), convertimos el impacto a \u201cnoches equivalentes\u201d. Si no, lo omitimos.\n        <\/p>\n\n        <div class=\"toggle-row\">\n          <button class=\"toggle\" id=\"toggleAdr\" type=\"button\" aria-pressed=\"false\">\n            <span class=\"dot\"><\/span>\n            <span data-i18n=\"toggleAdrText\">A\u00f1adir ADR<\/span>\n          <\/button>\n        <\/div>\n\n        <div id=\"adrBlock\" class=\"adr-block hidden\">\n          <div class=\"field\">\n            <span class=\"prefix\">\u20ac<\/span>\n            <input type=\"number\" min=\"0\" step=\"1\" id=\"adr\" placeholder=\"Ej. 165\" \/>\n            <span class=\"suffix\" data-i18n=\"suffixAdr\">ADR<\/span>\n          <\/div>\n          <p class=\"tiny muted\" data-i18n=\"adrNote\">\n            ADR opcional: solo se usa para traducir \u20ac a noches equivalentes. No afecta al % de impacto.\n          <\/p>\n        <\/div>\n\n        <div class=\"assumption\">\n          <div class=\"assumption-head\">\n            <div>\n              <h3 data-i18n=\"assumpTitle\">Supuesto (ajustable)<\/h3>\n              <p class=\"muted\" data-i18n=\"assumpHelp\">\n                Por defecto usamos 1,0% \/ 1,5% \/ 2,0% por cada +0,1. Si quieres, ajusta el escenario central.\n              <\/p>\n            <\/div>\n            <span class=\"badge\" id=\"centerPctBadge\">1.5%<\/span>\n          <\/div>\n\n          <input id=\"centerPct\" type=\"range\" min=\"0.5\" max=\"3.0\" step=\"0.1\" value=\"1.5\" \/>\n          <div class=\"range-labels\">\n            <span>0.5%<\/span>\n            <span>3.0%<\/span>\n          <\/div>\n          <p class=\"tiny muted\" data-i18n=\"assumpFoot\">\n            El escenario prudente y alto se ajustan autom\u00e1ticamente alrededor del central (\u00b10,5 pts).\n          <\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"nav\">\n        <button class=\"btn btn-ghost\" id=\"btn-back\" data-i18n=\"btnBack\">Atr\u00e1s<\/button>\n        <button class=\"btn btn-primary\" id=\"btn-next\" data-i18n=\"btnNext\">Continuar<\/button>\n      <\/div>\n\n      <p class=\"tiny muted\" data-i18n=\"methodNote\">\n        Metodolog\u00eda: impacto \u2248 ingresos \u00d7 (incrementos de 0,1) \u00d7 (% por cada 0,1). Tres escenarios para prudencia.\n      <\/p>\n    <\/section>\n\n    <!-- LOADING -->\n    <section id=\"screen-loading\" class=\"card screen\">\n      <div class=\"loading\">\n        <div class=\"spinner\"><\/div>\n        <h2 data-i18n=\"loadingTitle\">Calculando\u2026<\/h2>\n        <p class=\"muted\" data-i18n=\"loadingText\">Escenarios prudente, central y alto + sensibilidad por +0,1.<\/p>\n      <\/div>\n    <\/section>\n\n    <!-- RESULTS -->\n    <section id=\"screen-results\" class=\"card screen\">\n      <div class=\"results-head\">\n        <h2 data-i18n=\"resultsTitle\">Impacto estimado<\/h2>\n        <p class=\"muted\" id=\"resultsSubtitle\"><\/p>\n      <\/div>\n\n      <div class=\"cards\">\n        <div class=\"result-card\">\n          <div class=\"label\" data-i18n=\"r1Label\">\ud83d\udfe6 Prudente<\/div>\n          <div class=\"value\" id=\"outLow\">\u20ac\u2014<\/div>\n          <div class=\"small muted\" id=\"outLowNote\"><\/div>\n        <\/div>\n\n        <div class=\"result-card highlight\">\n          <div class=\"label\" data-i18n=\"r2Label\">\ud83d\udfe8 Central<\/div>\n          <div class=\"value\" id=\"outMid\">\u20ac\u2014<\/div>\n          <div class=\"small muted\" id=\"outMidNote\"><\/div>\n        <\/div>\n\n        <div class=\"result-card\">\n          <div class=\"label\" data-i18n=\"r3Label\">\ud83d\udfe9 Alto<\/div>\n          <div class=\"value\" id=\"outHigh\">\u20ac\u2014<\/div>\n          <div class=\"small muted\" id=\"outHighNote\"><\/div>\n        <\/div>\n      <\/div>\n\n      <div class=\"grid-2\" style=\"margin-top: 14px;\">\n        <div class=\"info-box\">\n          <h3 data-i18n=\"sensTitle\">Sensibilidad<\/h3>\n          <p class=\"muted\" data-i18n=\"sensText\">Cada +0,1 puntos equivale aproximadamente a:<\/p>\n          <div class=\"big\" id=\"outPer01\">\u20ac\u2014<\/div>\n          <p class=\"tiny muted\" id=\"outPer01Note\"><\/p>\n        <\/div>\n\n        <div class=\"info-box\">\n          <h3 data-i18n=\"nightsTitle\">Equivalente en noches<\/h3>\n          <p class=\"muted\" data-i18n=\"nightsText\">Solo si a\u00f1ades ADR. Si no, lo omitimos.<\/p>\n          <div class=\"big\" id=\"outNights\">\u2014<\/div>\n          <p class=\"tiny muted\" id=\"outNightsNote\"><\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"cta\">\n        <div class=\"cta-box\">\n          <div>\n            <h3 data-i18n=\"ctaTitle\">\u00bfQuieres capturar ese impacto?<\/h3>\n            <p class=\"muted\" data-i18n=\"ctaText\">\n              Podemos desglosar qu\u00e9 palancas operativas mueven el rating (tiempos, consistencia, est\u00e1ndares, respuesta a reviews) y priorizar acciones.\n            <\/p>\n          <\/div>\n          <a class=\"btn btn-primary\" id=\"cta-link\" href=\"#\" target=\"_self\" rel=\"noopener\" data-i18n=\"ctaBtn\">Pedir demo<\/a>\n        <\/div>\n\n        <div class=\"actions\">\n          <button class=\"btn btn-ghost\" id=\"btn-recalc\" data-i18n=\"btnRecalc\">Recalcular<\/button>\n          <button class=\"btn btn-ghost\" id=\"btn-copy\" data-i18n=\"btnCopy\">Copiar resultados<\/button>\n        <\/div>\n\n        <p class=\"tiny muted\" id=\"copyStatus\"><\/p>\n      <\/div>\n    <\/section>\n\n    <footer class=\"footer\">\n      <span class=\"tiny muted\">\u00a9 <span id=\"year\"><\/span> \u2014 <span data-i18n=\"footerText\">Herramienta interactiva gratuita<\/span><\/span>\n    <\/footer>\n  <\/main><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44949b62 elementor-widget elementor-widget-html\" data-id=\"44949b62\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>\nconst CTA_URL = {\n  es: \"https:\/\/gamestrategies.io\/es\/pedir-una-demo-personalizada\/?utm_source=calculadora_kepler&utm_medium=lead_magnet&utm_campaign=hoteles\",\n  en: \"https:\/\/gamestrategies.io\/en\/demo\/?utm_source=calculadora_kepler&utm_medium=lead_magnet&utm_campaign=hoteles\",\n  fr: \"https:\/\/gamestrategies.io\/fr\/demander-une-demo-personalisee\/?utm_source=calculadora_kepler&utm_medium=lead_magnet&utm_campaign=hoteles\"\n};\n\nfunction scenarioPercents(centerPct){\n  const low = Math.max(0.1, centerPct - 0.5);\n  const high = centerPct + 0.5;\n  return { low, mid: centerPct, high };\n}\n\nconst i18n = {\n  es: {\n    langLabel: \"Idioma\", brandName: \"Kepler\", brandSub: \"Ingresos por Reputaci\u00f3n Hotelera\",\n    pillFree: \"100% gratuita\", pillInstant: \"Resultados inmediatos\", pillScenarios: \"3 escenarios\",\n    welcomeTitle: \"\u00bfCu\u00e1nto ingreso podr\u00edas capturar con +0,1 puntos de valoraci\u00f3n?\",\n    welcomeLead: \"En menos de 2 minutos, estima el impacto potencial de mejorar tu rating (p. ej., de 4,1 a 4,4) en ingresos.\",\n    welcomeBox1Title: \"Qu\u00e9 vas a obtener\",\n    welcomeBox1Li1: \"\ud83d\udcb6 Impacto anual (prudente \/ central \/ alto)\",\n    welcomeBox1Li2: \"\ud83d\udcc6 Impacto mensual estimado\",\n    welcomeBox1Li3: \"\ud83e\udde0 Sensibilidad: cada +0,1 \u2248 \u20acX\/a\u00f1o\",\n    welcomeBox1Li4: \"\ud83c\udf19 Opcional: equivalente en noches (si a\u00f1ades ADR)\",\n    welcomeBox2Title: \"Contexto (estudios sectoriales)\",\n    welcomeBox2P1: \"Diferentes an\u00e1lisis acad\u00e9micos y del sector hotelero muestran que mejoras peque\u00f1as en la valoraci\u00f3n pueden asociarse a incrementos de demanda\/ingresos (mejor conversi\u00f3n y visibilidad en OTAs).\",\n    welcomeBox2P2: \"Para mantenerlo prudente, esta herramienta usa un rango orientativo por cada +0,1: <strong>+1,0% \/ +1,5% \/ +2,0%<\/strong>.\",\n    btnStart: \"Empezar\", btnExample: \"Ver ejemplo\", privacyNote: \"No guardamos datos. Todo se calcula en tu navegador.\",\n    progressLabel: \"Progreso\", btnReset: \"Reiniciar\",\n    q1Title: \"Ingresos anuales por habitaciones\", q1Help: \"Si no tienes el dato exacto, usa una aproximaci\u00f3n (solo habitaciones).\",\n    q2Title: \"Valoraci\u00f3n actual\", q2Help: \"Ejemplo: 4,1 (0\u20135). Puedes usar Booking\/TripAdvisor\/Google como referencia interna.\",\n    q3Title: \"Valoraci\u00f3n objetivo\", q3Help: \"Ejemplo: 4,4. La calculadora trabaja en incrementos de 0,1.\",\n    q4Title: \"\u00bfQuieres a\u00f1adir ADR (opcional)?\", q4Help: \"Si introduces tu ADR (tarifa media), convertimos el impacto a \u201cnoches equivalentes\u201d. Si no, lo omitimos.\",\n    toggleAdrText: \"A\u00f1adir ADR\", suffixStars: \"\/5\", suffixAdr: \"ADR\",\n    adrNote: \"ADR opcional: solo se usa para traducir \u20ac a noches equivalentes. No afecta al % de impacto.\",\n    assumpTitle: \"Supuesto (ajustable)\", assumpHelp: \"Por defecto usamos 1,0% \/ 1,5% \/ 2,0% por cada +0,1. Si quieres, ajusta el escenario central.\",\n    assumpFoot: \"El escenario prudente y alto se ajustan autom\u00e1ticamente alrededor del central (\u00b10,5 pts).\",\n    btnBack: \"Atr\u00e1s\", btnNext: \"Continuar\", btnViewResults: \"Ver resultados\",\n    methodNote: \"Metodolog\u00eda: impacto \u2248 ingresos \u00d7 (incrementos de 0,1) \u00d7 (% por cada 0,1). Tres escenarios para prudencia.\",\n    loadingTitle: \"Calculando\u2026\", loadingText: \"Escenarios prudente, central y alto + sensibilidad por +0,1.\",\n    resultsTitle: \"Impacto estimado\", r1Label: \"\ud83d\udfe6 Prudente\", r2Label: \"\ud83d\udfe8 Central\", r3Label: \"\ud83d\udfe9 Alto\",\n    sensTitle: \"Sensibilidad\", sensText: \"Cada +0,1 puntos equivale aproximadamente a:\",\n    nightsTitle: \"Equivalente en noches\", nightsText: \"Solo si a\u00f1ades ADR. Si no, lo omitimos.\",\n    ctaTitle: \"\u00bfQuieres capturar ese impacto?\", ctaText: \"Podemos desglosar qu\u00e9 palancas operativas mueven el rating (tiempos, consistencia, est\u00e1ndares, respuesta a reviews) y priorizar acciones.\", ctaBtn: \"Pedir demo\",\n    btnRecalc: \"Recalcular\", btnCopy: \"Copiar resultados\", footerText: \"Herramienta interactiva gratuita\",\n    errRevenue: \"Indica unos ingresos anuales v\u00e1lidos (> 0).\", errRating: \"Revisa las valoraciones: deben estar entre 0 y 5.\",\n    errDelta: \"La valoraci\u00f3n objetivo debe ser mayor que la actual (al menos +0,1).\", errAdr: \"Si activas ADR, indica un valor v\u00e1lido (> 0).\",\n    copied: \"\u2705 Copiado. Puedes pegarlo en un email o en Slack.\", copyFail: \"No se pudo copiar autom\u00e1ticamente. Copia manualmente.\",\n    stepText: (s) => `Paso ${s} de 4`,\n    subtitleText: (cur, tgt, steps) => `De ${cur.toFixed(1)} \u2192 ${tgt.toFixed(1)} (\u2248 ${steps} incrementos de +0,1).`,\n    noteScenario: (pct) => `${pct.toFixed(1)}% por cada +0,1 \u00b7 mensual aprox.:`,\n    notePer01: (pct) => `Usando escenario central (${pct.toFixed(1)}% por +0,1).`,\n    nightsHidden: \"\u2014 (ADR no a\u00f1adido)\",\n    nightsNote: (adr) => `ADR usado: ${formatEUR(adr, \"es-ES\")} \u00b7 noches \u2248 impacto anual \/ ADR`,\n  },\n  fr: {\n    langLabel: \"Langue\", brandName: \"Kepler\", brandSub: \"Revenus li\u00e9s \u00e0 la R\u00e9putation\",\n    pillFree: \"100% gratuite\", pillInstant: \"R\u00e9sultats imm\u00e9diats\", pillScenarios: \"3 sc\u00e9narios\",\n    welcomeTitle: \"Quel revenu pourriez-vous capter avec +0,1 point de note ?\",\n    welcomeLead: \"En moins de 2 minutes, estimez l\u2019impact potentiel d\u2019une am\u00e9lioration de la note (ex. 4,1 \u2192 4,4) sur les revenus.\",\n    welcomeBox1Title: \"Ce que vous obtenez\",\n    welcomeBox1Li1: \"\ud83d\udcb6 Impact annuel (prudent \/ central \/ haut)\",\n    welcomeBox1Li2: \"\ud83d\udcc6 Impact mensuel estim\u00e9\",\n    welcomeBox1Li3: \"\ud83e\udde0 Sensibilit\u00e9 : chaque +0,1 \u2248 \u20acX\/an\",\n    welcomeBox1Li4: \"\ud83c\udf19 Option : \u00e9quivalent en nuits (si ADR)\",\n    welcomeBox2Title: \"Contexte (\u00e9tudes sectorielles)\",\n    welcomeBox2P1: \"Des analyses acad\u00e9miques et sectorielles sugg\u00e8rent qu\u2019une meilleure note peut \u00eatre associ\u00e9e \u00e0 une hausse de la demande\/du revenu (conversion et visibilit\u00e9 OTA).\",\n    welcomeBox2P2: \"Pour rester prudent, l\u2019outil utilise une fourchette par +0,1 : <strong>+1,0% \/ +1,5% \/ +2,0%<\/strong>.\",\n    btnStart: \"D\u00e9marrer\", btnExample: \"Exemple\", privacyNote: \"Aucune donn\u00e9e stock\u00e9e. Tout est calcul\u00e9 dans votre navigateur.\",\n    progressLabel: \"Progression\", btnReset: \"R\u00e9initialiser\",\n    q1Title: \"Revenus annuels chambres\", q1Help: \"Si vous n\u2019avez pas le chiffre exact, utilisez une estimation (chambres uniquement).\",\n    q2Title: \"Note actuelle\", q2Help: \"Exemple : 4,1 (0\u20135). R\u00e9f\u00e9rence interne Booking\/TripAdvisor\/Google.\",\n    q3Title: \"Note cible\", q3Help: \"Exemple : 4,4. Calcul par incr\u00e9ments de 0,1.\",\n    q4Title: \"Ajouter l\u2019ADR (optionnel) ?\", q4Help: \"Si vous saisissez l\u2019ADR, on convertit l\u2019impact en \u201cnuits \u00e9quivalentes\u201d. Sinon, on l\u2019omet.\",\n    toggleAdrText: \"Ajouter ADR\", suffixStars: \"\/5\", suffixAdr: \"ADR\",\n    adrNote: \"ADR optionnel : uniquement pour convertir \u20ac en nuits. N\u2019affecte pas le %.\",\n    assumpTitle: \"Hypoth\u00e8se (ajustable)\", assumpHelp: \"Par d\u00e9faut : 1,0% \/ 1,5% \/ 2,0% par +0,1. Vous pouvez ajuster le sc\u00e9nario central.\",\n    assumpFoot: \"Les sc\u00e9narios prudent et haut s\u2019ajustent autour du central (\u00b10,5 pt).\",\n    btnBack: \"Retour\", btnNext: \"Continuer\", btnViewResults: \"Voir r\u00e9sultats\",\n    methodNote: \"M\u00e9thode : impact \u2248 revenus \u00d7 (incr\u00e9ments de 0,1) \u00d7 (% par +0,1). Trois sc\u00e9narios.\",\n    loadingTitle: \"Calcul en cours\u2026\", loadingText: \"Sc\u00e9narios prudent, central et haut + sensibilit\u00e9 par +0,1.\",\n    resultsTitle: \"Impact estim\u00e9\", r1Label: \"\ud83d\udfe6 Prudent\", r2Label: \"\ud83d\udfe8 Central\", r3Label: \"\ud83d\udfe9 Haut\",\n    sensTitle: \"Sensibilit\u00e9\", sensText: \"Chaque +0,1 point \u00e9quivaut environ \u00e0 :\",\n    nightsTitle: \"\u00c9quivalent en nuits\", nightsText: \"Uniquement si ADR est saisi. Sinon, on l\u2019omet.\",\n    ctaTitle: \"Voulez-vous capter cet impact ?\", ctaText: \"On peut identifier les leviers op\u00e9rationnels qui font monter la note (d\u00e9lais, standards, coh\u00e9rence, r\u00e9ponses aux avis) et prioriser.\", ctaBtn: \"Demander une d\u00e9mo\",\n    btnRecalc: \"Recalculer\", btnCopy: \"Copier les r\u00e9sultats\", footerText: \"Outil interactif gratuit\",\n    errRevenue: \"Veuillez saisir des revenus annuels valides (> 0).\", errRating: \"V\u00e9rifiez les notes : elles doivent \u00eatre entre 0 et 5.\",\n    errDelta: \"La note cible doit \u00eatre sup\u00e9rieure \u00e0 la note actuelle (au moins +0,1).\", errAdr: \"Si ADR est activ\u00e9, saisissez une valeur valide (> 0).\",\n    copied: \"\u2705 Copi\u00e9. Vous pouvez le coller dans un email ou Slack.\", copyFail: \"Copie impossible automatiquement. Copiez manuellement.\",\n    stepText: (s) => `\u00c9tape ${s} sur 4`,\n    subtitleText: (cur, tgt, steps) => `De ${cur.toFixed(1)} \u2192 ${tgt.toFixed(1)} (\u2248 ${steps} incr\u00e9ments de +0,1).`,\n    noteScenario: (pct) => `${pct.toFixed(1)}% par +0,1 \u00b7 mensuel env. :`,\n    notePer01: (pct) => `Avec sc\u00e9nario central (${pct.toFixed(1)}% par +0,1).`,\n    nightsHidden: \"\u2014 (ADR non saisi)\",\n    nightsNote: (adr) => `ADR utilis\u00e9 : ${formatEUR(adr, \"fr-FR\")} \u00b7 nuits \u2248 impact annuel \/ ADR`,\n  },\n  en: {\n    langLabel: \"Language\", brandName: \"Kepler\", brandSub: \"Revenue From Hotel Reputation\",\n    pillFree: \"100% free\", pillInstant: \"Instant results\", pillScenarios: \"3 scenarios\",\n    welcomeTitle: \"How much revenue could you capture with +0.1 rating points?\",\n    welcomeLead: \"In under 2 minutes, estimate the potential impact of improving your rating (e.g., 4.1 \u2192 4.4) on revenue.\",\n    welcomeBox1Title: \"What you\u2019ll get\",\n    welcomeBox1Li1: \"\ud83d\udcb6 Annual impact (low \/ mid \/ high)\",\n    welcomeBox1Li2: \"\ud83d\udcc6 Estimated monthly impact\",\n    welcomeBox1Li3: \"\ud83e\udde0 Sensitivity: each +0.1 \u2248 \u20acX\/yr\",\n    welcomeBox1Li4: \"\ud83c\udf19 Optional: nights equivalent (with ADR)\",\n    welcomeBox2Title: \"Context (industry research)\",\n    welcomeBox2P1: \"Academic and industry analyses suggest small rating improvements can be associated with higher demand\/revenue (OTA conversion and visibility).\",\n    welcomeBox2P2: \"To keep it conservative, we use a per +0.1 range: <strong>+1.0% \/ +1.5% \/ +2.0%<\/strong>.\",\n    btnStart: \"Start\", btnExample: \"Example\", privacyNote: \"No data stored. Everything runs in your browser.\",\n    progressLabel: \"Progress\", btnReset: \"Reset\",\n    q1Title: \"Annual room revenue\", q1Help: \"If you don\u2019t have the exact number, use an estimate (rooms only).\",\n    q2Title: \"Current rating\", q2Help: \"Example: 4.1 (0\u20135). Use Booking\/TripAdvisor\/Google as your internal reference.\",\n    q3Title: \"Target rating\", q3Help: \"Example: 4.4. The calculator works in 0.1 increments.\",\n    q4Title: \"Add ADR (optional)?\", q4Help: \"If you enter ADR, we convert \u20ac impact into \u201cnights equivalent\u201d. Otherwise we omit it.\",\n    toggleAdrText: \"Add ADR\", suffixStars: \"\/5\", suffixAdr: \"ADR\",\n    adrNote: \"ADR is optional and only used to translate \u20ac into nights. It doesn\u2019t change the %.\",\n    assumpTitle: \"Assumption (adjustable)\", assumpHelp: \"Default: 1.0% \/ 1.5% \/ 2.0% per +0.1. You can adjust the mid scenario.\",\n    assumpFoot: \"Low\/High auto-adjust around the mid (\u00b10.5 pts).\",\n    btnBack: \"Back\", btnNext: \"Continue\", btnViewResults: \"View results\",\n    methodNote: \"Method: impact \u2248 revenue \u00d7 (0.1 steps) \u00d7 (% per +0.1). Three scenarios for prudence.\",\n    loadingTitle: \"Calculating\u2026\", loadingText: \"Low\/mid\/high scenarios + sensitivity per +0.1.\",\n    resultsTitle: \"Estimated impact\", r1Label: \"\ud83d\udfe6 Low\", r2Label: \"\ud83d\udfe8 Mid\", r3Label: \"\ud83d\udfe9 High\",\n    sensTitle: \"Sensitivity\", sensText: \"Each +0.1 point is roughly:\",\n    nightsTitle: \"Nights equivalent\", nightsText: \"Only if ADR is provided. Otherwise omitted.\",\n    ctaTitle: \"Want to capture that impact?\", ctaText: \"We can map the operational levers that move ratings (speed, consistency, standards, review responses) and prioritize actions.\", ctaBtn: \"Request a demo\",\n    btnRecalc: \"Recalculate\", btnCopy: \"Copy results\", footerText: \"Free interactive tool\",\n    errRevenue: \"Please enter a valid annual revenue (> 0).\", errRating: \"Check ratings: they must be between 0 and 5.\",\n    errDelta: \"Target rating must be higher than current (at least +0.1).\", errAdr: \"If ADR is enabled, enter a valid value (> 0).\",\n    copied: \"\u2705 Copied. You can paste into an email or Slack.\", copyFail: \"Could not copy automatically. Please copy manually.\",\n    stepText: (s) => `Step ${s} of 4`,\n    subtitleText: (cur, tgt, steps) => `From ${cur.toFixed(1)} \u2192 ${tgt.toFixed(1)} (\u2248 ${steps} steps of +0.1).`,\n    noteScenario: (pct) => `${pct.toFixed(1)}% per +0.1 \u00b7 monthly approx:`,\n    notePer01: (pct) => `Using mid scenario (${pct.toFixed(1)}% per +0.1).`,\n    nightsHidden: \"\u2014 (ADR not provided)\",\n    nightsNote: (adr) => `ADR used: ${formatEUR(adr, \"en-GB\")} \u00b7 nights \u2248 annual impact \/ ADR`,\n  }\n};\n\nfunction toNumber(value){ const n = Number(String(value).replace(',', '.')); return Number.isFinite(n) ? n : 0; }\nfunction formatEUR(n, locale){ const rounded = Math.round(n); return new Intl.NumberFormat(locale, { style:'currency', currency:'EUR', maximumFractionDigits:0 }).format(rounded); }\nfunction stripHtml(html){ return String(html).replace(\/<[^>]*>\/g, '').trim(); }\nfunction roundToTenth(x){ return Math.round(x * 10) \/ 10; }\nfunction ratingSteps(current, target){ const cur = roundToTenth(current); const tgt = roundToTenth(target); const delta = tgt - cur; return Math.round(delta \/ 0.1); }\n\nconst screens = { welcome: document.getElementById('screen-welcome'), form: document.getElementById('screen-form'), loading: document.getElementById('screen-loading'), results: document.getElementById('screen-results') };\nconst steps = Array.from(document.querySelectorAll('.step'));\nlet currentStep = 1;\n\nconst el = {\n  langSelect: document.getElementById('langSelect'),\n  annualRevenue: document.getElementById('annualRevenue'), ratingCurrent: document.getElementById('ratingCurrent'), ratingTarget: document.getElementById('ratingTarget'),\n  toggleAdr: document.getElementById('toggleAdr'), adrBlock: document.getElementById('adrBlock'), adr: document.getElementById('adr'),\n  centerPct: document.getElementById('centerPct'), centerPctBadge: document.getElementById('centerPctBadge'),\n  progressText: document.getElementById('progressText'), progressBar: document.getElementById('progressBar'),\n  resultsSubtitle: document.getElementById('resultsSubtitle'),\n  outLow: document.getElementById('outLow'), outMid: document.getElementById('outMid'), outHigh: document.getElementById('outHigh'),\n  outLowNote: document.getElementById('outLowNote'), outMidNote: document.getElementById('outMidNote'), outHighNote: document.getElementById('outHighNote'),\n  outPer01: document.getElementById('outPer01'), outPer01Note: document.getElementById('outPer01Note'),\n  outNights: document.getElementById('outNights'), outNightsNote: document.getElementById('outNightsNote'),\n  copyStatus: document.getElementById('copyStatus'), year: document.getElementById('year'), ctaLink: document.getElementById('cta-link'),\n};\n\nlet currentLang = \"es\";\nfunction localeForLang(lang){ return lang === \"fr\" ? \"fr-FR\" : lang === \"en\" ? \"en-GB\" : \"es-ES\"; }\nfunction showScreen(name){ Object.values(screens).forEach(s => s.classList.remove('active')); screens[name].classList.add('active'); }\n\nfunction showStep(stepNum){\n  steps.forEach(s => s.classList.remove('active'));\n  const step = steps.find(s => Number(s.dataset.step) === stepNum); if (step) step.classList.add('active');\n  const t = i18n[currentLang]; el.progressText.textContent = t.stepText(stepNum);\n  const pct = Math.round((stepNum \/ 4) * 100); el.progressBar.style.width = `${pct}%`;\n  const btnNext = document.getElementById('btn-next'); btnNext.innerHTML = (stepNum === 4) ? t.btnViewResults : t.btnNext;\n  const btnBack = document.getElementById('btn-back'); btnBack.style.visibility = stepNum === 1 ? 'hidden' : 'visible';\n}\n\nfunction validateStep(stepNum){\n  const t = i18n[currentLang];\n  const revenue = toNumber(el.annualRevenue.value); const cur = toNumber(el.ratingCurrent.value); const tgt = toNumber(el.ratingTarget.value);\n  if (stepNum === 1 && revenue <= 0) return t.errRevenue;\n  if (stepNum === 2){ if (cur < 0 || cur > 5) return t.errRating; }\n  if (stepNum === 3){ if (tgt < 0 || tgt > 5) return t.errRating; const steps01 = ratingSteps(cur, tgt); if (steps01 < 1) return t.errDelta; }\n  if (stepNum === 4){ const adrEnabled = el.toggleAdr.getAttribute('aria-pressed') === 'true'; if (adrEnabled){ const adr = toNumber(el.adr.value); if (adr <= 0) return t.errAdr; } }\n  return null;\n}\n\nfunction getCenterPct(){ return toNumber(el.centerPct.value); }\n\nfunction compute(){\n  const revenueAnnual = toNumber(el.annualRevenue.value);\n  const cur = roundToTenth(toNumber(el.ratingCurrent.value)); const tgt = roundToTenth(toNumber(el.ratingTarget.value));\n  const steps01 = ratingSteps(cur, tgt);\n  const center = getCenterPct(); const p = scenarioPercents(center);\n  const totalLowPct = (steps01 * p.low) \/ 100; const totalMidPct = (steps01 * p.mid) \/ 100; const totalHighPct = (steps01 * p.high) \/ 100;\n  const impactLowAnnual = revenueAnnual * totalLowPct; const impactMidAnnual = revenueAnnual * totalMidPct; const impactHighAnnual = revenueAnnual * totalHighPct;\n  const impactLowMonthly = impactLowAnnual \/ 12; const impactMidMonthly = impactMidAnnual \/ 12; const impactHighMonthly = impactHighAnnual \/ 12;\n  const per01Annual = revenueAnnual * (p.mid \/ 100);\n  const adrEnabled = el.toggleAdr.getAttribute('aria-pressed') === 'true'; const adr = adrEnabled ? toNumber(el.adr.value) : 0;\n  const nights = adrEnabled && adr > 0 ? (impactMidAnnual \/ adr) : null;\n  return { revenueAnnual, cur, tgt, steps01, p, center, impactLowAnnual, impactMidAnnual, impactHighAnnual, impactLowMonthly, impactMidMonthly, impactHighMonthly, per01Annual, adrEnabled, adr, nights };\n}\n\nfunction applyTranslations(){\n  const t = i18n[currentLang]; document.documentElement.lang = currentLang;\n  document.querySelectorAll('[data-i18n]').forEach(node => { const key = node.getAttribute('data-i18n'); if (!t[key]) return; node.innerHTML = t[key]; });\n  el.annualRevenue.placeholder = currentLang === \"en\" ? \"e.g. 25000000\" : currentLang === \"fr\" ? \"Ex. 25000000\" : \"Ej. 25000000\";\n  el.ratingCurrent.placeholder = currentLang === \"en\" ? \"e.g. 4.1\" : currentLang === \"fr\" ? \"Ex. 4.1\" : \"Ej. 4.1\";\n  el.ratingTarget.placeholder = currentLang === \"en\" ? \"e.g. 4.4\" : currentLang === \"fr\" ? \"Ex. 4.4\" : \"Ej. 4.4\";\n  el.adr.placeholder = currentLang === \"en\" ? \"e.g. 165\" : currentLang === \"fr\" ? \"Ex. 165\" : \"Ej. 165\";\n  if (screens.form.classList.contains('active')) showStep(currentStep);\n  if (screens.results.classList.contains('active')) renderResults();\n  updateCTA();\n}\n\nfunction renderResults(){\n  const t = i18n[currentLang]; const loc = localeForLang(currentLang); const r = compute();\n  el.resultsSubtitle.textContent = t.subtitleText(r.cur, r.tgt, r.steps01);\n  el.outLow.textContent = formatEUR(r.impactLowAnnual, loc); el.outMid.textContent = formatEUR(r.impactMidAnnual, loc); el.outHigh.textContent = formatEUR(r.impactHighAnnual, loc);\n  el.outLowNote.textContent = `${t.noteScenario(r.p.low)} ${formatEUR(r.impactLowMonthly, loc)}`;\n  el.outMidNote.textContent = `${t.noteScenario(r.p.mid)} ${formatEUR(r.impactMidMonthly, loc)}`;\n  el.outHighNote.textContent = `${t.noteScenario(r.p.high)} ${formatEUR(r.impactHighMonthly, loc)}`;\n  el.outPer01.textContent = formatEUR(r.per01Annual, loc); el.outPer01Note.textContent = t.notePer01(r.p.mid);\n  if (r.adrEnabled && r.adr > 0){\n    const nightsRounded = Math.round(r.nights);\n    el.outNights.textContent = `${nightsRounded.toLocaleString(loc)} ${currentLang === \"en\" ? \"nights\/yr\" : currentLang === \"fr\" ? \"nuits\/an\" : \"noches\/a\u00f1o\"}`;\n    el.outNightsNote.textContent = t.nightsNote(r.adr);\n  } else { el.outNights.textContent = t.nightsHidden; el.outNightsNote.textContent = \"\"; }\n  el.copyStatus.textContent = \"\";\n}\n\nfunction updateCTA(){ el.ctaLink.href = CTA_URL[currentLang] || CTA_URL.es; }\n\ndocument.getElementById('btn-start').addEventListener('click', () => { showScreen('form'); currentStep = 1; showStep(currentStep); el.copyStatus.textContent = ''; });\ndocument.getElementById('btn-demo').addEventListener('click', () => {\n  el.annualRevenue.value = 25000000; el.ratingCurrent.value = 4.1; el.ratingTarget.value = 4.4;\n  el.centerPct.value = 1.5; el.centerPctBadge.textContent = \"1.5%\";\n  el.toggleAdr.setAttribute('aria-pressed', 'true'); el.adrBlock.classList.remove('hidden'); el.adr.value = 165;\n  showScreen('form'); currentStep = 1; showStep(currentStep); el.copyStatus.textContent = '';\n});\ndocument.getElementById('btn-back').addEventListener('click', () => { currentStep = Math.max(1, currentStep - 1); showStep(currentStep); });\ndocument.getElementById('btn-next').addEventListener('click', () => {\n  const err = validateStep(currentStep); if (err){ alert(err); return; }\n  if (currentStep < 4){ currentStep += 1; showStep(currentStep); return; }\n  showScreen('loading');\n  setTimeout(() => { renderResults(); updateCTA(); showScreen('results'); }, 850);\n});\ndocument.getElementById('btn-recalc').addEventListener('click', () => { showScreen('form'); currentStep = 1; showStep(currentStep); el.copyStatus.textContent = ''; });\ndocument.getElementById('btn-reset').addEventListener('click', () => {\n  el.annualRevenue.value = ''; el.ratingCurrent.value = ''; el.ratingTarget.value = '';\n  el.centerPct.value = 1.5; el.centerPctBadge.textContent = \"1.5%\";\n  el.toggleAdr.setAttribute('aria-pressed', 'false'); el.adrBlock.classList.add('hidden'); el.adr.value = '';\n  currentStep = 1; showStep(currentStep); el.copyStatus.textContent = '';\n});\nel.toggleAdr.addEventListener('click', () => {\n  const pressed = el.toggleAdr.getAttribute('aria-pressed') === 'true';\n  el.toggleAdr.setAttribute('aria-pressed', String(!pressed));\n  el.adrBlock.classList.toggle('hidden', pressed);\n});\nel.centerPct.addEventListener('input', () => { const v = getCenterPct(); el.centerPctBadge.textContent = `${v.toFixed(1)}%`; });\ndocument.getElementById('btn-copy').addEventListener('click', async () => {\n  const t = i18n[currentLang]; const loc = localeForLang(currentLang);\n  try{\n    const r = compute(); const lowMidHigh = scenarioPercents(r.center);\n    const lines = [\n      currentLang === \"en\" ? \"Results \u2014 Hotel Reputation Revenue Calculator\" : currentLang === \"fr\" ? \"R\u00e9sultats \u2014 Calculatrice revenus & r\u00e9putation h\u00f4teli\u00e8re\" : \"Resultados \u2014 Calculadora de Ingresos por Reputaci\u00f3n Hotelera\",\n      `Annual room revenue: ${formatEUR(r.revenueAnnual, loc)}`,\n      `Rating: ${r.cur.toFixed(1)} \u2192 ${r.tgt.toFixed(1)} (${r.steps01} \u00d7 +0.1)`,\n      `Low (${lowMidHigh.low.toFixed(1)}% per +0.1): ${formatEUR(r.impactLowAnnual, loc)} (\u2248 ${formatEUR(r.impactLowMonthly, loc)}\/mo)`,\n      `Mid (${lowMidHigh.mid.toFixed(1)}% per +0.1): ${formatEUR(r.impactMidAnnual, loc)} (\u2248 ${formatEUR(r.impactMidMonthly, loc)}\/mo)`,\n      `High (${lowMidHigh.high.toFixed(1)}% per +0.1): ${formatEUR(r.impactHighAnnual, loc)} (\u2248 ${formatEUR(r.impactHighMonthly, loc)}\/mo)`,\n      `Sensitivity (per +0.1, mid): ${formatEUR(r.per01Annual, loc)}\/yr`,\n      r.adrEnabled && r.adr > 0 ? `ADR: ${formatEUR(r.adr, loc)} | Nights eq (mid): ${Math.round(r.nights).toLocaleString(loc)}` : \"\"\n    ].filter(Boolean).join(\"\\n\");\n    await navigator.clipboard.writeText(lines); el.copyStatus.textContent = t.copied;\n  }catch(e){ el.copyStatus.textContent = t.copyFail; }\n});\n\nel.langSelect.addEventListener('change', (e) => { currentLang = e.target.value; localStorage.setItem(\"hotel_calc_lang\", currentLang); applyTranslations(); });\ndocument.getElementById('year').textContent = String(new Date().getFullYear());\nconst savedLang = localStorage.getItem(\"hotel_calc_lang\");\nif (savedLang && i18n[savedLang]) currentLang = savedLang;\nel.langSelect.value = currentLang;\n\napplyTranslations(); updateCTA(); showScreen('welcome');\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-803cd31b elementor-widget elementor-widget-html\" data-id=\"803cd31b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"kc-sec kc-ev\">\n  <div class=\"kc-wrap\">\n    <div class=\"kc-label\">Por qu\u00e9 la reputaci\u00f3n online mueve ingresos<\/div>\n    <h2>Tres mecanismos por los que tu rating afecta a tus reservas<\/h2>\n    <p class=\"kc-intro\" style=\"color:#b9cbdd;\">No es solo percepci\u00f3n de marca: la valoraci\u00f3n online influye directamente en c\u00f3mo y a qui\u00e9n se muestra tu hotel en los canales donde se decide la reserva.<\/p>\n    <div class=\"kc-ev-grid\">\n      <article class=\"kc-ev-card\">\n        <h3 style=\"color:#fff;\">Posici\u00f3n en las OTAs<\/h3>\n        <p>Los algoritmos de ranking de Booking, Expedia y similares ponderan la valoraci\u00f3n del hu\u00e9sped. Un rating m\u00e1s alto suele traducirse en mejor posici\u00f3n en los resultados de b\u00fasqueda, antes de que el precio entre en juego.<\/p>\n      <\/article>\n      <article class=\"kc-ev-card\">\n        <h3 style=\"color:#fff;\">Tasa de conversi\u00f3n<\/h3>\n        <p>Entre dos hoteles a precio similar, el viajero tiende a reservar el mejor valorado. La valoraci\u00f3n act\u00faa como prueba social en el momento exacto de decisi\u00f3n.<\/p>\n      <\/article>\n      <article class=\"kc-ev-card\">\n        <h3 style=\"color:#fff;\">Tolerancia al precio<\/h3>\n        <p>Un hotel mejor valorado puede sostener una tarifa (ADR) m\u00e1s alta sin perder reservas frente a la competencia directa, porque el hu\u00e9sped percibe menor riesgo en la compra.<\/p>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"kc-sec kc-guia\">\n  <div class=\"kc-wrap\">\n    <div class=\"kc-label\">La metodolog\u00eda<\/div>\n    <h2>C\u00f3mo calculamos el impacto de mejorar tu valoraci\u00f3n<\/h2>\n    <p class=\"kc-intro\">Cuatro pasos, todos visibles.<\/p>\n    <ol class=\"kc-pasos\">\n      <li class=\"kc-paso\">\n        <div class=\"kc-paso-n\">01<\/div>\n        <div><h3>Partimos de tus ingresos por habitaciones<\/h3><p>Tu facturaci\u00f3n anual de habitaciones es la base sobre la que se aplica el impacto porcentual estimado.<\/p><\/div>\n      <\/li>\n      <li class=\"kc-paso\">\n        <div class=\"kc-paso-n\">02<\/div>\n        <div><h3>Medimos la distancia en incrementos de 0,1<\/h3><p>Entre tu valoraci\u00f3n actual y la objetivo (por ejemplo, de 4,1 a 4,4 son 3 incrementos de +0,1). Es la unidad m\u00ednima que usan la mayor\u00eda de plataformas de reviews.<\/p><\/div>\n      <\/li>\n      <li class=\"kc-paso\">\n        <div class=\"kc-paso-n\">03<\/div>\n        <div><h3>Aplicamos un rango conservador en tres escenarios<\/h3><p>Por defecto, entre +1,0% y +2,0% de ingresos por cada +0,1, con un escenario prudente, uno central y uno alto \u2014 puedes ajustar el central si tienes tu propio dato de referencia.<\/p><\/div>\n      <\/li>\n      <li class=\"kc-paso\">\n        <div class=\"kc-paso-n\">04<\/div>\n        <div><h3>Traducimos a noches, si a\u00f1ades tu ADR<\/h3><p>Es opcional: solo sirve para expresar el impacto en \u00abnoches equivalentes\u00bb en lugar de euros. No cambia el porcentaje de impacto calculado.<\/p><\/div>\n      <\/li>\n    <\/ol>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b2fb1442 elementor-widget elementor-widget-html\" data-id=\"b2fb1442\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"kc-sec kc-faq\">\n  <div class=\"kc-wrap\">\n    <div class=\"kc-label\">Preguntas frecuentes<\/div>\n    <h2>Sobre la calculadora y sus cifras<\/h2>\n    <div class=\"kc-faq-lista\">\n      <details><summary>\u00bfDe d\u00f3nde sale el rango 1,0%\u20132,0% por cada +0,1?<\/summary><p>Es un rango orientativo y conservador, coherente con la literatura acad\u00e9mica y sectorial que relaciona reputaci\u00f3n online con demanda hotelera. No es una cifra exacta de un \u00fanico estudio: por eso puedes ajustar el escenario central si tienes tu propio dato de referencia.<\/p><\/details>\n      <details><summary>\u00bfEl resultado es una promesa de ingresos?<\/summary><p>No. Es una estimaci\u00f3n de orden de magnitud calculada con una f\u00f3rmula transparente sobre los datos que introduces. No sustituye un an\u00e1lisis real de tu revenue management ni garantiza ning\u00fan resultado.<\/p><\/details>\n      <details><summary>\u00bfGuard\u00e1is los datos que introduzco?<\/summary><p>No. Todo el c\u00e1lculo ocurre en tu navegador; no enviamos ni almacenamos tus ingresos, tu valoraci\u00f3n ni tu ADR en ning\u00fan servidor.<\/p><\/details>\n      <details><summary>\u00bfQu\u00e9 es el ADR y por qu\u00e9 es opcional?<\/summary><p>El ADR (Average Daily Rate) es tu tarifa media por noche. Solo lo usamos para traducir el impacto en euros a \u00abnoches equivalentes\u00bb, algo m\u00e1s intuitivo para un equipo de revenue. No a\u00f1adirlo no cambia el c\u00e1lculo del impacto en euros.<\/p><\/details>\n      <details><summary>\u00bfQu\u00e9 diferencia hay entre el escenario prudente, central y alto?<\/summary><p>Los tres usan el mismo n\u00famero de incrementos de +0,1 entre tu valoraci\u00f3n actual y la objetivo, pero aplican un porcentaje distinto por incremento (el central es el que ajustas; prudente y alto se calculan autom\u00e1ticamente \u00b10,5 puntos alrededor de \u00e9l).<\/p><\/details>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"kc-sec kc-cta\">\n  <div class=\"kc-wrap\">\n    <h2>\u00bfQuieres capturar ese impacto?<\/h2>\n    <p>Podemos desglosar qu\u00e9 palancas operativas mueven el rating (tiempos, consistencia, est\u00e1ndares, respuesta a reviews) y priorizar acciones.<\/p>\n    <div class=\"kc-cta-botones\">\n      <a class=\"kc-cta-link\" href=\"https:\/\/gamestrategies.io\/es\/pedir-una-demo-personalizada\/?utm_source=calculadora_kepler&utm_medium=lead_magnet&utm_campaign=hoteles\">Pedir demo \u2192<\/a>\n      <a class=\"kc-cta-link\" href=\"https:\/\/gamestrategies.io\/es\/incentivo-de-ventas-kepler\/\">Descubre Kepler \u2192<\/a>\n    <\/div>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-129b31c2 elementor-widget elementor-widget-html\" data-id=\"129b31c2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\na.kc-cta-link{ color:#9fd8ff !important; font-weight:700 !important; }\na.kc-cta-link:hover{ color:#fff !important; text-decoration:underline !important; }\n.kc-hero .container{ padding-top:100px !important; padding-bottom:60px !important; }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85702b1e elementor-widget elementor-widget-html\" data-id=\"85702b1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.kc-hero{\n  background: linear-gradient(180deg, #ffffff 0px, #ffffff 30px, #050e1c 100px) !important;\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e35e837d elementor-widget elementor-widget-html\" data-id=\"e35e837d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.kc-hero, .kc-sec{\n  width:100% !important;\n  margin-left:0 !important;\n  margin-right:0 !important;\n}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3839a632 elementor-widget elementor-widget-html\" data-id=\"3839a632\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.kc-hero{ background:#050e1c !important; }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-610571e6 elementor-widget elementor-widget-html\" data-id=\"610571e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\nbody{ font-size:14px !important; }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b3db90d2 elementor-widget elementor-widget-html\" data-id=\"b3db90d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.kc-hero h1{ font-size: clamp(22px,2.8vw,29px) !important; line-height:1.28 !important; letter-spacing:-0.3px !important; margin-bottom:10px !important; }\n.kc-hero h2{ font-size: 18px !important; margin-bottom:6px !important; }\n.kc-hero h3{ font-size: 13.5px !important; }\n.kc-hero .lead{ font-size: 14.5px !important; line-height:1.6 !important; }\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0a63a124 elementor-widget elementor-widget-html\" data-id=\"0a63a124\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n.kc-headline{ font-family:'Poppins',sans-serif; font-weight:700; font-size:15.5px; line-height:1.55; color:#fff; background:rgba(56,208,255,.08); border:1px solid rgba(125,199,255,.25); border-radius:14px; padding:14px 16px; margin:0 0 16px; }\n.kc-headline strong{ color:#9fd8ff; }\n.kc-micro{ display:block; margin-top:4px; font-size:11.5px; color:#8da1b8; font-weight:400; }\n<\/style>\n<script>\n(function(){\n  var MICRO_SENS = { es:\"Es una tasa de referencia, no una cifra adicional a sumar.\", en:\"A reference rate \u2014 not a separate figure to add on top.\", fr:\"Un taux de r\u00e9f\u00e9rence \u2014 pas un montant suppl\u00e9mentaire \u00e0 additionner.\" };\n\n  function headlineText(lang, r, loc){\n    var mid = formatEUR(r.impactMidAnnual, loc);\n    var low = formatEUR(r.impactLowAnnual, loc);\n    var high = formatEUR(r.impactHighAnnual, loc);\n    if (lang === 'en') return 'With your target rating, you could capture <strong>' + mid + '<\/strong> more a year in the mid scenario \u2014 between ' + low + ' in the most conservative case and ' + high + ' in the most optimistic one.';\n    if (lang === 'fr') return 'Avec votre objectif de note, vous pourriez capter <strong>' + mid + '<\/strong> de plus par an dans le sc\u00e9nario central \u2014 entre ' + low + ' dans le cas le plus prudent et ' + high + ' dans le plus optimiste.';\n    return 'Con tu objetivo de valoraci\u00f3n, podr\u00edas capturar <strong>' + mid + '<\/strong> m\u00e1s al a\u00f1o en el escenario central \u2014 entre ' + low + ' en el caso m\u00e1s prudente y ' + high + ' en el m\u00e1s optimista.';\n  }\n\n  function render(){\n    if (typeof compute !== 'function' || typeof formatEUR !== 'function' || typeof currentLang === 'undefined') return;\n    var r = compute();\n    var lang = currentLang;\n    var loc = lang === 'fr' ? 'fr-FR' : lang === 'en' ? 'en-GB' : 'es-ES';\n\n    var head = document.getElementById('kc-headline');\n    if (!head){\n      head = document.createElement('p');\n      head.id = 'kc-headline';\n      head.className = 'kc-headline';\n      var rh = document.querySelector('#screen-results .results-head');\n      if (rh) rh.insertAdjacentElement('afterend', head);\n    }\n    if (head) head.innerHTML = headlineText(lang, r, loc);\n\n    var per01 = document.getElementById('outPer01Note');\n    if (per01){\n      var m = document.getElementById('kc-sens-micro');\n      if (!m){ m = document.createElement('span'); m.id = 'kc-sens-micro'; m.className = 'kc-micro'; per01.insertAdjacentElement('afterend', m); }\n      m.textContent = MICRO_SENS[lang] || MICRO_SENS.es;\n    }\n  }\n\n  var target = document.getElementById('screen-results');\n  if (target){\n    var mo = new MutationObserver(render);\n    mo.observe(target, { attributes:true, attributeFilter:['class'] });\n  }\n  var sel = document.getElementById('langSelect');\n  if (sel) sel.addEventListener('change', function(){ setTimeout(render, 60); });\n  document.addEventListener('click', function(e){\n    if (e.target && (e.target.id === 'btn-next' || e.target.id === 'btn-recalc')) setTimeout(render, 1000);\n  });\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3d6f5f52 elementor-widget elementor-widget-html\" data-id=\"3d6f5f52\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>.elementor-element-803cd31b,.elementor-element-b2fb1442{display:none!important;}<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a9bb107 elementor-widget elementor-widget-html\" data-id=\"1a9bb107\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"kc-sec kc-ev\">\n  <div class=\"kc-wrap\">\n    <div class=\"kc-label\">Pourquoi la r\u00e9putation en ligne g\u00e9n\u00e8re des revenus<\/div>\n    <h2>Trois m\u00e9canismes par lesquels votre note affecte vos r\u00e9servations<\/h2>\n    <p class=\"kc-intro\" style=\"color:#b9cbdd;\">Ce n'est pas qu'une question de perception de marque\u00a0: la note en ligne influence directement comment et \u00e0 qui votre h\u00f4tel est montr\u00e9 sur les canaux o\u00f9 se d\u00e9cide la r\u00e9servation.<\/p>\n    <div class=\"kc-ev-grid\">\n      <article class=\"kc-ev-card\">\n        <h3 style=\"color:#fff;\">Position sur les OTA<\/h3>\n        <p>Les algorithmes de classement de Booking, Expedia et similaires pond\u00e8rent la note des clients. Une note plus \u00e9lev\u00e9e se traduit g\u00e9n\u00e9ralement par une meilleure position dans les r\u00e9sultats de recherche, avant m\u00eame que le prix n'entre en jeu.<\/p>\n      <\/article>\n      <article class=\"kc-ev-card\">\n        <h3 style=\"color:#fff;\">Taux de conversion<\/h3>\n        <p>Entre deux h\u00f4tels \u00e0 prix similaire, le voyageur a tendance \u00e0 r\u00e9server le mieux not\u00e9. La note agit comme preuve sociale au moment exact de la d\u00e9cision.<\/p>\n      <\/article>\n      <article class=\"kc-ev-card\">\n        <h3 style=\"color:#fff;\">Tol\u00e9rance au prix<\/h3>\n        <p>Un h\u00f4tel mieux not\u00e9 peut maintenir un tarif (ADR) plus \u00e9lev\u00e9 sans perdre de r\u00e9servations face \u00e0 la concurrence directe, car le client per\u00e7oit un risque moindre \u00e0 l'achat.<\/p>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"kc-sec kc-guia\">\n  <div class=\"kc-wrap\">\n    <div class=\"kc-label\">La m\u00e9thodologie<\/div>\n    <h2>Comment nous calculons l'impact d'am\u00e9liorer votre note<\/h2>\n    <p class=\"kc-intro\">Quatre \u00e9tapes, toutes visibles.<\/p>\n    <ol class=\"kc-pasos\">\n      <li class=\"kc-paso\">\n        <div class=\"kc-paso-n\">01<\/div>\n        <div><h3>Nous partons de vos revenus chambres<\/h3><p>Votre chiffre d'affaires chambres annuel est la base sur laquelle s'applique l'impact en pourcentage estim\u00e9.<\/p><\/div>\n      <\/li>\n      <li class=\"kc-paso\">\n        <div class=\"kc-paso-n\">02<\/div>\n        <div><h3>Nous mesurons l'\u00e9cart en incr\u00e9ments de 0,1<\/h3><p>Entre votre note actuelle et votre objectif (par exemple, de 4,1 \u00e0 4,4 repr\u00e9sente 3 incr\u00e9ments de +0,1). C'est l'unit\u00e9 minimale utilis\u00e9e par la plupart des plateformes d'avis.<\/p><\/div>\n      <\/li>\n      <li class=\"kc-paso\">\n        <div class=\"kc-paso-n\">03<\/div>\n        <div><h3>Nous appliquons une fourchette prudente sur trois sc\u00e9narios<\/h3><p>Par d\u00e9faut, entre +1,0% et +2,0% de revenus par +0,1, avec un sc\u00e9nario prudent, un central et un \u00e9lev\u00e9 \u2014 vous pouvez ajuster le central si vous disposez de votre propre donn\u00e9e de r\u00e9f\u00e9rence.<\/p><\/div>\n      <\/li>\n      <li class=\"kc-paso\">\n        <div class=\"kc-paso-n\">04<\/div>\n        <div><h3>Nous le traduisons en nuits, si vous ajoutez votre ADR<\/h3><p>C'est optionnel\u00a0: cela sert uniquement \u00e0 exprimer l'impact en \u00ab nuits \u00e9quivalentes \u00bb plut\u00f4t qu'en euros. Cela ne change pas le pourcentage d'impact calcul\u00e9.<\/p><\/div>\n      <\/li>\n    <\/ol>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af3ef0f4 elementor-widget elementor-widget-html\" data-id=\"af3ef0f4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<section class=\"kc-sec kc-faq\">\n  <div class=\"kc-wrap\">\n    <div class=\"kc-label\">Questions fr\u00e9quentes<\/div>\n    <h2>\u00c0 propos de la calculatrice et de ses chiffres<\/h2>\n    <div class=\"kc-faq-lista\">\n      <details><summary>D'o\u00f9 vient la fourchette de 1,0% \u00e0 2,0% par +0,1 ?<\/summary><p>C'est une fourchette indicative et prudente, coh\u00e9rente avec la litt\u00e9rature acad\u00e9mique et sectorielle qui relie la r\u00e9putation en ligne \u00e0 la demande h\u00f4teli\u00e8re. Ce n'est pas un chiffre exact issu d'une seule \u00e9tude\u00a0: c'est pourquoi vous pouvez ajuster le sc\u00e9nario central si vous disposez de votre propre donn\u00e9e de r\u00e9f\u00e9rence.<\/p><\/details>\n      <details><summary>Le r\u00e9sultat est-il une promesse de revenus ?<\/summary><p>Non. C'est une estimation d'ordre de grandeur calcul\u00e9e avec une formule transparente \u00e0 partir des donn\u00e9es que vous saisissez. Elle ne remplace pas une vraie analyse de revenue management ni ne garantit un r\u00e9sultat.<\/p><\/details>\n      <details><summary>Conservez-vous les donn\u00e9es que je saisis ?<\/summary><p>Non. Tout le calcul se fait dans votre navigateur\u00a0; nous n'envoyons ni ne stockons vos revenus, votre note ou votre ADR sur un serveur.<\/p><\/details>\n      <details><summary>Qu'est-ce que l'ADR et pourquoi est-il optionnel ?<\/summary><p>L'ADR (Average Daily Rate) est votre tarif moyen par nuit. Nous l'utilisons uniquement pour traduire l'impact en euros en \u00ab nuits \u00e9quivalentes \u00bb, plus intuitif pour une \u00e9quipe revenue. Ne pas l'ajouter ne change pas le calcul de l'impact en euros.<\/p><\/details>\n      <details><summary>Quelle est la diff\u00e9rence entre les sc\u00e9narios prudent, central et \u00e9lev\u00e9 ?<\/summary><p>Les trois utilisent le m\u00eame nombre d'incr\u00e9ments de +0,1 entre votre note actuelle et votre objectif, mais appliquent un pourcentage diff\u00e9rent par incr\u00e9ment (le central est celui que vous ajustez\u00a0; prudent et \u00e9lev\u00e9 sont calcul\u00e9s automatiquement \u00b10,5 point autour de lui).<\/p><\/details>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"kc-sec kc-cta\">\n  <div class=\"kc-wrap\">\n    <h2>Vous voulez capturer cet impact ?<\/h2>\n    <p>Nous pouvons d\u00e9composer les leviers op\u00e9rationnels qui font \u00e9voluer la note (d\u00e9lais, coh\u00e9rence, standards, r\u00e9ponse aux avis) et prioriser les actions.<\/p>\n    <div class=\"kc-cta-botones\">\n      <a class=\"kc-cta-link\" href=\"https:\/\/gamestrategies.io\/fr\/demo\/?utm_source=calculadora_kepler&utm_medium=lead_magnet&utm_campaign=hoteles\">Demander une d\u00e9mo \u2192<\/a>\n      <a class=\"kc-cta-link\" href=\"https:\/\/gamestrategies.io\/fr\/incentive-de-ventes-kepler\/\">D\u00e9couvrir Kepler \u2192<\/a>\n    <\/div>\n  <\/div>\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6ca6517 elementor-widget elementor-widget-html\" data-id=\"f6ca6517\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>currentLang='fr'; if(typeof applyTranslations==='function') applyTranslations(); var sel=document.getElementById('langSelect'); if(sel) sel.value='fr';<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Kepler Ingresos por Reputaci\u00f3n Hotelera 100% gratuita Resultados inmediatos 3 escenarios Idioma ESFREN \u00bfCu\u00e1nto ingreso podr\u00edas capturar con +0,1 puntos de valoraci\u00f3n? En menos de 2 minutos, estima el impacto potencial de mejorar tu rating (p. ej., de 4,1 a 4,4) en ingresos. Qu\u00e9 vas a obtener \ud83d\udcb6 Impacto anual (prudente \/ central \/ alto) [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":156761,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-156742","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Calculadora de Ingresos por Reputaci\u00f3n Hotelera | Kepler<\/title>\n<meta name=\"description\" content=\"Estima cu\u00e1nto ingreso podr\u00eda capturar tu hotel al mejorar tu valoraci\u00f3n online. Calculadora gratuita con 3 escenarios, sin registro.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calculadora de Ingresos por Reputaci\u00f3n Hotelera | Kepler\" \/>\n<meta property=\"og:description\" content=\"Estima cu\u00e1nto ingreso podr\u00eda capturar tu hotel al mejorar tu valoraci\u00f3n online. Calculadora gratuita con 3 escenarios, sin registro.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/\" \/>\n<meta property=\"og:site_name\" content=\"Game Strategies\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-04T09:20:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gamestrategies.io\/wp-content\/uploads\/2026\/09\/kepler-calculator-og-image.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calculadora de Ingresos por Reputaci\u00f3n Hotelera | Kepler","description":"Estima cu\u00e1nto ingreso podr\u00eda capturar tu hotel al mejorar tu valoraci\u00f3n online. Calculadora gratuita con 3 escenarios, sin registro.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/","og_locale":"fr_FR","og_type":"article","og_title":"Calculadora de Ingresos por Reputaci\u00f3n Hotelera | Kepler","og_description":"Estima cu\u00e1nto ingreso podr\u00eda capturar tu hotel al mejorar tu valoraci\u00f3n online. Calculadora gratuita con 3 escenarios, sin registro.","og_url":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/","og_site_name":"Game Strategies","article_modified_time":"2026-09-04T09:20:56+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/gamestrategies.io\/wp-content\/uploads\/2026\/09\/kepler-calculator-og-image.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/","url":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/","name":"Calculadora de Ingresos por Reputaci\u00f3n Hotelera | Kepler","isPartOf":{"@id":"https:\/\/gamestrategies.io\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/#primaryimage"},"image":{"@id":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/#primaryimage"},"thumbnailUrl":"https:\/\/gamestrategies.io\/wp-content\/uploads\/2026\/09\/kepler-calculator-og-image.jpg","datePublished":"2026-09-03T12:57:31+00:00","dateModified":"2026-09-04T09:20:56+00:00","description":"Estima cu\u00e1nto ingreso podr\u00eda capturar tu hotel al mejorar tu valoraci\u00f3n online. Calculadora gratuita con 3 escenarios, sin registro.","breadcrumb":{"@id":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/#primaryimage","url":"https:\/\/gamestrategies.io\/wp-content\/uploads\/2026\/09\/kepler-calculator-og-image.jpg","contentUrl":"https:\/\/gamestrategies.io\/wp-content\/uploads\/2026\/09\/kepler-calculator-og-image.jpg","width":1200,"height":675,"caption":"Kepler calculator dashboard mockup showing estimated impact figures on a dark SaaS-style background"},{"@type":"BreadcrumbList","@id":"https:\/\/gamestrategies.io\/fr\/calculadora-kepler-hoteles\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/gamestrategies.io\/fr\/"},{"@type":"ListItem","position":2,"name":"Calculadora de Ingresos por Reputaci\u00f3n Hotelera | Kepler"}]},{"@type":"WebSite","@id":"https:\/\/gamestrategies.io\/fr\/#website","url":"https:\/\/gamestrategies.io\/fr\/","name":"Game Strategies","description":"","publisher":{"@id":"https:\/\/gamestrategies.io\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gamestrategies.io\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/gamestrategies.io\/fr\/#organization","name":"Game Strategies","url":"https:\/\/gamestrategies.io\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/gamestrategies.io\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/gamestrategies.io\/wp-content\/uploads\/2026\/09\/Logo-GS-fondo-blanco.png","contentUrl":"https:\/\/gamestrategies.io\/wp-content\/uploads\/2026\/09\/Logo-GS-fondo-blanco.png","width":1600,"height":900,"caption":"Game Strategies"},"image":{"@id":"https:\/\/gamestrategies.io\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/gamestrategies\/","https:\/\/www.youtube.com\/@Game_strategies","https:\/\/open.spotify.com\/show\/5qmIIai3pkfl7AbW4MbRQG?si=8937886304024047&nd=1&dlsi=ac8d8434702f424c"]}]}},"_links":{"self":[{"href":"https:\/\/gamestrategies.io\/fr\/wp-json\/wp\/v2\/pages\/156742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gamestrategies.io\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gamestrategies.io\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gamestrategies.io\/fr\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/gamestrategies.io\/fr\/wp-json\/wp\/v2\/comments?post=156742"}],"version-history":[{"count":6,"href":"https:\/\/gamestrategies.io\/fr\/wp-json\/wp\/v2\/pages\/156742\/revisions"}],"predecessor-version":[{"id":156825,"href":"https:\/\/gamestrategies.io\/fr\/wp-json\/wp\/v2\/pages\/156742\/revisions\/156825"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gamestrategies.io\/fr\/wp-json\/wp\/v2\/media\/156761"}],"wp:attachment":[{"href":"https:\/\/gamestrategies.io\/fr\/wp-json\/wp\/v2\/media?parent=156742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}