/* Pool de Rentas Patio Central.
   Lenguaje inspirado en la arquitectura mexicana de Luis Barragán, que es la referencia de la marca:
   muros de color saturado, cal, vanos que enmarcan la plaza, luz rasante y dinteles que se deslizan.
   Regla de forma: todo a escuadra, radio 0. La única excepción es la burbuja de WhatsApp.
   Las secciones largas usan position: sticky (no se secuestra el scroll). */

@font-face{font-family:"Sofia Pro";src:url(media/fonts/sofia-pro-300.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Sofia Pro";src:url(media/fonts/sofia-pro-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Sofia Pro";src:url(media/fonts/sofia-pro-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Sofia Pro";src:url(media/fonts/sofia-pro-600.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --rosa:#c8236b;
  --naranja:#e56a1e;
  --amarillo:#f2c230;
  --lila:#5c3d8e;
  --noche:#2a1a3e;
  --cal:#f6f3ec;
  --tinta:#1a1216;
  --fg:var(--tinta);
  --muted:#574e50;
  --line:rgba(26,18,22,.2);
  --gut:clamp(20px,4vw,56px);
  --nav:64px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cal);color:var(--fg);font:400 1.125rem/1.55 "Sofia Pro",system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.024em;line-height:1.06;text-wrap:balance}
h2{font-size:clamp(2.1rem,4.4vw,4rem);max-width:18ch}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:var(--gut)}
.lead{margin-top:18px;max-width:56ch;font-size:clamp(1.1rem,1.5vw,1.3rem);color:var(--muted)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-70px;z-index:60;background:#fff;color:#111;padding:10px 16px}
.skip:focus{top:12px}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
.kicker{font-size:1.02rem;font-weight:500;letter-spacing:.01em}

/* Paredes: cada sección es un muro con su propio color */
.w-rosa{background:var(--rosa);--fg:#fff;--muted:#fff;--line:rgba(255,255,255,.42);color:#fff}
.w-naranja{background:var(--naranja);--fg:var(--tinta);--muted:var(--tinta);--line:rgba(26,18,22,.4);color:var(--tinta)}
.w-amarillo{background:var(--amarillo);--fg:var(--tinta);--muted:var(--tinta);--line:rgba(26,18,22,.4);color:var(--tinta)}
.w-lila{background:var(--lila);--fg:#fff;--muted:#fff;--line:rgba(255,255,255,.4);color:#fff}
.w-noche{background:var(--noche);--fg:#fff;--muted:#e4dfea;--line:rgba(255,255,255,.26);color:#fff}
.w-cal{background:var(--cal);--fg:var(--tinta);--muted:#574e50;--line:rgba(26,18,22,.2);color:var(--tinta)}

/* Luz rasante: una sombra diagonal que atraviesa el muro */
.luz{position:absolute;inset:-10% -30%;pointer-events:none;background:linear-gradient(112deg,transparent 0 44%,rgba(26,18,22,.13) 44.1% 66%,transparent 66.1%);will-change:transform}

/* Dintel: dos planos que se deslizan al pasar de un muro a otro */
.lintel{position:relative;height:clamp(64px,15vh,150px);overflow:hidden;background:var(--de)}
.lintel i{position:absolute;left:0;right:0;transform-origin:left center;will-change:transform}
.lintel i:first-child{inset-block:0;background:var(--a)}
.lintel i:last-child{bottom:0;height:42%;background:var(--b);transform-origin:right center}
.lintel--flip i:first-child{transform-origin:right center}
.lintel--flip i:last-child{transform-origin:left center}

/* Botones a escuadra: la respuesta está en el press, inmediata */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border:1.5px solid transparent;border-radius:0;font:500 1.05rem/1 "Sofia Pro",system-ui,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .25s,color .25s,border-color .25s,transform .35s var(--ease)}
.btn:active{transform:scale(.97);transition:transform .08s ease-out}
.btn--sm{min-height:44px;padding:0 20px;font-size:.98rem}
.btn--cta{background:var(--amarillo);color:var(--tinta)}
.btn--ink{background:var(--rosa);color:#fff}
.btn--glass{background:transparent;color:inherit;border-color:currentColor}
@media (hover:hover){.btn--cta:hover,.btn--ink:hover{transform:translateY(-2px)}.btn--glass:hover{background:rgba(255,255,255,.16)}}
.btn--full{width:100%}
.btn[disabled]{opacity:.65;cursor:progress}

.ic{display:inline-block;width:22px;height:22px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;flex:none}
.ic--wa{--i:url(media/icons/whatsapp-logo.svg)}
.ic--pin{--i:url(media/icons/map-pin.svg)}
.ic--ok{--i:url(media/icons/check-circle.svg);width:44px;height:44px;color:var(--rosa)}
.ic--sound{--i:url(media/icons/speaker-high.svg)}

/* Nav: una franja de cal, sin efectos */
.nav{position:fixed;top:0;left:0;right:0;z-index:30;background:var(--cal);color:var(--tinta)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1320px;height:var(--nav);margin-inline:auto;padding-inline:var(--gut)}
.nav__logo{display:block;flex:none}
.nav__logo img{width:auto;height:26px}
.nav__links{display:flex;gap:clamp(16px,2.4vw,32px);font-size:.98rem}
.nav__links a{text-decoration:none;background:linear-gradient(var(--rosa),var(--rosa)) left bottom/0 2px no-repeat;padding-block:4px;transition:background-size .35s var(--ease)}
.nav__links a:hover{background-size:100% 2px}

/* Hero: muro rosa, plano naranja y un vano a piso que enmarca la plaza */
.hero{position:relative;min-height:100dvh;padding-top:var(--nav);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);overflow:clip}
.hero__plano{position:absolute;top:0;bottom:0;right:0;width:30vw;background:var(--naranja);transform-origin:right center;will-change:transform}
.hero__plano::after{content:"";position:absolute;top:0;right:0;bottom:0;width:18%;background:var(--amarillo)}
.hero .luz{z-index:0}
.hero__copy{position:relative;z-index:2;align-self:end;padding:0 20px clamp(40px,9vh,96px) max(var(--gut),calc((100vw - 1320px)/2 + var(--gut)))}
.hero__title{margin-top:12px;font-size:clamp(2.4rem,4.4vw,5rem);letter-spacing:-.034em;line-height:1.02;text-wrap:initial}
.hero__title .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.hero__title .ln>span{display:block}
.hero__sub{margin-top:20px;max-width:44ch;font-size:clamp(1.12rem,1.5vw,1.3rem);line-height:1.42;text-wrap:pretty}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero__vano{position:relative;z-index:1;align-self:end;justify-self:end;height:calc(100dvh - var(--nav) - clamp(20px,5vh,56px));max-height:1000px;aspect-ratio:9/16;margin-right:clamp(40px,8vw,140px);overflow:hidden;background:#3d1a2c;box-shadow:-26px 0 60px -30px rgba(26,18,22,.55)}
.hero__vano video{width:100%;height:100%;object-fit:cover;will-change:transform}

/* Promesa: palabras que se encienden sobre la cal */
.promesa{position:relative;height:220vh}
.promesa__stick{position:sticky;top:0;min-height:100dvh;display:flex;align-items:center;padding-inline:var(--gut);overflow:hidden}
.promesa__txt{position:relative;max-width:1180px;margin-inline:auto;font-size:clamp(2rem,5vw,4.6rem);font-weight:500;line-height:1.14;letter-spacing:-.026em}
.promesa__txt em{font-style:normal;color:var(--rosa)}
.promesa__txt .w{opacity:.16;transition:opacity .25s linear}
.promesa__txt .w.on{opacity:1}

/* Vanos: el video se ve a través del muro */
.tile{margin:0;overflow:hidden;background:rgba(26,18,22,.3);aspect-ratio:9/16}
.tile video,.tile img{width:100%;height:100%;object-fit:cover}

/* Prueba: muro naranja, dos vanos y cifras en escalera */
.prueba{padding-block:clamp(60px,9vw,130px) clamp(90px,12vw,180px);overflow:clip}
.prueba__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,4.4vw,72px);max-width:1400px;margin-inline:auto;padding-inline:var(--gut);align-items:center}
.prueba__col{will-change:transform}
.prueba__data h2{font-size:clamp(2rem,3.4vw,3.2rem)}
.stats{margin:32px 0 0;display:grid;gap:20px}
.stats div{display:grid;gap:2px;padding-top:14px;border-top:1.5px solid var(--line)}
.stats div:nth-child(2){margin-left:9%}
.stats div:nth-child(3){margin-left:18%}
.stats dt{order:2;font-size:1rem;line-height:1.35}
.stats dd{margin:0;order:1;font-size:clamp(2.8rem,5.2vw,4.8rem);font-weight:300;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.prueba__note{margin-top:24px;font-size:1.02rem}

/* Marcas: paneo horizontal guiado por el scroll */
.marcas{height:300vh}
.marcas__stick{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:clamp(20px,3.4vh,36px);overflow:hidden;padding-top:calc(var(--nav) + 16px)}
.marcas h2{padding-inline:var(--gut);max-width:none;font-size:clamp(1.9rem,3.2vw,3rem)}
.marcas__track{display:flex;gap:clamp(12px,1.6vw,22px);width:max-content;padding-inline:var(--gut);will-change:transform}
.tile--pan{aspect-ratio:auto;height:clamp(320px,62dvh,680px);width:auto;flex:none;background:none;overflow:visible}
.tile--pan video,.tile--pan img{height:calc(100% - 34px);width:auto;aspect-ratio:9/16;background:#3a2560}
.tile--pan figcaption{margin-top:10px;font-size:1rem}

/* Zona: descenso aéreo cuadro a cuadro */
.zona{height:400vh}
.zona__stick{position:sticky;top:0;height:100dvh;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,5vw,80px);align-items:center;max-width:1320px;margin-inline:auto;padding:calc(var(--nav) + 20px) var(--gut) 28px}
.zona__canvas{order:2;justify-self:center;height:100%;max-height:calc(100dvh - 118px);aspect-ratio:9/16;overflow:hidden;background:rgba(26,18,22,.3)}
.zona__canvas canvas{width:100%;height:100%}
.zona__steps{position:relative;min-height:320px}
.zstep{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;opacity:0;transform:translateY(22px);transition:opacity .5s var(--ease),transform .7s var(--ease);pointer-events:none}
.zstep.is-on{opacity:1;transform:none;pointer-events:auto}
.zstep h2{font-size:clamp(1.9rem,4vw,3.6rem);max-width:15ch}
.big{font-size:clamp(1.8rem,3.4vw,3.1rem);line-height:1.14;letter-spacing:-.02em;font-weight:400;max-width:17ch}
.big strong{font-weight:600}
.zona__dir{display:flex;gap:8px;align-items:center;margin-top:22px;font-size:1.05rem}

/* Asesora: el reproductor se apoya en un plano rosa */
.asesora{padding-block:clamp(70px,9vw,130px);overflow:clip}
.asesora__grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(36px,7vw,110px);align-items:center}
.asesora__marco{position:relative}
.asesora__marco::before{content:"";position:absolute;top:9%;bottom:-6%;left:-100vw;right:22%;background:var(--rosa)}
.asesora__player{position:relative;aspect-ratio:9/16;overflow:hidden;background:#20151a;will-change:transform}
.asesora__player video{width:100%;height:100%;object-fit:cover}
.sound{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:0;border-radius:0;background:var(--cal);color:var(--tinta);font:500 .98rem "Sofia Pro",system-ui,sans-serif;cursor:pointer;transition:transform .35s var(--ease)}
.sound:active{transform:scale(.96);transition:transform .08s}
.sound .ic{width:20px;height:20px}
.asesora blockquote{margin:24px 0 0;max-width:30ch;font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1.26;color:var(--muted)}
.trans{margin-top:26px;max-width:60ch}
.trans summary{cursor:pointer;font-weight:500}
.trans p{margin-top:10px;color:var(--muted);font-size:1.02rem}

/* Modelo */
.modelo{height:380vh;position:relative}
.modelo__stick{position:sticky;top:0;height:100dvh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,5vw,80px);align-items:center;max-width:1320px;margin-inline:auto;padding:calc(var(--nav) + 16px) var(--gut) 24px}
.modelo h2{font-size:clamp(2rem,3.8vw,3.5rem);max-width:14ch}
.msteps{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:4px}
.msteps li{padding:13px 0 13px 18px;border-left:3px solid var(--line);opacity:.5;transition:opacity .4s,border-color .4s}
.msteps li.is-on{opacity:1;border-left-color:var(--amarillo)}
.msteps b{display:block;font-size:1.16rem;font-weight:600}
.msteps span{display:block;font-size:1.02rem;line-height:1.38;color:var(--muted)}
.mviz{position:relative;aspect-ratio:1;width:min(100%,62dvh);justify-self:center}
.mtile{position:absolute;left:0;top:0;width:11.5%;aspect-ratio:1;will-change:transform}
.mviz__fund{position:absolute;left:50%;top:50%;width:44%;aspect-ratio:1;margin:-22% 0 0 -22%;background:var(--amarillo);color:var(--tinta);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.3)}
.mviz__fundlabel{font-weight:600;font-size:clamp(.95rem,1.5vw,1.25rem)}
.mviz__ring{position:absolute;left:50%;top:50%;width:62%;aspect-ratio:1;margin:-31% 0 0 -31%;border:2px solid rgba(255,255,255,.6);opacity:0}
.mviz__ringlabel{position:absolute;left:50%;top:10%;transform:translateX(-50%);font-weight:500;font-size:clamp(.95rem,1.4vw,1.15rem);opacity:0;white-space:nowrap}
.mviz__you{position:absolute;right:0;bottom:0;display:grid;gap:2px;padding:16px 20px;background:var(--rosa);color:#fff;opacity:0;transform:translateY(20px)}
.mviz__you small{font-size:.95rem}
.mviz__you strong{font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:600;line-height:1;letter-spacing:-.02em}
.mviz__you span{font-size:1rem}
.modelo__foot{position:absolute;bottom:14px;left:0;right:0;font-size:.9rem;color:var(--muted)}

/* Simulador */
.sim{padding-block:clamp(70px,9vw,140px) clamp(50px,6vw,80px)}
.sim__panel{margin-top:40px;padding:clamp(20px,3vw,44px);background:#fff;border-top:10px solid var(--rosa)}
.sim__controls{display:flex;flex-wrap:wrap;gap:12px 20px}
.seg{position:relative;display:inline-flex;padding:4px;background:#ece6da;touch-action:manipulation}
.seg button{position:relative;z-index:1;min-height:46px;padding:0 clamp(12px,1.5vw,22px);border:0;border-radius:0;background:none;color:var(--tinta);font:500 1rem "Sofia Pro",system-ui,sans-serif;cursor:pointer;white-space:nowrap;transition:color .2s}
.seg button:active{opacity:.7}
.seg button[aria-checked=true]{color:#fff}
.seg__thumb{position:absolute;left:0;top:4px;bottom:4px;width:40px;background:var(--rosa);will-change:transform,width}
.sim__main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(20px,4vw,60px);align-items:end;margin-top:clamp(28px,4vw,52px)}
.sim__lbl{font-size:1.05rem;color:var(--muted)}
.sim__num{font-size:clamp(3.4rem,9vw,8rem);font-weight:300;letter-spacing:-.045em;line-height:1.02;font-variant-numeric:tabular-nums}
.sim__sub{margin-top:8px;color:var(--muted)}
.sim__bars{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;align-items:end;height:clamp(130px,17vw,210px);margin:0;padding:0}
.sim__bars li{display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.sim__bars i{display:block;height:100%;background:#e4dccd;transform-origin:bottom;transform:scaleY(.5);will-change:transform;transition:background-color .25s}
.sim__bars li.is-on i{background:var(--naranja)}
.sim__bars span{margin-top:8px;text-align:center;font-size:.95rem;color:var(--muted)}
.sim__kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 28px;margin:clamp(28px,4vw,48px) 0 0;padding-top:clamp(20px,3vw,30px);border-top:1px solid var(--line)}
.sim__kpis dt{font-size:.98rem;line-height:1.3;color:var(--muted)}
.sim__kpis dd{margin:4px 0 0;font-size:clamp(1.45rem,2.3vw,2rem);font-weight:500;letter-spacing:-.015em;font-variant-numeric:tabular-nums}
.legal{margin-top:20px;font-size:.92rem;line-height:1.5;color:var(--muted);max-width:110ch}

/* Comparativa */
.compara{padding-block:clamp(50px,7vw,100px)}
.comp__wrap{margin-top:36px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.comp{width:100%;min-width:820px;border-collapse:separate;border-spacing:0;font-size:1.02rem}
.comp th,.comp td{padding:17px 18px;text-align:left;vertical-align:top;line-height:1.32;border-bottom:1px solid var(--line)}
.comp thead th{font-weight:500;border-bottom:1.5px solid var(--fg);vertical-align:bottom}
.comp tbody th{font-weight:500;position:sticky;left:0;background:var(--cal);min-width:170px}
.comp tbody td{color:var(--muted)}
.comp .is-pool{background:var(--lila);color:#fff;font-weight:500;border-bottom-color:rgba(255,255,255,.2)}
.comp thead .is-pool{color:var(--amarillo);border-bottom-color:rgba(255,255,255,.2)}
.comp__nota{margin-top:14px;font-size:.92rem;color:var(--muted)}

/* Respaldo: una obra terminada, enmarcada por muros de color */
.respaldo{padding-block:clamp(60px,8vw,120px);overflow:clip}
.respaldo__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(40px,7vw,110px);align-items:center}
.respaldo__obra{position:relative;margin:0 0 clamp(40px,6vw,80px)}
.respaldo__obra::before{content:"";position:absolute;inset:8% 22% -7% -100vw;background:var(--naranja)}
.respaldo__obra::after{content:"";position:absolute;width:32%;height:34%;right:-5%;top:-5%;background:var(--amarillo)}
.respaldo__foto{position:relative;z-index:1;margin:0;overflow:hidden;aspect-ratio:1440/1292;background:#d9d2c4}
.respaldo__foto img{width:100%;height:112%;max-width:none;object-fit:cover;will-change:transform}
.respaldo__foto2{position:absolute;z-index:2;right:-7%;bottom:-11%;width:37%;margin:0;aspect-ratio:540/628;overflow:hidden;border:8px solid var(--cal);background:#d9d2c4}
.respaldo__foto2 img{width:100%;height:100%;object-fit:cover}
.respaldo__logo{width:auto;height:30px;margin-bottom:24px}
.resp__stats{display:flex;flex-wrap:wrap;gap:20px 48px;margin:32px 0 0}
.resp__stats dt{font-size:1rem;color:var(--muted)}
.resp__stats dd{margin:0;font-size:clamp(2.4rem,4vw,3.6rem);font-weight:300;letter-spacing:-.03em;line-height:1.08}
.resp__stats div{display:flex;flex-direction:column-reverse}
.resp__roles{margin-top:28px;max-width:60ch;color:var(--muted)}
.resp__roles b{color:var(--fg);font-weight:500}

/* FAQ */
.faq{padding-block:clamp(50px,7vw,100px) clamp(90px,10vw,150px)}
.faq__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(32px,6vw,90px);align-items:start}
.faq h2{font-size:clamp(2rem,3.4vw,3.1rem);max-width:15ch}
.faq__side{position:sticky;top:96px}
.glos{margin-top:30px}
.glos h3{font-size:1.1rem;letter-spacing:-.01em}
.glos dl{margin:10px 0 0}
.glos dt{margin-top:12px;font-weight:500;font-size:1rem}
.glos dd{margin:1px 0 0;font-size:.98rem;line-height:1.4;color:var(--muted)}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;font-size:clamp(1.12rem,1.6vw,1.3rem);font-weight:500;line-height:1.28;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:20px;height:20px;background:var(--rosa);-webkit-mask:url(media/icons/caret-down.svg) center/contain no-repeat;mask:url(media/icons/caret-down.svg) center/contain no-repeat;transition:transform .35s var(--ease)}
.faq details[open] summary::after{transform:rotate(180deg)}
.faq details p{padding:0 36px 22px 0;color:var(--muted);max-width:64ch}

/* Asesoría: el formulario se escribe directo sobre el muro */
.asesoria{position:relative;padding-block:clamp(80px,10vw,150px) clamp(90px,10vw,150px);overflow:clip}
.asesoria__plano{position:absolute;left:0;top:0;bottom:0;width:46vw;background:var(--naranja);transform-origin:left center;will-change:transform}
@media (min-width:1024px){.asesoria__copy{color:var(--tinta)}}
.asesoria__plano::after{content:"";position:absolute;left:0;top:0;width:100%;height:18%;background:var(--amarillo)}
.asesoria__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,7vw,110px);align-items:start}
.asesoria__copy{display:grid;gap:clamp(22px,3vw,36px);justify-items:start}
.asesoria__vano{width:min(100%,300px);aspect-ratio:9/13;overflow:hidden;background:#3d1a2c}
.asesoria__vano video{width:100%;height:100%;object-fit:cover}
.asesoria h2{max-width:13ch}
.asesoria__copy p{max-width:38ch;font-size:1.16rem}
.form,.form-ok{min-width:0}
.form{display:grid;gap:clamp(24px,3vw,34px)}
.form[hidden]{display:none}
.form .btn--cta{min-height:64px;font-size:1.12rem;font-weight:600}
.form__two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,3vw,34px)}
.field{display:grid;gap:4px;min-width:0;margin:0;padding:0;border:0}
.field label,.field legend{padding:0;font-size:1rem;font-weight:500;line-height:1.3}
.field legend{margin-bottom:12px}
.field input[type=text],.field input[type=tel],.field input[type=email],.field textarea{width:100%;min-height:50px;padding:8px 0;border:0;border-bottom:2px solid #fff;border-radius:0;background:transparent;color:#fff;font:400 1.2rem/1.4 "Sofia Pro",system-ui,sans-serif;caret-color:var(--amarillo);transition:border-color .15s,box-shadow .2s var(--ease)}
.field textarea{resize:vertical;min-height:84px}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--amarillo);box-shadow:0 3px 0 var(--amarillo)}
.field input:-webkit-autofill,.field input:-webkit-autofill:focus{-webkit-text-fill-color:#fff;caret-color:#fff;box-shadow:inset 0 0 0 200px var(--rosa);border-bottom-color:#fff}
.radios{display:grid;grid-template-columns:1fr 1fr;gap:0}
.radios label{position:relative;display:grid;font-weight:400;cursor:pointer}
.radios label+label span{border-left:0}
.radios input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.radios span{display:flex;align-items:center;justify-content:center;min-height:58px;padding:8px 10px;text-align:center;border:2px solid #fff;transition:background-color .15s,color .15s,border-color .15s}
.radios input:checked+span{background:var(--amarillo);border-color:var(--amarillo);color:var(--tinta);font-weight:600}
.radios input:focus-visible+span{outline:3px solid #fff;outline-offset:2px}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;line-height:1.4;cursor:pointer}
.consent input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--amarillo)}
.err{display:none;justify-self:start;width:fit-content;margin:6px 0 0;padding:4px 10px;font-size:.95rem;line-height:1.3;font-weight:500;background:var(--tinta);color:#fff}
.err.on{display:block}
.is-bad{border-bottom-color:var(--tinta)!important;box-shadow:0 3px 0 var(--tinta)}
.hp{position:absolute;left:-9999px;width:1px;height:1px}
.form__status{margin:-6px 0 0;font-size:1rem;line-height:1.4}
.form__status:empty{display:none}
.form__status.is-error{font-weight:500}
.form-ok{display:grid;gap:12px;justify-items:start;padding:clamp(24px,3vw,40px);background:var(--cal);color:var(--tinta)}
.form-ok[hidden]{display:none}
.form-ok h3{font-size:1.7rem}
.form-ok p{color:#574e50}
.form-ok:focus{outline:none}

/* Pie */
.foot{background:var(--tinta);color:#c9c2c4;padding-block:38px}
.foot__in{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;font-size:.92rem;line-height:1.5;padding-right:calc(var(--gut) + 72px)}
.foot__logos{display:flex;gap:20px;align-items:center}
.foot__logos img{width:auto;height:22px}

/* Burbuja de WhatsApp: siempre visible. Única forma redonda de la página, para reconocerla al instante */
.wa{position:fixed;right:clamp(14px,2.4vw,28px);bottom:calc(clamp(14px,2.4vw,28px) + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;height:60px;min-width:60px;border-radius:30px;background:#25d366;color:var(--tinta);text-decoration:none;font-weight:500;box-shadow:0 12px 30px -10px rgba(26,18,22,.55);overflow:hidden;transition:transform .35s var(--ease)}
.wa:active{transform:scale(.93);transition:transform .08s ease-out}
.wa .ic{width:30px;height:30px;margin-inline:15px}
.wa__txt{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .45s var(--ease),padding .45s var(--ease)}
@media (hover:hover){.wa:hover .wa__txt,.wa:focus-visible .wa__txt{max-width:260px;padding-right:22px}}

.mbar{display:none}

/* Entrada por bloques */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform 1s var(--ease)}
  .js .rv.in{opacity:1;transform:none}
}

/* Movimiento reducido: sin sticky largos ni paneos, todo se lee de corrido */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .promesa,.marcas,.zona,.modelo{height:auto}
  .promesa__stick,.marcas__stick,.zona__stick,.modelo__stick{position:static;height:auto;min-height:0;padding-block:64px}
  .promesa__txt .w{opacity:1}
  .marcas__track{overflow-x:auto;width:auto}
  .zstep{position:static;opacity:1;transform:none;margin-bottom:22px}
  .zona__steps{min-height:0}
  .msteps li{opacity:1}
  .mviz{display:none}
  .modelo__foot{position:static}
  .lintel i{transform:none}
  .btn,.sound,.wa,.wa__txt,.faq summary::after{transition:none}
}

/* Tablet */
@media (max-width:1023px){
  .nav__links{display:none}
  .prueba__grid{grid-template-columns:1fr 1fr;gap:16px}
  .prueba__data{grid-column:1/3;grid-row:1;padding-bottom:14px}
  .sim__kpis{grid-template-columns:1fr 1fr}
  .faq__grid,.asesoria__grid{grid-template-columns:1fr}
  .faq__side{position:static}
  .foot__in{grid-template-columns:1fr}
  .asesoria__plano{width:18vw}
  .asesoria__copy,.form,.form-ok{margin-left:clamp(0px,10vw,90px)}
}

/* Celular: una sola columna */
@media (max-width:767px){
  :root{--nav:56px}
  body{font-size:1.0625rem}
  html{scroll-padding-top:72px}
  .nav .btn{display:none}
  .nav__in{justify-content:center}
  .nav__logo img{height:24px}
  .hero{display:flex;flex-direction:column;min-height:100dvh}
  .hero__plano{top:0;bottom:auto;left:0;right:auto;width:24vw;height:calc(var(--nav) + 44dvh);transform-origin:left center}
  .hero__plano::after{right:auto;left:0;width:30%}
  .hero__vano{order:-1;align-self:flex-end;height:44dvh;width:84vw;aspect-ratio:auto;margin:0;box-shadow:none}
  .hero__vano video{object-position:center 92%}
  .hero__copy{padding:18px var(--gut) 18px;align-self:stretch}
  .hero__title{font-size:clamp(1.8rem,8.5vw,2.6rem);margin-top:6px}
  .hero__sub{margin-top:12px;font-size:1.05rem}
  .hero__cta{margin-top:18px}
  .hero__cta .btn{flex:1 1 100%;min-height:52px}
  .promesa{height:190vh}
  .prueba__col[data-speed]{transform:none}
  .stats div:nth-child(n){margin-left:0}
  .marcas{height:auto}
  .marcas__stick{position:static;height:auto;padding-block:40px;overflow:visible}
  .marcas__track{width:auto;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;transform:none!important}
  .marcas__track::-webkit-scrollbar{display:none}
  .tile--pan{height:auto;scroll-snap-align:center;width:66vw}
  .tile--pan video,.tile--pan img{width:100%;height:auto}
  .zona{height:360vh}
  .zona__stick{display:block;padding:0;max-width:none}
  .zona__canvas{position:absolute;inset:0;height:100%;max-height:none;width:100%;aspect-ratio:auto}
  .zona__stick::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,18,22,.15) 30%,rgba(26,18,22,.86) 88%);pointer-events:none}
  .zona__steps{position:absolute;left:var(--gut);right:var(--gut);bottom:calc(96px + env(safe-area-inset-bottom));height:230px;z-index:1;min-height:0;color:#fff}
  .zstep{justify-content:flex-end}
  .big{max-width:none}
  .asesora__grid,.respaldo__grid{grid-template-columns:1fr}
  .asesora__marco{max-width:330px;margin-inline:auto;width:100%}
  .respaldo__obra{margin-right:6%}
  .modelo{height:320vh}
  .modelo__stick{display:flex;flex-direction:column;justify-content:flex-start;padding-top:calc(var(--nav) + 20px);gap:10px}
  .modelo h2{font-size:1.7rem;max-width:none}
  .msteps{position:relative;margin-top:10px;min-height:88px}
  .msteps li{position:absolute;inset:0 0 auto;opacity:0;border-left:0;padding:0}
  .msteps li.is-on{opacity:1}
  .mviz{width:min(100%,44dvh);margin-top:6px}
  .mviz__you{padding:10px 14px}
  .modelo__foot{bottom:8px;font-size:.84rem}
  .seg{display:flex;width:100%}
  .seg button{flex:1;padding:0 4px;font-size:.92rem}
  .sim__main{grid-template-columns:1fr}
  .sim__num{font-size:clamp(3.2rem,17vw,5rem)}
  .sim__kpis{gap:18px}
  .form__two{grid-template-columns:1fr}
  .asesoria__plano{width:10vw}
  .asesoria__copy,.form,.form-ok{margin-left:8vw}
  .foot{padding-bottom:104px}
  .foot__in{gap:18px;padding-right:var(--gut)}
  /* La barra deja lugar a la burbuja, que queda alineada a su derecha */
  .mbar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:block;padding:10px calc(var(--gut) + 68px) calc(10px + env(safe-area-inset-bottom)) var(--gut);background:var(--cal);border-top:3px solid var(--rosa);transition:transform .35s var(--ease)}
  .mbar.off{transform:translateY(110%)}
  .mbar .btn{width:100%;min-height:52px;padding:0}
  .wa{right:var(--gut);bottom:calc(6px + env(safe-area-inset-bottom));width:60px}
}
