/* Terrenos v58.3 · Autoevaluación + formulario con el formato del home. Todo bajo .tf-band. */
.tf-band{--primary:#084C6E;--primary-d:#063a53;--sky:#1098dd;--sky-d:#0d7fbd;--sky-l:#54c1f3;--ink:#0b2c3e;--body:#4c5b64;--muted:#7e8d95;--line:#dce7ee;--soft:#f4f9fc;--tint:#e6f2fa;--page:#f4f9fc;--card:#fff;--no:#7e8d95;--err:#8a2020;--err-bg:#fdecec;
  --f-d:'Exo','Segoe UI',system-ui,sans-serif;--f-b:'Hind Madurai','Segoe UI',system-ui,sans-serif;background:var(--page);color:var(--body);font-family:var(--f-b);scroll-margin-top:80px}
.tf-band h2,.tf-band h3,.tf-band h4{font-family:var(--f-d);margin:0;text-wrap:balance}
.tf-band p,.tf-band li{font-size:inherit}
.tf-band p{margin:0}
.tf-band .tf-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem)!important;line-height:1.1}
.tf-band .tf-blk-h h3{font-size:1.2rem!important}
.tf-band .tf-result h4{font-size:1.1rem!important}
.tf-band .tf-mini{font-size:1.02rem!important}
.tf-band ol{list-style:none}
.tf-band img{max-width:none}
.tf-band .leaflet-container img{max-width:none!important}
.tf-band a{color:var(--sky)}
.tf-band :focus-visible{outline:2px solid var(--sky);outline-offset:2px}

.tf-band{position:relative;overflow:hidden;padding-block:clamp(3rem,7vw,5.5rem)}
.tf-band-bg{position:absolute;inset:0;z-index:0}
.tf-band-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 0%;opacity:.8;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 82%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 82%,transparent 100%)}
.tf-band-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--page) 0%,rgba(244,249,252,.92) 40%,rgba(244,249,252,.45) 62%,rgba(244,249,252,.08) 85%,rgba(244,249,252,0) 100%)}
.tf-band::before{content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:200px;background:linear-gradient(180deg,var(--page),rgba(244,249,252,0));pointer-events:none}
.tf-band .tf-wrap{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding-inline:16px}
.tf-band .tf-head h2{color:var(--primary);font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1}
.tf-band .tf-head p{margin:.6rem 0 0;color:var(--muted);max-width:60ch;font-size:1.05rem}
.tf-band .tf-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:1.8rem}
.tf-band .side{position:sticky;top:24px;display:grid;gap:.7rem}
.tf-band .side-card{background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.95);border-radius:20px;padding:1.2rem;box-shadow:0 14px 34px rgba(8,42,61,.12);display:grid;gap:.8rem}
.tf-band .who{display:flex;gap:.8rem;align-items:center;color:var(--ink);font-size:.98rem;line-height:1.35}
.tf-band .who .chk{flex:none;width:28px;height:28px;border-radius:50%;background:var(--sky);display:grid;place-items:center}
.tf-band .who .chk svg{width:15px;height:15px;stroke:#fff;fill:none;stroke-width:3}
.tf-band .side .tf-btn{width:100%}
.tf-band .tf-legal{font-size:.8rem;color:var(--muted);line-height:1.4;margin:0}
.tf-band .num{font:700 1.15rem var(--f-d);color:var(--primary);user-select:all;font-variant-numeric:tabular-nums}
.tf-band .tf-btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border-radius:50px;padding:.85rem 1.3rem;font:600 1rem var(--f-d);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}
.tf-band .tf-btn:hover{transform:translateY(-2px)}
.tf-band .tf-btn svg{width:20px;height:20px;flex:none}
.tf-band .tf-btn .tf-wa{fill:currentColor}
.tf-band .tf-btn-sky{background:var(--sky);color:#fff;box-shadow:0 10px 24px rgba(16,152,221,.32)}
.tf-band .tf-btn-sky:hover{background:var(--sky-d)}
.tf-band .tf-btn-sky::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:brillo 6s ease-in-out infinite}
@keyframes brillo{0%,45%{left:130%}90%,100%{left:-60%}}
.tf-band .tf-btn-dark{background:var(--primary);color:#fff}
.tf-band .tf-btn-dark:hover{background:var(--primary-d)}
.tf-band .tf-btn-line{border-color:var(--primary);color:var(--primary);background:#fff}
.tf-band .tf-btn.tf-locked{opacity:.55}
.tf-band .tf-prog{margin-bottom:.9rem}
.tf-band .tf-prog-l{display:flex;justify-content:space-between;font:600 .8rem var(--f-d);color:var(--muted);margin-bottom:.4rem}
.tf-band .tf-prog-l b{color:var(--primary);font-variant-numeric:tabular-nums}
.tf-band .tf-bar{height:8px;border-radius:99px;background:#e7eef2;overflow:hidden}
.tf-band .tf-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--sky),var(--primary));transition:width .6s cubic-bezier(.2,.8,.2,1)}
.tf-band .tf-qs{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.tf-band .tf-q{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:.4rem .8rem;align-items:center;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 4px 18px rgba(8,42,61,.05);transition:border-color .3s}
.tf-band .tf-q.tf-done{border-color:#bfe0f2}
.tf-band .tf-ico{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;color:#fff;transition:background .3s,border-color .3s}
.tf-band .tf-ico svg{width:14px;height:14px;opacity:0;transform:scale(.4);transition:opacity .3s,transform .35s cubic-bezier(.3,1.6,.5,1);fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.tf-band .tf-q.tf-done .tf-ico{background:var(--primary);border-color:var(--primary)}
.tf-band .tf-q.tf-ns .tf-ico{background:var(--sky);border-color:var(--sky)}
.tf-band .tf-q.tf-no .tf-ico{background:var(--no);border-color:var(--no)}
.tf-band .tf-q.tf-done .tf-ico svg{opacity:1;transform:scale(1)}
.tf-band .tf-txt{font-size:.95rem;line-height:1.35;color:var(--ink);min-width:0}
.tf-band .tf-txt small{display:block;color:var(--muted);font-size:.8rem;margin-top:.1rem}
.tf-band .tf-help{background:none;border:0;padding:0;color:var(--sky);font:600 .82rem var(--f-d);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tf-band .tf-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:99px;padding:3px;background:var(--soft);gap:2px}
.tf-band .tf-seg label{position:relative;cursor:pointer}
.tf-band .tf-seg input{position:absolute;opacity:0;pointer-events:none}
.tf-band .tf-seg span{display:block;border-radius:99px;padding:.32rem .78rem;font:600 .84rem var(--f-d);color:var(--body);transition:background .25s,color .25s}
.tf-band .tf-seg label:hover span{color:var(--primary)}
.tf-band .tf-seg input:checked+span{background:var(--primary);color:#fff}
.tf-band .tf-seg input[value="No sé"]:checked+span{background:var(--sky)}
.tf-band .tf-seg input[value="No"]:checked+span{background:var(--no)}
.tf-band .tf-seg input:focus-visible+span{outline:2px solid var(--sky);outline-offset:1px}
.tf-band .tf-q select,.tf-band .tf-q .tf-in{font:600 .9rem var(--f-d);color:var(--primary);border:1px solid var(--line);border-radius:99px;padding:.45rem .95rem;background:var(--soft);max-width:100%;width:240px}
.tf-band .tf-q .tf-in{font-weight:500;font-family:var(--f-b);color:var(--ink)}
.tf-band .tf-q .tf-in::placeholder{color:#9aa9b1}
.tf-band .tf-q select:focus,.tf-band .tf-q .tf-in:focus,.tf-band .tf-q textarea:focus{outline:none;border-color:var(--sky);box-shadow:0 0 0 3px rgba(16,152,221,.14);background:#fff}
.tf-band .tf-q.tf-wide{grid-template-columns:28px minmax(0,1fr)}
.tf-band .tf-q.tf-wide .tf-full{grid-column:2}
.tf-band .tf-q textarea{width:100%;min-height:84px;border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem;background:var(--soft);color:var(--ink);resize:vertical}
.tf-band .tf-q.tf-miss{border-color:#e07a7a}
.tf-band .tf-result{margin-top:1rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.9rem 1.1rem;align-items:center;padding:1.1rem 1.2rem;border-radius:18px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 28px rgba(8,42,61,.07);transition:border-color .4s,box-shadow .4s}
.tf-band .tf-result.tf-good{border-color:var(--sky);box-shadow:0 0 0 4px rgba(16,152,221,.12)}
.tf-band .tf-result.tf-pop{animation:pop .6s cubic-bezier(.3,1.5,.5,1)}
@keyframes pop{0%{transform:scale(.97)}100%{transform:none}}
.tf-band .tf-r-ico{width:46px;height:46px;border-radius:14px;background:var(--tint);display:grid;place-items:center}
.tf-band .tf-r-ico svg{width:24px;height:24px;fill:none;stroke:var(--sky);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tf-band .tf-result h4{font-size:1.1rem;line-height:1.2;color:var(--ink)}
.tf-band .tf-result p{margin:.2rem 0 0;font-size:.92rem;line-height:1.4}
.tf-band .tf-consent{grid-column:1/-1;display:flex;gap:.6rem;align-items:flex-start;font-size:.86rem;line-height:1.4;color:var(--body);cursor:pointer;padding:.65rem .8rem;border-radius:12px;background:var(--soft);transition:background .3s,box-shadow .3s}
.tf-band .tf-consent input{flex:none;width:18px;height:18px;margin-top:.15rem;accent-color:var(--sky)}
.tf-band .tf-consent.tf-ask{background:#eaf5fd;box-shadow:0 0 0 2px var(--sky)}
.tf-band .tf-r-cta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.6rem}
.tf-band .tf-r-cta .tf-btn{flex:1 1 230px}
.tf-band .r-more{grid-column:1/-1;margin:0;font-size:.88rem;color:var(--muted)}
.tf-band .r-more a{font-weight:600}
.tf-band .sub{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:2.2rem 0 .8rem}
.tf-band .sub h3{font-size:1.25rem;color:var(--primary)}
.tf-band .sub span{font:600 .78rem var(--f-d);color:var(--primary);background:var(--tint);border-radius:99px;padding:.2rem .65rem;white-space:nowrap}
.tf-band .tf-pick{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:var(--soft);color:var(--primary);border-radius:99px;padding:.45rem .95rem;font:600 .86rem var(--f-d);cursor:pointer}
.tf-band .tf-pick svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tf-band .tf-pick.tf-on{background:var(--sky);border-color:var(--sky);color:#fff}
.tf-band .tf-loc{margin-top:.6rem;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tf-band .tf-loc-bar{display:flex;flex-wrap:wrap;gap:.45rem;padding:.6rem;background:var(--soft);border-bottom:1px solid var(--line)}
.tf-band .tf-loc-bar input{flex:1 1 180px;min-width:0;padding:.45rem .9rem;border:1px solid var(--line);border-radius:99px;background:#fff}
.tf-band .tf-busca{display:flex;gap:.4rem;flex:1 1 300px;min-width:0}
.tf-band .tf-loc-bar .tf-busca input{flex:1 1 auto}
.tf-band .tf-busca-btn{display:inline-flex;align-items:center;gap:.35rem;flex:none;min-height:40px;padding:0 1rem;border:0;border-radius:99px;background:var(--primary);color:#fff;font:700 .95rem/1 var(--f-d);cursor:pointer}
.tf-band .tf-busca-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.tf-band .tf-busca-btn:focus-visible{outline:3px solid #54c1f3;outline-offset:2px}
.tf-band #tf-map{height:300px;background:var(--tint)}
.tf-band .tf-loc-out{padding:.6rem .8rem;font-size:.95rem;color:var(--ink);border-bottom:1px solid var(--line);background:#fff}
.tf-band .tf-loc-out b{font-family:var(--f-d);color:var(--primary);font-variant-numeric:tabular-nums}
.tf-band .tf-loc-note{padding:.45rem .8rem;font-size:.78rem;color:var(--muted);background:var(--soft)}
.tf-band .leaflet-container{font-family:var(--f-b)}
.pin-r{position:relative;width:36px;height:50px}.pin-r svg{display:block;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}.pin-lbl{position:absolute;left:50%;bottom:54px;transform:translateX(-50%);white-space:nowrap;background:#fff;color:#0b2c3e;font:700 13px/1 "Hind Madurai","Segoe UI",system-ui,sans-serif;padding:5px 9px;border-radius:99px;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.tf-band .tf-ups{display:flex;flex-wrap:wrap;gap:.45rem}
.tf-band .tf-up{position:relative;display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line);background:var(--soft);color:var(--primary);border-radius:99px;padding:.45rem .95rem;font:600 .86rem var(--f-d);cursor:pointer;overflow:hidden}
.tf-band .tf-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.tf-band .tf-up svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tf-band .tf-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:.45rem;margin-top:.6rem}
.tf-band .tf-thumbs:empty{display:none}
.tf-band .thumb{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--tint);display:grid;place-items:center;font:600 .7rem var(--f-d);color:var(--primary);text-align:center;padding:.3rem;word-break:break-all}
.tf-band .thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tf-band .thumb button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(11,44,62,.75);color:#fff;cursor:pointer;line-height:1}
.tf-band .tf-send{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.tf-band .tf-send .tf-btn{flex:1 1 230px}
.tf-band .tf-note{display:flex;gap:.6rem;align-items:flex-start;font-size:.86rem;line-height:1.4;margin:.7rem 0 0;cursor:pointer}
.tf-band .tf-note input{flex:none;width:18px;height:18px;margin-top:.15rem;accent-color:var(--sky)}
.tf-band .tf-msg{margin:.8rem 0 0;padding:.7rem .9rem;border-radius:12px;font-size:.92rem}
.tf-band .tf-msg.tf-err{background:var(--err-bg);color:var(--err)}
.tf-band .tf-msg.tf-ok{background:var(--tint);color:var(--primary)}
.tf-band dialog{border:0;border-radius:20px;padding:1.3rem;max-width:min(520px,calc(100vw - 32px));box-shadow:0 30px 80px rgba(8,42,61,.3)}
.tf-band dialog::backdrop{background:rgba(6,42,58,.55)}
.tf-band dialog h3{color:var(--primary);font-size:1.15rem;margin-bottom:.4rem}
.tf-band dialog p{margin:.4rem 0;font-size:.95rem}
@media (max-width:980px){
.tf-band .tf-grid{grid-template-columns:1fr}
.tf-band .side{position:static;order:-1}}
@media (max-width:640px){
.tf-band .tf-q{grid-template-columns:26px minmax(0,1fr);padding:.75rem}
.tf-band .tf-q>.tf-seg,.tf-band .tf-q>select,.tf-band .tf-q>.tf-in,.tf-band .tf-q>.tf-pick,.tf-band .tf-q>.tf-ups{grid-column:2;justify-self:start}
.tf-band .tf-q select,.tf-band .tf-q .tf-in{width:100%}
.tf-band-bg{height:760px;bottom:auto}
.tf-band-bg::after{background:linear-gradient(180deg,rgba(244,249,252,.94) 0%,rgba(244,249,252,.9) 40%,var(--page) 100%)}
.tf-band .tf-q.tf-wide[data-f="ubicacion"] .tf-full{grid-column:1/-1}
.tf-band .tf-busca{flex-basis:100%}
.tf-band #tf-map{height:420px}}
.tf-band .tf-grid.tf-one{grid-template-columns:minmax(0,900px)}
.tf-band .tf-head{max-width:900px}
.tf-band .tf-contact{margin:.9rem 0 0!important;color:var(--ink)!important;font-size:1rem!important}
.tf-band .tf-contact a{display:inline-flex;align-items:center;gap:.3rem;font-weight:600;color:var(--primary);text-decoration:none;border-bottom:2px solid #9fd3f0;padding-bottom:1px;white-space:nowrap}
.tf-band .tf-contact a:hover{border-color:var(--sky);color:var(--sky)}
.tf-band .tf-contact svg{width:16px;height:16px;flex:none}
.tf-band .tf-contact .tf-wa{fill:currentColor}
.tf-band .tf-contact .tf-tel svg{fill:none;stroke:currentColor;stroke-width:2}
.tf-band .tf-blk-h{display:flex;align-items:center;gap:.6rem;margin:0 0 .9rem}
.tf-band .tf-blk-h h3{font-size:1.2rem;color:var(--primary)}
.tf-band .tf-n{width:28px;height:28px;border-radius:50%;background:var(--sky);color:#fff;display:grid;place-items:center;font:700 .9rem var(--f-d);flex:none}
.tf-band .tf-time{font:600 .76rem var(--f-d);color:var(--primary);background:var(--tint);border-radius:99px;padding:.2rem .65rem;white-space:nowrap}
.tf-band .tf-opt{font:500 .8rem var(--f-b);color:var(--muted)}
.tf-band .tf-qs.tf-two{grid-template-columns:1fr 1fr}
.tf-band .tf-qs.tf-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.tf-band .tf-qs .tf-span{grid-column:1/-1}
.tf-band .tf-qs.tf-two .tf-q,.tf-band .tf-qs.tf-three .tf-q{grid-template-columns:28px minmax(0,1fr)}
.tf-band .tf-qs.tf-two .tf-q>.tf-seg,.tf-band .tf-qs.tf-two .tf-q>select,.tf-band .tf-qs.tf-two .tf-q>.tf-in,.tf-band .tf-qs.tf-three .tf-q>.tf-in{grid-column:2;justify-self:start}
.tf-band .tf-qs.tf-two .tf-q select,.tf-band .tf-qs.tf-two .tf-q .tf-in,.tf-band .tf-qs.tf-three .tf-q .tf-in{width:100%}
.tf-band .tf-qs.tf-two .tf-q.tf-span{grid-template-columns:28px minmax(0,1fr)}
.tf-band .tf-r-open{grid-column:1/-1;display:flex;align-items:center;gap:.7rem;width:100%;text-align:left;border:1px dashed #9fd3f0;background:var(--soft);border-radius:14px;padding:.75rem .9rem;cursor:pointer;color:var(--body);font:inherit;font-size:.9rem}
.tf-band .tf-r-open.tf-ready{border-style:solid;border-color:var(--sky);background:#fff}
.tf-band .tf-r-open b{color:var(--ink);font-family:var(--f-d)}
.tf-band .tf-r-open>span:first-child{flex:1}
.tf-band .tf-r-open svg,.tf-band .tf-blk-toggle svg{width:20px;height:20px;fill:none;stroke:var(--primary);stroke-width:2.2;flex:none;transition:transform .3s}
.tf-band .tf-r-open[aria-expanded="true"] svg,.tf-band .tf-blk-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.tf-band .tf-blk{margin-top:1.6rem}
.tf-band .tf-blk-toggle{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.9);border-radius:16px;padding:.85rem 1rem;cursor:pointer;text-align:left;box-shadow:0 4px 18px rgba(8,42,61,.05);font:inherit}
.tf-band .tf-blk-toggle h3{flex:none}
.tf-band .tf-blk-toggle .tf-opt{flex:1}
.tf-band .tf-blk-body{padding-top:.2rem;animation:abre .45s cubic-bezier(.2,.8,.2,1)}
@keyframes abre{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.tf-band .tf-mini{font:700 1.02rem var(--f-d);color:var(--primary);margin:1.4rem 0 .6rem}
@media (max-width:760px){
.tf-band .tf-qs.tf-two,.tf-band .tf-qs.tf-three{grid-template-columns:1fr}
.tf-band .tf-blk-toggle .tf-opt{display:none}}
.tf-band .tf-mini.tf-first{margin-top:.2rem}
.tf-band .tf-why{margin:.2rem 0 .9rem!important;padding:.8rem 1rem;border-radius:14px;background:rgba(255,255,255,.92);border-left:3px solid var(--sky);color:var(--ink);font-size:.95rem;line-height:1.45}
@media (prefers-reduced-motion:reduce){
.tf-band *{transition:none!important;animation:none!important}}

/* v58.4 — foto nítida: sin transparencia en la parte derecha; solo se funde arriba, abajo y detrás del formulario */
.tf-band .tf-band-bg img{opacity:1!important;object-position:65% 35%;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 88%,transparent 100%)!important;mask-image:linear-gradient(180deg,transparent 0%,#000 12%,#000 88%,transparent 100%)!important}
.tf-band .tf-band-bg::after{background:linear-gradient(90deg,var(--page) 0%,rgba(244,249,252,.95) 38%,rgba(244,249,252,.55) 52%,rgba(244,249,252,0) 66%)!important}
@media (max-width:980px){.tf-band .tf-band-bg::after{background:linear-gradient(180deg,rgba(244,249,252,.2) 0%,rgba(244,249,252,.9) 30%,var(--page) 60%)!important}}
/* v58.5 — la foto ocupa solo la parte alta de la sección (máx. 1050 px) para no ampliarla: así se ve nítida */
.tf-band .tf-band-bg{bottom:auto!important;height:min(1050px,100%)!important}
.tf-band .tf-band-bg img{object-position:62% 30%}
@media (max-width:980px){.tf-band .tf-band-bg{height:620px!important}}
/* v58.7 — el formulario ya no lleva foto: queda sobre el cielo azul de la página */
.tf-band{background:transparent!important}
.tf-band .tf-band-bg,.tf-band::before{display:none!important}
.tf-band .tf-r-cta .tf-btn{flex:1 1 100%}

/* ===== v58.9 — movimiento en la sección del formulario ===== */
/* ilustración del predio a la derecha del encabezado */
.tf-band .tf-art{position:absolute;right:16px;top:-10px;width:min(300px,24vw);pointer-events:none;display:none}
@media (min-width:1150px){.tf-band .tf-art{display:block}}
.tf-art svg{width:100%;height:auto;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.tf-art-sh{fill:rgba(8,76,110,.10);stroke:none}
.tf-art-land{fill:#dff0e4;stroke:#b9dcc4;stroke-width:2}
.tf-art-lot{fill:rgba(84,193,243,.22);stroke:#1098dd;stroke-width:2.5;stroke-dasharray:6 6;stroke-dashoffset:300}
.tf-art-rows path{stroke:#084C6E;stroke-width:6;opacity:0}
.tf-art-pole path{stroke:#4c5b64;stroke-width:3}
.tf-art-wire{stroke:#7e8d95;stroke-width:1.6;stroke-dasharray:120;stroke-dashoffset:120}
.tf-art-pin path{fill:#1098dd;stroke:#fff;stroke-width:3}
.tf-art-pin circle{fill:#fff}
.tf-art-pin{opacity:0;transform:translateY(-40px);transform-box:fill-box;transform-origin:50% 100%}
.tf-art-sun circle{fill:#ffd66b;stroke:none}
.tf-art-sun path{stroke:#ffcf4d;stroke-width:3}
.tf-art-sun{transform-box:fill-box;transform-origin:center}
.tf-art-tag{position:absolute;left:50%;bottom:6px;transform:translate(-50%,10px);opacity:0;background:#fff;border-radius:14px;padding:.45rem .9rem;box-shadow:0 10px 26px rgba(8,42,61,.15);font:700 1.05rem 'Exo',sans-serif;color:#084C6E;white-space:nowrap;text-align:center;transition:opacity .6s 1.6s,transform .6s 1.6s}
.tf-art-tag small{display:block;font:500 .75rem 'Hind Madurai',sans-serif;color:#7e8d95}
.tf-band.tf-vis .tf-art-lot{animation:tfLot 1.6s ease .3s forwards,tfMarch 1.2s linear 1.9s infinite}
.tf-band.tf-vis .tf-art-rows path{animation:tfRow .5s ease forwards}
.tf-band.tf-vis .tf-art-rows path:nth-child(1){animation-delay:1.1s}.tf-band.tf-vis .tf-art-rows path:nth-child(2){animation-delay:1.25s}.tf-band.tf-vis .tf-art-rows path:nth-child(3){animation-delay:1.4s}.tf-band.tf-vis .tf-art-rows path:nth-child(4){animation-delay:1.55s}.tf-band.tf-vis .tf-art-rows path:nth-child(5){animation-delay:1.7s}
.tf-band.tf-vis .tf-art-wire{animation:tfWire 1s ease 1.8s forwards}
.tf-band.tf-vis .tf-art-pin{animation:tfPin .7s cubic-bezier(.3,1.6,.5,1) .6s forwards,tfBob 2.4s ease-in-out 1.6s infinite}
.tf-band.tf-vis .tf-art-sun{animation:tfSpin 18s linear infinite}
.tf-band.tf-vis .tf-art-tag{opacity:1;transform:translate(-50%,0)}
@keyframes tfLot{to{stroke-dashoffset:0}}
@keyframes tfMarch{from{stroke-dashoffset:0}to{stroke-dashoffset:-24}}
@keyframes tfRow{to{opacity:1}}
@keyframes tfWire{to{stroke-dashoffset:0}}
@keyframes tfPin{to{opacity:1;transform:none}}
@keyframes tfBob{0%,100%{transform:none}50%{transform:translateY(-6px)}}
@keyframes tfSpin{to{transform:rotate(360deg)}}

/* entrada del encabezado y de las filas */
.tf-band .tf-head>*{opacity:0;transform:translateX(-24px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.tf-band.tf-vis .tf-head>*{opacity:1;transform:none}
.tf-band.tf-vis .tf-head>*:nth-child(2){transition-delay:.12s}.tf-band.tf-vis .tf-head>*:nth-child(3){transition-delay:.24s}.tf-band.tf-vis .tf-head>*:nth-child(4){transition-delay:.36s}
.tf-band .tf-q.tf-rv{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .65s cubic-bezier(.2,.8,.2,1),border-color .3s}
.tf-band .tf-q.tf-rv.tf-rv-in{opacity:1;transform:none}
/* el globo "1 minuto" late y la barra de avance brilla */
.tf-band .tf-blk-h .tf-time{animation:tfTick 2.4s ease-in-out infinite}
@keyframes tfTick{0%,100%{box-shadow:0 0 0 0 rgba(16,152,221,0)}50%{box-shadow:0 0 0 6px rgba(16,152,221,.15)}}
.tf-band .tf-bar{position:relative}
.tf-band .tf-bar::after{content:"";position:absolute;top:0;bottom:0;left:-30%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:tfShine 3s ease-in-out infinite}
@keyframes tfShine{0%{left:-30%}60%,100%{left:110%}}
.tf-band .tf-q:hover{border-color:#9fd3f0;box-shadow:0 10px 26px rgba(8,42,61,.09)}
@media (prefers-reduced-motion:reduce){.tf-band *{animation:none!important;transition:none!important}.tf-band .tf-head>*,.tf-band .tf-q.tf-rv,.tf-art-rows path,.tf-art-pin,.tf-art-tag{opacity:1!important;transform:none!important}.tf-art-lot,.tf-art-wire{stroke-dashoffset:0!important}}
.tf-band .tf-art{display:none!important}

/* v58.11 — botones de envío con el azul vibrante del hero; sin opacidad cuando falta la autorización */
@keyframes ctaVivo{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.tf-band .tf-btn-sky,.tf-band .tf-btn-sky.tf-locked,.tf-band .tf-btn.tf-locked{background:linear-gradient(110deg,#075f8d 0%,#0879b5 28%,#1ab5ed 52%,#0879b5 76%,#075f8d 100%)!important;background-size:220% 100%!important;border:1px solid rgba(122,219,251,.42)!important;color:#fff!important;opacity:1!important;box-shadow:0 12px 28px rgba(8,121,181,.35)!important;animation:ctaVivo 6s ease-in-out infinite}
.tf-band .tf-btn-sky:hover{filter:brightness(1.08)}
.tf-band .tf-btn-dark{background:#084C6E!important;opacity:1!important}
.terrenos-page .rp-btn,.terrenos-page .tp-cta-btn{background:linear-gradient(110deg,#075f8d 0%,#0879b5 28%,#1ab5ed 52%,#0879b5 76%,#075f8d 100%)!important;background-size:220% 100%!important;border:1px solid rgba(122,219,251,.42)!important;color:#fff!important;opacity:1!important;box-shadow:0 12px 28px rgba(8,121,181,.35)!important;animation:ctaVivo 6s ease-in-out infinite}

/* Lista para elegir (picker.js) dentro del formulario */
.tf-band .tf-q>.aep{width:240px;max-width:100%;min-width:0}
.tf-band .tf-q>.aep>.tf-in{width:100%}
.tf-band .tf-qs.tf-two .tf-q>.aep,.tf-band .tf-qs.tf-three .tf-q>.aep{grid-column:2;justify-self:stretch;width:100%}
.tf-band .tf-busca>.aep{flex:1 1 auto;min-width:0}
.tf-band .tf-busca>.aep>input{width:100%}
@media (max-width:640px){.tf-band .tf-q>.aep{grid-column:2;width:100%}}
/* Capa de subida de archivos antes de abrir WhatsApp (fondo sólido) */
.tf-up-lock,.tf-up-lock body{overflow:hidden}
.tf-up-ov{position:fixed;inset:0;z-index:10000;background:#f4f9fc;display:flex;align-items:center;justify-content:center;padding:24px max(20px,env(safe-area-inset-right,0px)) 24px max(20px,env(safe-area-inset-left,0px));font-family:"Hind Madurai","Segoe UI",system-ui,sans-serif}
.tf-up-ov[hidden]{display:none!important}
.tf-up-box{width:100%;max-width:440px;display:grid;gap:14px;color:#4c5b64;font-size:1.02rem;line-height:1.5}
.tf-up-box h3{margin:0;font:700 1.45rem/1.2 Exo,"Segoe UI",sans-serif;color:#084C6E}
.tf-up-box p{margin:0}
.tf-up-bar{height:12px;border-radius:99px;background:#dce7ee;overflow:hidden}
.tf-up-bar i{display:block;height:100%;width:2%;background:#1098dd;border-radius:99px;transition:width .2s}
.tf-up-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.95rem;color:#0b2c3e}
.tf-up-list li{display:flex;justify-content:space-between;gap:10px}
.tf-up-list b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tf-up-list em{font-style:normal;color:#7e8d95;flex:none}
.tf-up-ok{width:58px;height:58px;border-radius:50%;background:#e5f5ec;color:#1d7a4a;display:grid;place-items:center}
.tf-up-ok svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.tf-up-go{display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%;min-height:54px;border:0;border-radius:99px;background:#1098dd;color:#fff!important;font:700 1.08rem Exo,"Segoe UI",sans-serif;text-decoration:none;cursor:pointer;box-shadow:0 10px 24px rgba(16,152,221,.32)}
.tf-up-go svg{width:22px;height:22px;fill:currentColor}
.tf-up-alt{display:block;text-align:center;border:1.5px solid #084C6E;border-radius:99px;padding:12px;color:#084C6E!important;font:700 .98rem Exo,"Segoe UI",sans-serif;text-decoration:none}
.tf-up-x{border:0;background:none;color:#0879b5;font:600 .98rem "Hind Madurai","Segoe UI",sans-serif;text-decoration:underline;cursor:pointer;padding:6px}
@media (prefers-reduced-motion: reduce){.tf-up-bar i{transition:none}}
