/* v59 — Perspectiva, Ordenamiento, Entrevista y Legal (patrón .pv) */
.pv{
  --primary:#084C6E; --sky:#1098dd; --sky-l:#54c1f3; --ink:#0b2c3e; --body:#4c5b64; --muted:#7e8d95; --line:#dce7ee; --bg:#f4f9fc; --card:#ffffff; --tint:#e6f2fa;
  --f-d:'Exo',system-ui,sans-serif; --f-b:'Hind Madurai',system-ui,sans-serif;
  --t-h1:56px; --t-h2:clamp(28px,2.7vw,38px); --t-sub:28px; --t-lead:20px; --t-h3:22px; --t-p:18px; --t-note:15px; --t-tag:14px; --t-btn:18px;
  position:relative;display:block;overflow-x:clip
}
@media (max-width:640px){.pv{--t-h1:36px;--t-sub:24px;--t-lead:18.5px;--t-h3:20px;--t-p:17px;--t-note:14.5px}}
body.pv-page{background:#f4f9fc}
.pv>section{position:relative;z-index:1}
.pv h1,.pv h2,.pv h3{font-family:var(--f-d);color:var(--primary);margin:0;text-wrap:balance;line-height:1.15;font-weight:700}
.pv p{margin:0;font-family:var(--f-b);font-size:var(--t-p);line-height:1.6;color:var(--body)}
.pv .wrap{width:min(1180px,100%);margin-inline:auto;padding-inline:24px}
@media (max-width:640px){.pv .wrap{padding-inline:16px}}

/* Cielo de fondo */
.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)}}

/* Hero (proporciones de Terrenos) */
.pv .pvhero{position:relative;color:#fff;padding-block:136px 80px;overflow:hidden;background:var(--ink)}
.pv .pvhero-bg{position:absolute;inset:0;background:center 55%/cover no-repeat;animation:zoom 22s ease-out both;transform-origin:70% 30%}
@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,.9) 0%,rgba(8,76,110,.72) 32%,rgba(8,76,110,.2) 58%,rgba(8,76,110,0) 75%)}
.pv .pvhero .wrap{position:relative;z-index:1;display:grid;gap:22px}
.pv .pvhero h1{color:#fff;font-size:var(--t-h1);font-weight:800;line-height:1.08;letter-spacing:-.01em;max-width:17ch}
.pv .pvhero .lead{font-size:var(--t-lead);line-height:1.5;max-width:56ch;color:#e3f1f9}
.pv .pvhero.compact{padding-block:136px 64px}
@media (max-width:820px){.pv .pvhero{padding-block:120px 56px}
.pv .pvhero::after{background:linear-gradient(180deg,rgba(6,38,56,.5) 0%,rgba(8,76,110,.82) 50%,rgba(8,76,110,.88) 100%)}}
.pg-perspectiva .pvhero-bg{background-image:url(../assets/img/perspectiva-predio-rural.jpg)}
.pg-ordenamiento .pvhero-bg{background-image:url(../assets/img/blog-territorio.jpg)}
.pg-entrevista .pvhero-bg{background-image:url(../assets/img/blog-conexion.jpg);background-position:center 40%}
.pg-legal .pvhero-bg{background-image:url(../assets/img/legal-bogota.jpg);background-position:center 62%}

/* Secciones */
.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)}

/* Botón principal y enlace */
.pv .cta{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:14px;color:#fff;text-decoration:none;font:700 var(--t-btn) var(--f-d);border:0;cursor:pointer;width:max-content;max-width:100%;
  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 .3s}
.pv .cta:hover{transform:translateY(-2px)}
.pv .cta svg,.pv .plink svg{width:20px;height:20px;transition:transform .3s;flex:0 0 auto}
.pv .cta:hover svg,.pv .plink:hover svg{transform:translateX(4px)}
@keyframes vivo{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.pv .plink{display:inline-flex;align-items:center;gap:10px;font:700 var(--t-btn) var(--f-d);color:var(--primary);text-decoration:none}
.pv .plink:hover{color:var(--sky)}
.pv .back{display:inline-flex;align-items:center;gap:8px;font:600 var(--t-note) var(--f-d);color:var(--primary);text-decoration:none;margin-bottom:28px}
.pv .back svg{width:18px;height:18px}
.pv .back:hover{color:var(--sky)}

/* Tarjetas de lectura */
.pv .reads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.pv .read{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;box-shadow:0 10px 30px rgba(8,42,61,.06);text-decoration:none;transition:transform .4s,box-shadow .4s}
.pv .read:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(8,76,110,.14)}
.pv .read figure{margin:0;position:relative;aspect-ratio:16/9;overflow:hidden}
.pv .read img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.pv .read:hover img{transform:scale(1.05)}
.pv .tag{position:absolute;left:18px;bottom:16px;font:600 var(--t-tag) var(--f-b);color:#fff;background:rgba(6,38,56,.72);backdrop-filter:blur(6px);border-radius:999px;padding:5px 12px}
.pv .read .rb{padding:28px;display:grid;gap:12px;align-content:start}
.pv .read h3{font-size:var(--t-h3)}
.pv .read .meta{font-size:var(--t-note);color:var(--muted)}
.pv .read .plink{margin-top:6px}
@media (max-width:860px){.pv .reads{grid-template-columns:1fr}}

/* Artículo */
.pv .art{display:grid;grid-template-columns:minmax(0,720px) 280px;gap:64px;align-items:start;justify-content:space-between}
.pv .art-body{display:grid;gap:20px}
.pv .art-body h2{font-size:var(--t-sub);margin-top:28px}
.pv .art-body p.intro{font-size:var(--t-lead);color:var(--ink)}
.pv .art-body .disc{font-size:var(--t-note);color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:12px}
.pv .toc{position:sticky;top:110px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px 24px;display:grid;gap:12px}
.pv .toc b{font:700 var(--t-note) var(--f-d);color:var(--ink)}
.pv .toc ol{margin:0;padding:0;list-style:none;display:grid;gap:8px;counter-reset:t}
.pv .toc a{font:500 var(--t-note)/1.4 var(--f-b);color:var(--body);text-decoration:none;display:grid;grid-template-columns:22px 1fr}
.pv .toc a::before{counter-increment:t;content:counter(t);font:700 13px var(--f-d);color:var(--sky);padding-top:1px}
.pv .toc a:hover,.pv .toc a.on{color:var(--primary)}
.pv .toc .meta{font-size:var(--t-note);color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
@media (max-width:980px){.pv .art{grid-template-columns:1fr;gap:32px}.pv .toc{display:none}}

/* Entrevista */
.pv .note{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:36px;display:grid;gap:18px;max-width:820px;box-shadow:0 10px 30px rgba(8,42,61,.06)}
.pv .note .src{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pv .note .src span{font:600 var(--t-tag) var(--f-b);color:var(--primary);background:var(--tint);border-radius:999px;padding:5px 12px}
.pv .note .src small{font-size:var(--t-note);color:var(--muted)}
.pv .temas{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.pv .temas li{display:grid;grid-template-columns:22px 1fr;gap:10px;font:400 var(--t-p)/1.55 var(--f-b);color:var(--ink)}
.pv .temas svg{width:20px;height:20px;color:var(--sky);margin-top:4px}
@media (max-width:640px){.pv .note{padding:24px}}

/* Legal */
.pv .docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pv .doc{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:border-color .4s,box-shadow .4s}
.pv .doc:target{border-color:var(--sky);box-shadow:0 0 0 4px rgba(16,152,221,.16)}
.pv .ico{width:56px;height:56px;border-radius:16px;background:var(--tint);display:grid;place-items:center;color:var(--primary)}
.pv .ico svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pv .doc h3{font-size:var(--t-h3)}
.pv .doc .st{font:600 var(--t-tag) var(--f-b);color:var(--primary);background:var(--tint);border-radius:999px;padding:4px 12px;width:max-content}
.pv .doc .plink{margin-top:4px}
.pv .help{margin-top:28px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px 28px;display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between}
.pv .help p{color:var(--ink)}
.pv .help a{font:700 var(--t-p) var(--f-d);color:var(--primary);text-decoration:none;word-break:break-word}
@media (max-width:980px){.pv .docs{grid-template-columns:1fr}}

/* Cierre */
.pv .endcta{padding-bottom:96px}
.pv .band{background:linear-gradient(120deg,#084C6E,#0a6a9a);border-radius:28px;padding:44px;color:#fff;display:grid;gap:14px;text-align:center;justify-items:center}
.pv .band h2{color:#fff;font-size:var(--t-h2)}
.pv .band p{color:#e3f1f9;font-size:var(--t-lead)}
.pv .routes{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:10px}
.pv .routes a{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;font:700 var(--t-btn) var(--f-d);text-decoration:none;transition:background .3s,transform .3s}
.pv .routes a:hover{background:#fff;color:var(--primary);transform:translateY(-2px)}
.pv .routes svg{width:18px;height:18px}
@media (max-width:900px){.pv .band{padding:30px 20px}}

/* Aparición */
.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 .reads .rv:nth-child(2),.pv .docs .rv:nth-child(2){transition-delay:.12s}
.pv .docs .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}}
/* Alinear pie de tarjetas */
.pv .read .rb,.pv .doc{display:flex;flex-direction:column;gap:12px}
.pv .read .meta{margin-top:auto;padding-top:4px}
.pv .doc .st{margin-top:auto}
.pv .doc>*{flex:0 0 auto}
/* Legal: documentos en PDF */
.pv .doc .acts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:auto}
.pv .dl{display:inline-flex;align-items:center;gap:8px;font:700 var(--t-btn) var(--f-d);color:var(--sky);text-decoration:none}
.pv .dl svg{width:20px;height:20px}
.pv .dl:hover{color:var(--primary)}
.pv .acts .sz{flex-basis:100%;font-size:var(--t-note);color:var(--muted)}
.pv .years{list-style:none;margin:auto 0 0;padding:0;display:grid;gap:0}
.pv .years li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:12px 0;border-top:1px solid var(--line)}
.pv .years li:last-child{border-bottom:1px solid var(--line)}
.pv .years b{font:700 var(--t-h3) var(--f-d);color:var(--ink);min-width:64px}
.pv .years .plink,.pv .years .dl{font-size:16px}
.pv .years small{font-size:var(--t-note);color:var(--muted);margin-left:auto}

.pv .doc .cnt{font-size:var(--t-note);line-height:1.5;color:var(--body);border-top:1px solid var(--line);padding-top:14px}
.pv .doc .cnt a{color:var(--primary);font-weight:600;text-decoration:none;word-break:break-word}
.pv .doc .cnt a:hover{color:var(--sky)}
