/* ============================================================
   ERMI · Landing conversacional
   EICH Studio · Septiembre 2026
   ============================================================ */

@font-face{font-family:'Aloevera';src:url('../fonts/AloeveraDisplay-Light.woff2') format('woff2');font-weight:300;font-display:swap}
@font-face{font-family:'Aloevera';src:url('../fonts/AloeveraDisplay-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Aloevera';src:url('../fonts/AloeveraDisplay-Medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Aloevera';src:url('../fonts/AloeveraDisplay-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Aloevera';src:url('../fonts/AloeveraDisplay-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Dacht';src:url('../fonts/Dacht.woff2') format('woff2');font-weight:400;font-display:swap}

:root{
  --lima:#C1EF52; --violeta:#B76BEC; --bosque:#033021; --noche:#001902;
  --crema:#F5F9EB; --blanco:#FDFDFE;
  --ink:#033021; --ink-soft:rgba(3,48,33,.66); --ink-faint:rgba(3,48,33,.42);
  --on-dark:#F5F9EB; --on-dark-soft:rgba(245,249,235,.60); --on-dark-faint:rgba(245,249,235,.36);
  --r-sm:10px; --r-md:16px; --r-lg:24px; --r-xl:32px; --r-block:40px; --r-full:999px;
  --sh-composer:0 18px 50px -18px rgba(3,48,33,.34);
  --sh-float:0 12px 36px -12px rgba(3,48,33,.20);
  --sh-soft:0 4px 16px rgba(3,48,33,.07);
  --pad:76px; --max:1240px; --gutter:20px;
  --ease:cubic-bezier(.22,.75,.24,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
body{font-family:'Aloevera',system-ui,-apple-system,sans-serif;background:var(--crema);color:var(--ink);
  font-weight:400;line-height:1.5;overflow-x:hidden;position:relative}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input{font-family:inherit}
::selection{background:var(--lima);color:var(--noche)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.lbl{font-family:'Dacht',monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;line-height:1.45}
h1,h2,h3{font-weight:500;letter-spacing:-.024em;line-height:1.06}
h1{font-size:clamp(34px,5.2vw,62px)}
h2{font-size:clamp(30px,4.2vw,50px)}
h3{font-size:clamp(21px,2vw,26px);line-height:1.15;letter-spacing:-.016em}
p{font-size:17px;line-height:1.58;color:var(--ink-soft)}
.on-dark p{color:var(--on-dark-soft)}

/* ---------- el hilo ----------
   UN SOLO trazo para toda la página. Vive dentro de .layer, por encima de
   los fondos de las secciones y por debajo de todo el contenido. Antes se
   dibujaba una copia dentro de cada sección de color y ahí era donde se
   cortaba y se movía al cambiar de fondo: ya no hay copias.               */
.layer{position:relative;z-index:0}                    /* contexto de apilado */
#thread{position:absolute;top:0;left:0;width:100%;z-index:1;pointer-events:none;overflow:visible}
/* todo el contenido va por encima del hilo */
.wrap,.hero-in,.topbar,.nav,.phead-dark .in{position:relative;z-index:2}

#thread .line{fill:none;stroke:var(--lima);stroke-width:3.4;stroke-linecap:round;
  stroke-linejoin:round;opacity:.92}
/* el riel tenue va sobre fondo crema Y sobre fondo bosque: color neutro */
#thread .line-bg{fill:none;stroke:rgba(120,145,105,.22);stroke-width:3.4;stroke-linecap:round;
  stroke-linejoin:round}
#thread .node{fill:var(--lima);opacity:0;transition:opacity .5s var(--ease)}
#thread .ring{fill:none;stroke:var(--lima);stroke-width:1.4;opacity:0;transition:opacity .5s var(--ease)}
#thread .ring.on{opacity:.45}
#thread .node.on{opacity:1;filter:drop-shadow(0 0 5px rgba(193,239,82,.85))}
#thread .burst{fill:none;stroke:var(--lima);stroke-width:2;opacity:0;
  transform-box:fill-box;transform-origin:center}
#thread .burst.go{animation:destello .9s var(--ease) forwards}
@keyframes destello{
  0%{opacity:.95;transform:scale(.35)}
  70%{opacity:.28}
  100%{opacity:0;transform:scale(3.4)}
}
#thread .head{fill:var(--lima);opacity:0;filter:drop-shadow(0 0 6px rgba(193,239,82,.7))}
#thread .head.on{opacity:1}

/* ---------- bloques oscuros redondeados ---------- */
.block{background:var(--bosque);color:var(--on-dark);border-radius:var(--r-block);position:relative;overflow:hidden}
.block h1,.block h2,.block h3{color:var(--crema)}
.blockwrap{padding:var(--gutter) var(--gutter) 0}

/* ---------- hero ---------- */
.hero{padding:64px var(--pad) 92px;text-align:center;min-height:520px;display:flex;flex-direction:column}
.hero .tz{position:absolute;pointer-events:none}
.hero .tz1{width:520px;left:-90px;top:-60px;opacity:.14}
.hero .tz2{width:600px;right:-120px;bottom:-140px;opacity:.12}
.topbar{display:flex;align-items:center;justify-content:space-between;position:absolute;top:26px;left:34px;right:34px;z-index:3}
.topbar .mark{width:82px}
.topbar .lnk{color:var(--on-dark-soft);font-size:15px;transition:color .2s}
.topbar .lnk:hover{color:var(--lima)}
.hero-in{position:relative;z-index:2;margin:auto;width:100%;max-width:760px;padding-top:44px}
.hero h1{margin:0 auto 18px}
.hero h1 em{font-style:normal;color:var(--lima)}
.hero .sub{font-size:18px;color:var(--on-dark-soft);margin:0 auto 34px;max-width:44ch}
.hero .micro{margin-top:20px;color:var(--on-dark-faint)}

/* ---------- composer ---------- */
.composer{background:var(--blanco);border-radius:var(--r-lg);box-shadow:var(--sh-composer);
  padding:16px;max-width:520px;margin:0 auto;text-align:left}
.composer .row{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.composer .av{width:38px;height:38px;border-radius:var(--r-full);background:var(--noche);flex:0 0 38px;
  display:flex;align-items:center;justify-content:center;overflow:hidden}
.composer .av img{width:41px;transform:translateY(2px)}
.composer .field{flex:1;min-width:0;position:relative;height:46px;padding-top:3px;overflow:hidden}
.composer textarea{width:100%;height:46px;border:0;outline:0;background:transparent;font-size:15.5px;
  line-height:1.42;color:var(--ink);padding:0;resize:none;overflow:hidden;font-family:inherit;display:block}
.composer textarea::placeholder{color:var(--ink-faint)}
.composer .ghost{position:absolute;left:0;right:0;top:3px;bottom:0;font-size:15.5px;line-height:1.42;
  color:var(--ink-faint);pointer-events:none;overflow:hidden}
.composer .caret{display:inline-block;width:2px;height:15px;background:var(--lima);vertical-align:-2px;
  margin-left:1px;animation:blink 1.1s steps(1,end) infinite}
@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--r-full);
  font-weight:600;font-size:16px;padding:14px 26px;border:0;cursor:pointer;transition:transform .18s var(--ease),filter .18s}
.btn-lima{background:var(--lima);color:var(--noche)}
.btn:hover{filter:brightness(1.04)}
.btn:active{transform:translateY(1px)}
.btn-full{width:100%}
.btn svg{width:17px;height:17px;flex:0 0 17px}

/* ---------- secciones ---------- */
.sec{padding:92px 0}
.sec-head{max-width:660px;margin-bottom:44px}
.kick{color:var(--ink-faint);margin-bottom:16px}
.on-dark .kick{color:rgba(193,239,82,.78)}
.sec-head h2{margin-bottom:14px}

/* ---------- entiende ---------- */
.entiende{display:grid;grid-template-columns:1fr 58px 1fr;align-items:center;gap:0}
.bub-v{background:var(--violeta);color:var(--noche);border-radius:var(--r-lg);padding:28px 30px;
  font-size:20px;line-height:1.42}
.bub-v .lbl{color:rgba(0,25,2,.55);margin-bottom:14px}
.tag{display:inline-block;background:var(--blanco);border-radius:8px;padding:1px 8px;margin:0 1px;
  box-shadow:0 1px 4px rgba(0,25,2,.14)}
.tag.l{background:var(--lima)}
.arrow{width:44px;height:44px;border-radius:var(--r-full);background:var(--lima);color:var(--noche);
  display:flex;align-items:center;justify-content:center;margin:0 auto;font-size:19px;font-weight:600}
.arrow i{font-style:normal;display:block;line-height:1;transition:transform .3s var(--ease)}
.plan .lbl{color:var(--ink-faint);margin-bottom:14px}
.plan .t{font-size:20px;line-height:1.42;color:var(--ink)}
.plan .zonas{margin-top:18px;color:var(--ink-faint)}

/* ---------- chat ---------- */
.split{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;align-items:center}
.chat{background:var(--blanco);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-float)}
.chat > .lbl{color:var(--ink-faint);margin-bottom:18px}
.bub{border-radius:var(--r-md);padding:16px 20px;font-size:16px;line-height:1.46;max-width:92%;margin-bottom:12px}
.bub .lbl{margin-bottom:7px;opacity:.6}
.bub-e{background:var(--lima);color:var(--noche)}
.bub-u{background:var(--noche);color:var(--crema);margin-left:auto}
.bub:last-child{margin-bottom:0}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fcard{border-radius:var(--r-lg);padding:30px 28px 34px;min-height:236px;display:flex;flex-direction:column;position:relative}
.fcard h3{margin:22px 0 12px}
.fcard p{font-size:16px}
.fcard .dot{position:static;display:block;width:10px;height:10px;border-radius:var(--r-full)}
.f-lima{background:var(--lima);color:var(--noche)}
.f-lima p,.f-lima .lbl{color:rgba(0,25,2,.7)} .f-lima .dot{background:var(--violeta)}
.f-blanco{background:var(--blanco);color:var(--ink);box-shadow:var(--sh-soft)}
.f-blanco .lbl{color:var(--ink-faint)} .f-blanco .dot{background:var(--lima)}
.f-noche{background:var(--noche);color:var(--crema)}
.f-noche p{color:var(--on-dark-soft)} .f-noche .lbl{color:rgba(193,239,82,.75)} .f-noche .dot{background:var(--lima)}

/* ---------- ciudades ---------- */
.ciudades{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:center}
.city{position:relative;border-radius:var(--r-xl);overflow:hidden;background:var(--bosque);
  display:flex;align-items:flex-end;padding:22px}
.city.c1{aspect-ratio:4/3.35}
.city.c2{aspect-ratio:4/3.85}
.city.c3{aspect-ratio:4/3.35}
.city img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.city .veil{position:absolute;inset:0;background:linear-gradient(transparent 34%,rgba(0,25,2,.78))}
.city .nm{position:relative;z-index:2;font-size:clamp(22px,2.4vw,29px);font-weight:500;letter-spacing:-.018em;color:var(--crema)}
.city .badge{position:absolute;top:16px;right:16px;z-index:2;border-radius:var(--r-full);padding:7px 14px}
.badge-on{background:var(--lima);color:var(--noche)}
.badge-soon{background:var(--blanco);color:var(--noche);box-shadow:0 2px 10px rgba(0,25,2,.18)}
.city.soon{background:var(--noche);border:1px solid rgba(245,249,235,.14)}
.city.soon .tz{position:absolute;width:76%;left:50%;top:46%;transform:translate(-50%,-50%);opacity:.18}

/* ---------- precios ---------- */
.precios{background:var(--bosque);border-radius:var(--r-lg);padding:44px 46px 38px;position:relative;overflow:hidden}
.precios .tz{position:absolute;width:420px;right:-80px;bottom:-120px;opacity:.10}
.planes{display:grid;grid-template-columns:1fr 1fr;gap:40px;position:relative;z-index:2}
.plancol .lbl{color:rgba(245,249,235,.5);margin-bottom:16px}
.plancol .amt{display:flex;align-items:baseline;gap:10px}
.plancol .big{font-size:clamp(42px,5vw,58px);font-weight:600;letter-spacing:-.035em;line-height:1;color:var(--crema)}
.plancol .per{font-size:16px;color:var(--on-dark-soft)}
.plancol .sub{margin-top:10px}
.plancol .sub{margin-top:12px;color:var(--on-dark-faint)}
.riel{position:relative;height:1.5px;background:rgba(245,249,235,.42);border-radius:2px;margin-top:34px;z-index:2}
.riel span{position:absolute;top:50%;width:9px;height:9px;border-radius:999px;transform:translate(-50%,-50%)}
.riel .n1{left:0;background:var(--lima)}
.riel .n2{left:50%;background:var(--violeta)}
.sincard{background:var(--blanco);border-radius:var(--r-lg);padding:28px 32px;margin-top:20px;
  display:grid;grid-template-columns:.7fr 1.3fr;gap:36px;align-items:center;box-shadow:var(--sh-soft)}
.sincard h3{font-size:clamp(21px,2.4vw,27px)}
.sincard p strong{color:var(--ink);font-weight:600}
.sincard .soft{color:var(--ink-faint)}

/* ---------- humano ---------- */
.humano{display:grid;grid-template-columns:230px 1fr;gap:44px;align-items:center}
.humano .mas{width:210px;margin:0 auto}
.humano p{font-size:18px;max-width:52ch}

/* ---------- propietarios ---------- */
.owner{background:var(--blanco);border-radius:var(--r-lg);padding:44px 46px;display:grid;
  grid-template-columns:1fr 1fr;gap:56px;align-items:center;box-shadow:var(--sh-soft)}
.owner h3{font-size:clamp(22px,2.4vw,30px)}
.owner .link{color:var(--violeta);font-weight:600;font-size:16px;margin-top:14px;display:inline-block}
.owner .link:hover{text-decoration:underline}

/* ---------- faq ---------- */
.faq{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}
/* Tarjetas informativas: pregunta y respuesta siempre a la vista.
   No se expanden — al abrirse cambiaban el alto de la página y el hilo
   quedaba a destiempo con el scroll. */
.qrow{border-top:1px solid rgba(3,48,33,.14);padding:22px 0}
.qrow:last-child{border-bottom:1px solid rgba(3,48,33,.14)}
.qq{font-size:19px;line-height:1.3;font-weight:500;letter-spacing:-.012em;color:var(--ink)}
.aa{font-size:16px;line-height:1.6;color:var(--ink-soft);max-width:62ch;margin-top:10px}

/* ---------- cierre ---------- */
.cierre{padding:92px var(--pad) 0;text-align:center}
.cierre .tz{position:absolute;pointer-events:none}
.cierre .tz1{width:560px;left:-110px;top:-40px;opacity:.13}
.cierre h2{max-width:16ch;margin:0 auto 32px}
.cierre .composer{text-align:left}
.cierre .micro{margin-top:18px;color:var(--on-dark-faint)}

/* ---------- footer ---------- */
.foot{margin-top:96px;border-top:1px solid rgba(245,249,235,.14);padding:52px 0 40px;text-align:left;
  position:relative;z-index:2}
.foot-in{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:36px}
.foot .mark{width:96px;margin-bottom:12px}
.foot .fits{color:var(--lima);margin-bottom:16px}
.foot p{font-size:15px;color:var(--on-dark-soft);max-width:32ch}
.fcol .lbl{color:rgba(193,239,82,.8);margin-bottom:16px}
.fcol a{display:block;font-size:15px;color:var(--on-dark-soft);padding:6px 0;transition:color .2s}
.fcol a:hover{color:var(--lima)}
.foot-bot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:52px;
  padding-top:22px;border-top:1px solid rgba(245,249,235,.14)}
.foot-bot .lbl{color:var(--on-dark-faint)}
.foot-bot img{width:52px;opacity:.85}


/* ---------- sección oscura a página completa ---------- */
.sec-dark{background:var(--bosque);color:var(--on-dark)}
.sec-dark h1,.sec-dark h2,.sec-dark h3{color:var(--crema)}
.sec-dark p{color:var(--on-dark-soft)}
.sec-dark .kick{color:rgba(193,239,82,.78)}

/* ---------- banda violeta ---------- */
.banda{background:var(--violeta);color:var(--noche);padding:96px 0}
.banda .kick{color:rgba(0,25,2,.55)}
.banda h2{color:var(--noche);max-width:15ch;margin-bottom:16px}
.banda p{color:rgba(0,25,2,.82);max-width:56ch}
.quote{background:var(--lima);border-radius:var(--r-lg);padding:32px 36px;margin-top:38px;max-width:860px}
.quote .lbl{color:rgba(0,25,2,.55);margin-bottom:12px}
.quote .q{font-size:clamp(22px,3vw,33px);line-height:1.16;letter-spacing:-.02em;color:var(--noche);font-weight:500}

/* ---------- prompt chips ---------- */
.chips{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin:20px auto 0;max-width:560px}
.chip{background:rgba(245,249,235,.10);border:1px solid rgba(245,249,235,.20);color:var(--crema);
  border-radius:var(--r-full);padding:9px 14px 9px 15px;cursor:pointer;transition:all .2s var(--ease);
  font-family:inherit;display:inline-flex;align-items:center;gap:8px}
.chip svg{width:11px;height:11px;flex:0 0 11px;transition:transform .2s var(--ease)}
.chip:hover svg{transform:translateX(2px)}
.chip:hover{background:var(--lima);border-color:var(--lima);color:var(--noche)}

/* ---------- fila de criterio ---------- */
.zona{display:flex;align-items:baseline;gap:11px;margin-top:20px;font-size:17px;color:var(--ink-soft)}
.zona .pt{width:8px;height:8px;border-radius:999px;background:var(--lima);flex:0 0 8px;transform:translateY(-1px)}

/* ---------- tarjeta de depa dentro del chat ---------- */
.listing{display:flex;gap:14px;align-items:center;background:var(--crema);border-radius:var(--r-md);
  padding:11px;max-width:92%}
.listing img{width:98px;height:74px;object-fit:cover;border-radius:var(--r-sm);flex:0 0 98px}
.listing .badge-m{display:inline-block;background:var(--lima);color:var(--noche);border-radius:var(--r-full);
  padding:4px 10px;margin-bottom:7px}
.listing .pr{font-size:20px;font-weight:600;color:var(--ink);line-height:1;letter-spacing:-.02em}
.listing .pr span{color:var(--ink-faint)}
.listing .mt{color:var(--ink-faint);margin-top:6px}
.bub-e .who{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.bub-e .who .mini-av{width:22px;height:22px;border-radius:var(--r-full);background:var(--noche);
  flex:0 0 22px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bub-e .who .mini-av img{width:24px;transform:translateY(1px)}
.bub-e .who .lbl{margin:0;opacity:.6}

/* ---------- Ermi en el cierre ---------- */
.cierre-cta{position:relative}
.ermi-walk{position:absolute;right:0;bottom:-16px;width:132px;z-index:2;pointer-events:none}

/* ---------- scrollytelling ---------- */
.rv{opacity:0;transform:translateY(16px);transition:opacity .62s var(--ease),transform .62s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s} .rv-d2{transition-delay:.16s} .rv-d3{transition-delay:.24s}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  .composer .caret{animation:none}
  #thread .node{opacity:1}
}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .split,.humano,.faq,.sincard,.owner{grid-template-columns:1fr;gap:30px}
  .cards,.ciudades{grid-template-columns:1fr 1fr}
  .entiende{grid-template-columns:1fr;gap:16px}
  .arrow i{transform:rotate(90deg)}
  .humano .mas{width:160px;margin:0}
  .foot-in{grid-template-columns:1fr 1fr;gap:30px}
}
@media (max-width:640px){
  :root{--pad:22px;--gutter:12px;--r-block:28px}
  /* en móvil el hilo cruza sobre párrafos: se afina para no pelear con el texto */
  #thread .line{stroke-width:2.6;opacity:.6}
  #thread .ring{display:none}
  .sec{padding:64px 0}
  .sec-head{margin-bottom:30px}
  p{font-size:16px}
  .hero{padding:52px var(--pad) 62px;min-height:0}
  .hero-in{padding-top:52px;max-width:none}
  .topbar{top:20px;left:20px;right:20px}
  .topbar .mark{width:70px}
  .topbar .lnk{font-size:13px}
  .hero .sub{font-size:16px;margin-bottom:26px}
  .composer{max-width:none;padding:14px}
  .composer .field{height:68px}
  .composer textarea{height:68px}
  .cards,.ciudades{grid-template-columns:1fr}
  .fcard{min-height:0;padding:26px 24px 30px}
  .fcard h3{margin-top:30px}
  .bub-v{font-size:17px;padding:22px 24px}
  .plan .t{font-size:17px}
  .precios{padding:30px 26px}
  .planes{grid-template-columns:1fr;gap:28px}
  .sincard,.owner{padding:26px 24px}
  .city.c1,.city.c2,.city.c3{aspect-ratio:16/10}
  .qq{font-size:17px}
  .banda{padding:60px 0}
  .quote{padding:24px 22px;margin-top:26px}
  .chips{gap:7px}
  .chip{font-size:10px;padding:8px 12px}
  .listing{flex-direction:column;align-items:flex-start;max-width:none}
  .listing img{width:100%;height:130px;flex:none}
  .crow{flex-direction:column;align-items:flex-start;gap:6px}
  .crow .v{text-align:left}
  .ermi-walk{position:static;margin:28px auto 0;width:112px}
  .cierre{padding:62px var(--pad) 0}
  .foot{margin-top:56px;padding-top:38px}
  .foot-in{grid-template-columns:1fr;gap:26px}
  .foot-bot{flex-direction:column;align-items:flex-start;gap:16px}
}


/* ════════════════════════════════════════════════
   PÁGINAS INTERIORES
   ════════════════════════════════════════════════ */

/* barra superior clara */
.nav{position:sticky;top:0;z-index:20;background:rgba(245,249,235,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(3,48,33,.09)}
.nav-in{max-width:var(--max);margin:0 auto;padding:16px var(--pad);display:flex;align-items:center;
  justify-content:space-between;gap:24px}
.nav .mark{width:80px}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font-size:15px;color:var(--ink-soft);transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current]{color:var(--ink)}
.nav .btn{padding:11px 20px;font-size:15px}

/* encabezado de página interior */
.phead{padding:74px 0 56px}
.phead .kick{margin-bottom:18px}
.phead h1{max-width:17ch;margin-bottom:20px}
.phead .lead{font-size:19px;line-height:1.55;color:var(--ink-soft);max-width:58ch}
.phead-dark{background:var(--bosque);border-radius:var(--r-block);margin:var(--gutter) var(--gutter) 0;
  padding:82px var(--pad) 78px;position:relative;overflow:hidden}
.phead-dark h1,.phead-dark h2{color:var(--crema)}
.phead-dark .lead{color:var(--on-dark-soft)}
.phead-dark .kick{color:rgba(193,239,82,.78)}
.phead-dark .tz{position:absolute;pointer-events:none}
.phead-dark .tz-a{width:480px;left:-80px;top:-70px;opacity:.14}
.phead-dark .tz-b{width:420px;right:-90px;bottom:-120px;opacity:.12}
.phead-dark .in{position:relative;z-index:2;max-width:var(--max);margin:0 auto}

/* texto largo */
.prose{max-width:64ch}
.prose h2{font-size:clamp(24px,3vw,34px);margin:52px 0 16px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:clamp(19px,2vw,22px);margin:34px 0 10px}
.prose p{margin-bottom:16px}
.prose ul,.prose ol{margin:0 0 18px 20px}
.prose li{font-size:17px;line-height:1.6;color:var(--ink-soft);margin-bottom:9px}
.prose strong{color:var(--ink);font-weight:500}
.prose a{color:var(--violeta);font-weight:500}
.prose a:hover{text-decoration:underline}
.prose .pull{background:var(--lima);border-radius:var(--r-lg);padding:28px 30px;margin:34px 0;
  font-size:clamp(19px,2.4vw,25px);line-height:1.24;letter-spacing:-.018em;color:var(--noche);font-weight:500}
.prose .nota{border-left:3px solid var(--violeta);padding:4px 0 4px 20px;margin:26px 0}
.prose .nota p{font-size:16px;margin-bottom:0}

/* aviso de borrador legal */
.borrador{background:var(--violeta);color:var(--noche);border-radius:var(--r-lg);padding:22px 26px;margin-bottom:44px}
.borrador .lbl{margin-bottom:8px;color:rgba(0,25,2,.6)}
.borrador p{color:rgba(0,25,2,.86);font-size:15.5px;margin:0}
.hueco{background:rgba(183,107,236,.20);border-radius:5px;padding:1px 7px;font-weight:500;color:var(--ink)}

/* tarjetas de artículo */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post{background:var(--blanco);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-soft);
  display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
a.post:hover{transform:translateY(-3px);box-shadow:var(--sh-float)}
.post img{width:100%;height:172px;object-fit:cover}
.post .in{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1}
.post .lbl{color:var(--ink-faint);margin-bottom:12px}
.post h3{margin-bottom:10px}
.post p{font-size:15px;margin-bottom:0}
.post .mas{margin-top:auto;padding-top:18px;color:var(--violeta);font-weight:600;font-size:15px}
.post.soon{background:transparent;border:1px dashed rgba(3,48,33,.22);box-shadow:none}
.post.soon .in{justify-content:center;min-height:180px}

/* artículo */
.art-hero{margin:var(--gutter) var(--gutter) 0;border-radius:var(--r-block);overflow:hidden;
  height:380px;position:relative}
.art-hero img{width:100%;height:100%;object-fit:cover}
.art-meta{display:flex;gap:18px;align-items:center;margin-bottom:22px;color:var(--ink-faint)}
.art-fin{background:var(--noche);border-radius:var(--r-lg);padding:38px 40px;margin-top:56px;
  display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.art-fin h3{color:var(--crema);max-width:22ch}
.art-fin p{color:var(--on-dark-soft);font-size:15.5px;margin:8px 0 0}

/* bloques de oferta a propietarios */
.oferta{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ocard{background:var(--blanco);border-radius:var(--r-lg);padding:30px 30px 34px;box-shadow:var(--sh-soft)}
.ocard .num{font-family:'Dacht',monospace;font-size:11px;letter-spacing:.16em;color:var(--violeta);margin-bottom:14px}
.ocard h3{margin-bottom:9px}
.ocard p{font-size:15.5px;margin:0}
.contra{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:26px}
.contra > div{border-radius:var(--r-lg);padding:28px 30px}
.contra .mal{background:transparent;border:1px solid rgba(3,48,33,.16)}
.contra .bien{background:var(--lima);color:var(--noche)}
.contra .bien p{color:rgba(0,25,2,.76)}
.contra .lbl{margin-bottom:14px}
.contra .mal .lbl{color:var(--ink-faint)}
.contra .bien .lbl{color:rgba(0,25,2,.55)}
.contra li{list-style:none;font-size:15.5px;line-height:1.5;padding:7px 0 7px 20px;position:relative;color:var(--ink-soft)}
.contra .bien li{color:rgba(0,25,2,.8)}
.contra li::before{content:'';position:absolute;left:0;top:14px;width:7px;height:7px;border-radius:999px;background:var(--ink-faint)}
.contra .bien li::before{background:var(--noche)}

@media (max-width:900px){
  .posts,.oferta,.contra{grid-template-columns:1fr}
  .art-fin{grid-template-columns:1fr;gap:22px}
}
@media (max-width:640px){
  .nav-links a{display:none}
  .nav-in{padding:12px var(--pad)}
  .phead{padding:44px 0 36px}
  .phead-dark{padding:54px var(--pad) 50px}
  .phead .lead{font-size:17px}
  .prose h2{margin:38px 0 12px}
  .prose .pull{padding:22px 22px}
  .art-hero{height:220px}
  .art-fin{padding:26px 24px}
  .ocard,.contra > div{padding:24px 22px}
}


/* ---------- tarjetas blancas dentro de secciones oscuras ---------- */
.sec-dark .ocard h3{color:var(--ink)}
.sec-dark .ocard p{color:var(--ink-soft)}

/* ---------- Price Card ---------- */
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pcard{background:var(--blanco);border-radius:var(--r-lg);padding:36px 34px;box-shadow:var(--sh-soft)}
.pcard.alt{background:var(--noche);color:var(--crema)}
.pcard > .lbl{color:var(--ink-faint);margin-bottom:18px}
.pcard.alt > .lbl{color:rgba(193,239,82,.8)}
.pcard .big{font-size:clamp(40px,5vw,54px);font-weight:600;letter-spacing:-.035em;line-height:1;
  margin-bottom:14px;color:var(--ink)}
.pcard.alt .big{color:var(--lima)}
.pcard h3{margin-bottom:10px}
.pcard.alt h3{color:var(--crema)}
.pcard p{font-size:15.5px;margin:0}
.pcard.alt p{color:var(--on-dark-soft)}
.plist{margin-top:20px;padding-top:20px;border-top:1px solid rgba(3,48,33,.10)}
.pcard.alt .plist{border-top-color:rgba(245,249,235,.16)}
.plist div{font-size:15px;color:var(--ink-soft);padding:6px 0 6px 20px;position:relative}
.pcard.alt .plist div{color:var(--on-dark-soft)}
.plist div::before{content:'';position:absolute;left:0;top:14px;width:7px;height:7px;
  border-radius:999px;background:var(--lima)}

@media (max-width:900px){ .pgrid{grid-template-columns:1fr} }
@media (max-width:640px){ .pcard{padding:26px 24px} }

.pcard.alt .hueco,.sec-dark .hueco,.on-dark .hueco{background:rgba(193,239,82,.20);color:var(--lima)}
