/* Proyecto inmobiliario: extensión de la plantilla oficial; no modificar app.css / experiencia.css */
html,.app{overflow-x:clip}html,body{overscroll-behavior-y:none}body{margin:0;background:var(--pri-soft);color:var(--ink);font-family:Nunito,sans-serif}button,input,select,textarea{font:inherit}button{touch-action:manipulation;cursor:pointer}button,a,input{max-width:100%}.app{width:100%;max-width:440px;margin:0 auto;min-height:100svh;min-height:100dvh;background:#fff;padding:0 18px 18px;position:relative}
@media(min-width:520px){.app{margin:24px auto;min-height:calc(100dvh - 48px);border-radius:32px;box-shadow:0 20px 60px #142c5b24}}
.ja-header{position:sticky;top:0;z-index:15;padding:max(16px,env(safe-area-inset-top)) 0 10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:78px}.ja-header .brand{margin:0;display:flex;align-items:center;gap:9px;min-width:0}.kit-mark{width:44px;height:44px;border-radius:13px;background:var(--pri);color:#fff;font-weight:900;display:grid;place-items:center;font-size:15px;flex-shrink:0}.brand-name{text-align:left;min-width:0}.brand-name b{display:block;font-size:13px;line-height:1.1}.brand-name span{display:block;font-size:9px;color:var(--ink-2);line-height:1.25}.ja-privacy{font-size:11px;flex-shrink:0;color:var(--pri)}.ja-progress{position:sticky;top:78px;height:5px;background:var(--pri-soft);border-radius:9px;z-index:14}.ja-progress>div{width:0;height:100%;background:var(--pri);border-radius:9px;transition:width .25s}.exp-v{display:none}.exp-v.is-on{display:block}.ja-guide-wrap{display:grid;grid-template-columns:118px 1fr;align-items:center;gap:7px;margin:14px 0 8px;min-height:154px}.ja-guide-wrap .mascot-hero{margin:0;height:152px;display:flex;align-items:flex-end;justify-content:center}.ja-guide-wrap .mascot-hero img{max-height:152px;max-width:100%;height:152px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 6px 12px #25467c1e)}.ja-bubble{font-size:14px;line-height:1.35;font-weight:800;padding:15px 13px!important;margin:0}.ja-content{padding:2px 1px 22px}.ja-content .eyebrow{font-size:11px;font-weight:900;color:var(--pri);text-transform:uppercase;letter-spacing:.5px}.ja-content h1,.ja-content h2{font-size:clamp(23px,6.7vw,29px);line-height:1.13;color:var(--ink);font-weight:900;margin:10px 0 13px}.ja-content p{font-size:15px;line-height:1.45;color:var(--ink-2);margin:10px 0 18px}.ja-content .company{font-weight:900;font-size:13px}.ja-content .choices{display:grid;gap:11px;margin:15px 0}.ja-content .choice{border:2px solid #dde8f8;background:#fff;border-radius:19px;min-height:83px;padding:11px 12px;display:flex;align-items:center;gap:12px;width:100%;text-align:left;box-shadow:0 5px 0 #dce5f2;color:var(--ink)}.ja-content .choice i{width:50px;height:50px;background:var(--pri-soft);border-radius:15px;display:grid;place-items:center;font-style:normal;font-size:26px;flex-shrink:0}.ja-content .choice strong{display:block;font-weight:900;font-size:17px;color:var(--ink)}.ja-content .choice small{display:block;font-size:12px;line-height:1.3;color:var(--ink-2)}.ja-content .button{min-height:52px;border:0;border-radius:16px;padding:13px 16px;font-weight:900;font-size:16px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;touch-action:manipulation}.ja-content .button.primary{background:var(--pri);color:#fff;box-shadow:0 5px 0 var(--pri-dark)}.ja-content .button.ghost,.ja-content .button.outline{background:#fff;color:var(--pri);border:2px solid var(--pri-soft);box-shadow:0 4px 0 #dbe7f5}.ja-content .button.wide{width:100%}.ja-content .toolbar{display:flex;gap:10px;margin-top:18px}.ja-content .toolbar>*{flex:1}.ja-content .field{margin:15px 0}.ja-content .field label{font-size:13px;font-weight:900;display:block;margin-bottom:7px}.ja-content .field input{font-size:16px;width:100%;border:2px solid #dce6f5;border-radius:15px;padding:14px;min-height:49px;background:#fff}.ja-content .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ja-content .check{display:flex;gap:10px;align-items:start;font-size:13px;margin:16px 0}.ja-content .notice{font-size:12px;background:var(--pri-soft);border-radius:15px;padding:13px}.ja-content .price{display:block;font-size:23px;color:var(--pri);font-weight:900}.ja-content .sports{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ja-content .sports label{background:var(--pri-soft);padding:10px;border-radius:14px;font-size:14px}.ja-content .voice{width:126px;height:126px;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,#bcffff,#60bfff 35%,var(--pri) 70%,var(--pri-dark));box-shadow:0 10px 40px #3766dc66;margin:20px auto}.ja-content .voice canvas{width:100%;height:100%}.ja-content .voice-status{text-align:center;font-size:13px}.ja-content .pill{background:var(--sec-soft);padding:12px;border-radius:14px;font-weight:900;text-align:center;color:var(--sec-dark)}.ja-content .error{background:#fff1f1;color:#ad2434;padding:10px;border-radius:12px}.ja-footer{text-align:center;font-size:10px;color:var(--ink-2);padding-bottom:max(12px,env(safe-area-inset-bottom))}.ja-dialog{border:0;border-radius:23px;width:min(440px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 22px 90px #06173f5e;padding:22px}.ja-dialog::backdrop{background:#071a39a8;backdrop-filter:blur(4px)}.ja-dialog h2{font-size:22px}.ja-dialog button{width:100%;min-height:48px} .ja-content .btn{min-height:44px}
@media(max-width:350px){.app{padding-left:12px;padding-right:12px}.ja-guide-wrap{grid-template-columns:100px 1fr;gap:4px}.ja-bubble{font-size:12px;padding:10px!important}.ja-content .two{grid-template-columns:1fr}.brand-name b{font-size:11px}.ja-content .choice strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
