/* v59 — inversionistas rediseñada (prototipo aprobado) */
.pv{
  --primary:#084C6E; --sky:#1098dd; --sky-l:#54c1f3; --ink:#0b2c3e; --body:#4c5b64; --line:#dce7ee; --bg:#f4f9fc; --card:#ffffff; --tint:#e8f4fb;
  --f-d:'Exo',system-ui,sans-serif; --f-b:'Hind Madurai',system-ui,sans-serif;
  --t-h1:clamp(34px,4.6vw,58px); --t-h2:clamp(28px,2.7vw,38px); --t-lead:20px; --t-h3:22px; --t-num:clamp(40px,4.4vw,56px); --t-p:18px; --t-note:15px;
  color-scheme:light;
}
@media (max-width:640px){.pv{--t-lead:18.5px;--t-h3:20px;--t-p:17px;--t-note:14.5px}}
.pv h1,.pv h2,.pv h3{font-family:var(--f-d);color:var(--primary);margin:0;text-wrap:balance;line-height:1.15}
.pv p{margin:0}
.pv .wrap{width:min(1180px,100%);margin-inline:auto;padding-inline:24px}
@media (max-width:640px){.pv .wrap{padding-inline:16px}}
.pv .sky{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.pv .sky i{position:absolute;border-radius:50%;filter:blur(60px);background:rgba(16,152,221,.16);animation:flota 26s ease-in-out infinite alternate}
.pv .sky i:nth-child(1){width:46vw;height:46vw;left:-20vw;top:-8vh}
.pv .sky i:nth-child(2){width:34vw;height:34vw;left:-6vw;top:40vh;background:rgba(84,193,243,.18);animation-duration:32s;animation-delay:-8s}
.pv .sky i:nth-child(3){width:28vw;height:28vw;left:14vw;top:74vh;background:rgba(16,152,221,.12);animation-duration:22s}
.pv .sky i:nth-child(4){width:30vw;height:30vw;right:-14vw;top:55vh;background:rgba(16,152,221,.08);animation-duration:36s}
@keyframes flota{0%{transform:translate(0,0) scale(1)}50%{transform:translate(6vw,-5vh) scale(1.12)}100%{transform:translate(-3vw,6vh) scale(.92)}}
.pv .nav a[aria-current]{opacity:1;border-bottom:2px solid var(--sky-l);padding-bottom:3px}
.pv .pvhero{position:relative;color:#fff;padding-block:150px 120px;overflow:hidden;background:var(--ink)}
.pv .pvhero-bg{position:absolute;inset:-6% 0 0;background:url(../assets/img/inversionistas-territorio.jpg) center 40%/cover;animation:zoom 22s ease-out both}
@keyframes zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
.pv .pvhero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,38,56,.92) 0%,rgba(8,76,110,.72) 46%,rgba(8,76,110,.15) 100%)}
.pv .pvhero .wrap{position:relative;z-index:1;display:grid;gap:22px;max-width:1180px}
.pv .pvhero h1{color:#fff;font-size:var(--t-h1);font-weight:800;max-width:15ch;letter-spacing:-.01em}
.pv .pvhero h1 span{display:inline-block;opacity:0;transform:translateY(24px);animation:sube .8s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes sube{to{opacity:1;transform:none}}
.pv .lead{font-size:var(--t-lead);max-width:56ch;color:#e3f1f9;opacity:0;animation:sube .8s .7s forwards;transform:translateY(16px)}
.pv .ticket{display:inline-flex;align-items:baseline;gap:8px;font:600 17px var(--f-b);color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 16px;width:max-content;max-width:100%;opacity:0;animation:sube .8s .9s forwards}
.pv .ticket b{font:800 20px var(--f-d)}
.pv .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;opacity:0;animation:sube .8s 1.05s forwards}
.pv .cta{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:14px;color:#fff;text-decoration:none;font:700 18px var(--f-d);border:0;cursor:pointer;
  background:linear-gradient(110deg,#075f8d 0%,#0879b5 28%,#1ab5ed 52%,#0879b5 76%,#075f8d 100%);background-size:220% 100%;animation:vivo 5s ease-in-out infinite;box-shadow:0 12px 30px rgba(16,152,221,.35);transition:transform .25s}
.pv .cta:hover{transform:translateY(-2px)}
.pv .cta svg{width:20px;height:20px;transition:transform .3s}
.pv .cta:hover svg{transform:translateX(4px)}
@keyframes vivo{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.pv .tlink{color:#fff;font:600 17px var(--f-d);text-decoration:underline;text-underline-offset:6px;display:inline-flex;gap:8px;align-items:center}
.pv .tlink svg{width:18px;height:18px;animation:baja 1.6s ease-in-out infinite}
@keyframes baja{50%{transform:translateY(4px)}}
.pv .nums{margin-top:-70px;position:relative;z-index:2}
.pv .nums .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pv .num{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:26px 26px 24px;box-shadow:0 18px 44px rgba(8,42,61,.08)}
.pv .num strong{display:block;font:800 var(--t-num)/1 var(--f-d);color:var(--primary);font-variant-numeric:tabular-nums}
.pv .num strong em{font-style:normal;color:var(--sky)}
.pv .num span{display:block;margin-top:10px;font-size:var(--t-p);color:var(--ink);font-weight:500}
.pv .num small{display:block;margin-top:4px;font-size:var(--t-note);color:var(--body)}
@media (max-width:820px){.pv .nums .grid{grid-template-columns:1fr}
.pv .nums{margin-top:-50px}}
.pv section.blk{padding-block:96px 0}
.pv .head{display:grid;gap:12px;max-width:720px;margin-bottom:40px}
.pv .head h2{font-size:var(--t-h2)}
.pv .head p{font-size:var(--t-lead)}
.pv .steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pv .steps::before,.pv .steps::after{content:"";position:absolute;left:28px;right:28px;top:27px;height:3px;border-radius:3px;background:var(--line)}
.pv .steps::after{background:linear-gradient(90deg,var(--primary),var(--sky));transform:scaleX(0);transform-origin:left;transition:transform 2.2s cubic-bezier(.4,0,.2,1)}
.pv .steps.in::after{transform:scaleX(1)}
.pv .step{position:relative;z-index:1;display:grid;gap:10px;align-content:start}
.pv .dot{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:3px solid var(--line);color:var(--body);font:800 20px var(--f-d);transition:all .5s}
.pv .steps.in .step .dot{border-color:var(--sky);background:var(--sky);color:#fff;box-shadow:0 0 0 8px rgba(16,152,221,.14)}
.pv .steps.in .step:nth-child(2) .dot{transition-delay:.55s}
.pv .steps.in .step:nth-child(3) .dot{transition-delay:1.1s}
.pv .steps.in .step:nth-child(4) .dot{transition-delay:1.65s}
.pv .step h3{font-size:var(--t-h3)}
.pv .step p{font-size:var(--t-p)}
@media (max-width:820px){.pv .steps{grid-template-columns:1fr;gap:26px}
.pv .steps::before,.pv .steps::after{left:26px;right:auto;top:28px;bottom:28px;width:3px;height:auto}
.pv .steps::after{transform:scaleY(0);transform-origin:top}
.pv .steps.in::after{transform:scaleY(1)}
.pv .step{grid-template-columns:56px 1fr;column-gap:16px}
.pv .step p{grid-column:2}}
.pv .port{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.pv .port .copy{display:grid;gap:18px;min-width:0}
.pv .port .big{font:800 clamp(64px,8vw,110px)/.9 var(--f-d);color:var(--primary);font-variant-numeric:tabular-nums}
.pv .port .big small{display:block;font:700 var(--t-h3) var(--f-d);color:var(--ink);margin-top:10px}
.pv .mapw{position:relative;max-width:380px;justify-self:center;width:100%}
.pv .mapw::before{content:"";position:absolute;inset:8% 4%;background:radial-gradient(closest-side,rgba(16,152,221,.16),transparent 70%)}
.pv svg.mapa{position:relative;display:block;width:100%;height:auto;overflow:visible}
.pv svg.mapa .outline{fill:#e3edf3;stroke:#c8d8e2;stroke-width:1}
.pv svg.mapa .dep{fill:#e3edf3;stroke:#fff;stroke-width:1;transition:fill .6s,transform .4s;transform-box:fill-box;transform-origin:center}
.pv svg.mapa .dep.tgt{fill:#cfe0ea}
.pv svg.mapa .dep.tgt.on{fill:var(--primary);cursor:pointer}
.pv svg.mapa .dep.tgt.on:hover,.pv svg.mapa .dep.hl{fill:var(--sky)!important;transform:translateY(-3px);filter:drop-shadow(0 6px 8px rgba(8,76,110,.3))}
.pv .regs{display:grid;gap:14px}
.pv .regs h3{font:700 15px var(--f-d);color:var(--body);margin-bottom:6px}
.pv .dchips{display:flex;flex-wrap:wrap;gap:6px}
.pv .dchips button{font:600 15px var(--f-b);color:var(--primary);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer;transition:all .25s}
.pv .dchips button:hover,.pv .dchips button.hl{background:var(--sky);border-color:var(--sky);color:#fff}
@media (max-width:820px){.pv .port{grid-template-columns:1fr;gap:28px}}
.pv .cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:960px}
.pv .card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;display:grid;gap:14px;align-content:start;box-shadow:0 10px 30px rgba(8,42,61,.06);transition:transform .4s,box-shadow .4s}
.pv .card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(8,76,110,.14)}
.pv .ico{width:64px;height:64px;border-radius:18px;background:var(--tint);display:grid;place-items:center;color:var(--primary);transition:background .4s,color .4s}
.pv .card:hover .ico{background:var(--sky);color:#fff}
.pv .ico svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv .ico svg .draw{stroke-dasharray:120;stroke-dashoffset:120;transition:stroke-dashoffset 1.4s .2s ease}
.pv .rv.in .ico svg .draw{stroke-dashoffset:0}
.pv .card h3{font-size:var(--t-h3)}
.pv .card p{font-size:var(--t-p)}
.pv .card .tag{font:600 var(--t-note) var(--f-b);color:var(--primary);background:var(--tint);border-radius:999px;padding:4px 12px;width:max-content;max-width:100%}
@media (max-width:900px){.pv .cards{grid-template-columns:1fr}}
.pv .formblk{padding-block:96px}
.pv .formblk .wrap{max-width:860px}
.pv .fhead{display:grid;gap:12px;max-width:760px;margin-bottom:26px}
.pv .fhead h2{font-size:var(--t-h2)}
.pv .fhead p{font-size:var(--t-lead)}
.pv .fpts{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.pv .fpts li{display:flex;gap:8px;align-items:center;font-size:var(--t-note);color:var(--ink);font-weight:500}
.pv .fpts svg{width:18px;height:18px;color:var(--sky)}
.pv form{display:grid;gap:16px;max-width:1000px;min-width:0}
.pv .prog{display:grid;gap:8px}
.pv .prog-l{display:flex;justify-content:space-between;font:600 14px var(--f-b);color:var(--body)}
.pv .prog-l b{font:800 14px var(--f-d);color:var(--primary)}
.pv .prog-b{height:6px;border-radius:6px;background:#e3edf3;overflow:hidden}
.pv .prog-b i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--primary),var(--sky));border-radius:6px;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.pv .qs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pv .chips{width:max-content;max-width:100%}
.pv .q{display:grid;grid-template-columns:30px 1fr;grid-template-areas:"o t" "o c";column-gap:14px;row-gap:10px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 20px;min-width:0;transition:border-color .35s,box-shadow .35s}
.pv .q.wide{grid-column:1/-1}
.pv .q.full{grid-column:1/-1}
.pv .q.done{border-color:#bfe2f5;box-shadow:0 8px 22px rgba(16,152,221,.08)}
.pv .qo{grid-area:o;width:28px;height:28px;border-radius:50%;border:2px solid #c9d7e0;display:grid;place-items:center;color:#fff;margin-top:1px;transition:all .35s}
.pv .qo svg{width:16px;height:16px;opacity:0;transform:scale(.4);transition:all .35s}
.pv .q.done .qo{background:var(--sky);border-color:var(--sky)}
.pv .q.done .qo svg{opacity:1;transform:none}
.pv .qt{grid-area:t;display:grid;gap:2px;min-width:0;align-self:center}
.pv .qlab{font:500 var(--t-p)/1.35 var(--f-b);color:var(--ink)}
.pv .qlab em{font-style:normal;font:500 13px var(--f-b);color:var(--body);background:#eef4f8;border-radius:999px;padding:2px 9px;margin-left:6px;vertical-align:2px}
.pv .qt small{font-size:var(--t-note);color:var(--body)}
.pv .qc{grid-area:c;min-width:0}
.pv input,.pv textarea{font:400 17px var(--f-b);color:var(--ink);background:#f4f9fc;border:1px solid var(--line);border-radius:999px;padding:11px 18px;width:100%;min-width:0}
.pv textarea{border-radius:14px;min-height:84px;resize:vertical}
.pv .q.full textarea{min-width:min(560px,100%)}
.pv input:focus,.pv textarea:focus{outline:3px solid rgba(16,152,221,.25);border-color:var(--sky)}
.pv .chips{position:relative;display:flex;flex-wrap:wrap;gap:4px;background:#f4f9fc;border:1px solid var(--line);border-radius:999px;padding:4px}
.pv .chips input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;pointer-events:none}
.pv .chips label{font:600 16px var(--f-b);color:var(--ink);border-radius:999px;padding:8px 16px;cursor:pointer;transition:all .25s;white-space:nowrap}
.pv .chips label:hover{background:#e6f1f8}
.pv .chips input:checked+label{background:var(--primary);color:#fff}
.pv .chips input:focus-visible+label{outline:3px solid rgba(16,152,221,.35)}
.pv .send{display:grid;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 20px;transition:border-color .3s,box-shadow .3s}
.pv .send.ask{border-color:var(--sky);box-shadow:0 0 0 4px rgba(16,152,221,.18)}
.pv .consent{display:flex;gap:12px;align-items:flex-start;font:400 var(--t-note)/1.45 var(--f-b);color:var(--body);cursor:pointer}
.pv .consent input{width:20px;height:20px;flex:0 0 20px;margin-top:1px;padding:0;accent-color:var(--primary)}
.pv form .cta{justify-content:center;width:100%}
.pv .ok{display:none;background:var(--tint);color:var(--primary);border-radius:14px;padding:14px 18px;font:600 17px var(--f-b)}
.pv .ok.show{display:block}
@media (max-width:900px){.pv .qs{grid-template-columns:1fr}
.pv .q.full{grid-template-columns:30px minmax(0,1fr);grid-template-areas:"o t" "o c"}
.pv .q.full .qc{justify-self:stretch}
.pv .chips{border-radius:18px}
.pv .chips label{white-space:normal}}
.pv .rv{opacity:.001;transform:translateY(36px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
.pv .rv.in{opacity:1;transform:none}
.pv .cards .rv:nth-child(2){transition-delay:.12s}
.pv .cards .rv:nth-child(3){transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.pv *,.pv *::before,.pv *::after{animation:none!important;transition:none!important}
.pv .rv{opacity:1;transform:none}
.pv .pvhero h1 span,.pv .lead,.pv .ticket,.pv .ctas{opacity:1;transform:none}}
.pv p,.pv li{font-family:var(--f-b)!important;font-size:var(--t-p)!important;font-weight:400!important;line-height:1.6!important;color:var(--body)!important}
.pv p strong,.pv li strong{font-weight:600;color:inherit}
.pv .lead,.pv .head p,.pv .fhead p,.pv .com .copy>p:first-of-type{font-size:var(--t-lead)!important}
.pv .pvhero .lead{color:#e3f1f9!important}
.pv .src,.pv .tl small,.pv .stt small,.pv .regla small,.pv .qt small,.pv .consent span{font-family:var(--f-b)!important;font-size:var(--t-note)!important;font-weight:400!important;color:var(--body)!important;background:none!important;padding:0!important;border-radius:0!important}
.pv .tag{font:600 14px var(--f-b)!important}
.pv .spanel p,.pv .spanel li,.pv .hacemos li{color:#e3f1f9!important}
.pv .spanel .tag{color:#fff!important}
.pv .pvhero .ticket{background:none!important;border:0!important;padding:0!important;border-radius:0!important;color:#fff!important;font:500 var(--t-lead)/1.4 var(--f-b)!important}
.pv .pvhero .ticket b{font:800 clamp(24px,2.4vw,30px) var(--f-d);color:#54c1f3;margin-left:6px}
body.pv-page{background:#f4f9fc}
.pv{position:relative;display:block}
.pv>section{position:relative;z-index:1}
.pv .sky{z-index:0}
.pv .pvhero{padding-block:170px 120px}
@media (max-width:640px){.pv .pvhero{padding-block:130px 100px}}
.pv .form-err{color:#9a3b1c}
.pv .num strong{display:block!important;font:800 var(--t-num)/1 var(--f-d)!important;color:var(--primary)!important}
.pv .num strong span{display:inline!important;font:inherit!important;color:inherit!important;margin:0!important}
/* v59.1 — hero más compacto y foto con su color real a la derecha */
.pv .pvhero{padding-block:120px 72px}
.pv .pvhero::after{background:linear-gradient(100deg,rgba(6,38,56,.92) 0%,rgba(8,76,110,.78) 32%,rgba(8,76,110,.25) 58%,rgba(8,76,110,0) 75%)}
@media (max-width:820px){.pv .pvhero{padding-block:110px 64px}.pv .pvhero::after{background:linear-gradient(180deg,rgba(6,38,56,.55) 0%,rgba(8,76,110,.82) 45%,rgba(8,76,110,.88) 100%)}}
.pv .pvhero{padding-bottom:110px}
@media (max-width:820px){.pv .pvhero{padding-bottom:90px}}

.pv .pvhero{min-height:0}
.pv .pvhero{padding-block:150px 76px}
@media (max-width:820px){.pv .pvhero{padding-block:125px 64px}}
.pv .pvhero{padding-bottom:112px}
@media (max-width:820px){.pv .pvhero{padding-bottom:92px}}
/* v59.2 — mismas proporciones del hero de la home */
.pv .pvhero{min-height:86vh;display:flex;align-items:center;padding-block:125px 136px!important}
.pv .pvhero>.wrap{width:min(1180px,100%)}
@media (max-width:820px){.pv .pvhero{min-height:88vh;padding-block:115px 152px!important}}
/* v59.3 — mismas proporciones del hero de Terrenos */
.pv .pvhero{min-height:0!important;display:block;padding-block:136px 80px!important}
@media (max-width:820px){.pv .pvhero{min-height:0!important;padding-block:136px 48px!important}}
.pv .pvhero{padding-bottom:120px!important}
.pv .nums{margin-top:-44px!important}
@media (max-width:820px){.pv .pvhero{padding-bottom:84px!important}.pv .nums{margin-top:-36px!important}}
/* Nombre del departamento sobre el mapa */
.pv .map-tip{position:absolute;z-index:5;left:0;top:0;transform:translate(-50%,calc(-100% - 12px));background:var(--primary,#0b4a6b);color:#fff;font:700 14px/1 var(--f-d);padding:8px 12px;border-radius:999px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;box-shadow:0 8px 20px rgba(8,42,61,.22)}
.pv .map-tip::after{content:"";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:inherit;transform:translateX(-50%) rotate(45deg);border-radius:2px}
.pv .map-tip.show{opacity:1}
.pv svg.mapa .dep.tgt:focus{outline:none}
