/* ---------- Cartera / Portfolio ---------- */
.cartera-note{
  border:1px solid var(--hair); border-left:3px solid var(--gold);
  background:rgba(200,162,77,0.05);
  padding:16px 20px; margin:0 0 48px; font-size:0.9rem; color:var(--paper-dim); line-height:1.7;
}
.cartera-note strong{ color:var(--gold); font-weight:500; }

.asset-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
  gap:34px; margin-top:8px;
}
.asset-card{
  border:1px solid var(--hair); background:var(--ink-900);
  display:flex; flex-direction:column; overflow:hidden;
  transition:transform .35s ease, border-color .35s ease;
}
.asset-card:hover{ transform:translateY(-4px); border-color:rgba(200,162,77,0.4); }

.asset-media{
  position:relative; aspect-ratio:16/10; width:100%;
  background:
    radial-gradient(120% 90% at 30% 20%, rgba(200,162,77,0.10), transparent 60%),
    linear-gradient(160deg, #16262e 0%, #0f1d24 55%, #0a1418 100%);
  display:flex; align-items:center; justify-content:center;
  border-bottom:1px solid var(--hair);
}
.asset-media svg{ width:74px; height:74px; opacity:0.5; }
.asset-media .media-note{
  position:absolute; bottom:10px; right:12px;
  font-size:0.62rem; letter-spacing:0.14em; text-transform:uppercase; color:rgba(154,168,172,0.55);
}
.asset-status{
  position:absolute; top:14px; left:14px;
  font-size:0.64rem; letter-spacing:0.16em; text-transform:uppercase; font-weight:500;
  padding:6px 12px; border:1px solid;
  background:rgba(10,20,24,0.7); backdrop-filter:blur(2px);
}
.status-disponible{ color:var(--gold); border-color:rgba(200,162,77,0.55); }
.status-estudio{ color:#9bb4c0; border-color:rgba(155,180,192,0.45); }
.status-cerrada{ color:var(--paper-dim); border-color:var(--hair); }

.asset-body{ padding:26px 26px 30px; display:flex; flex-direction:column; flex:1; }
.asset-type{ font-family:'Cormorant Garamond', serif; font-size:1.5rem; color:var(--paper); line-height:1.25; margin-bottom:8px; }
.asset-zone{ font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:18px; }
.asset-meta{ border-top:1px solid var(--hair); padding-top:16px; margin-bottom:16px; display:flex; flex-direction:column; gap:10px; }
.asset-meta .row{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; }
.asset-meta .label{ font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--paper-dim); }
.asset-meta .value{ font-size:0.95rem; color:var(--paper); text-align:right; }
.asset-desc{ color:var(--paper-dim); line-height:1.75; font-size:0.92rem; margin-bottom:22px; flex:1; }
.asset-cta{ font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); align-self:flex-start; position:relative; }
.asset-cta::after{ content:''; position:absolute; bottom:-2px; left:0; right:0; height:1px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform 0.28s var(--ease,cubic-bezier(.25,.46,.45,.94)); }
.asset-cta:hover{ text-decoration:none; }
.asset-cta:hover::after{ transform:scaleX(1); }

/* ---------- Carrusel manual de fotos ---------- */
.photo-slide{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  opacity:0;
  transition:opacity 0.42s ease;
}
/* Fallback sin JS: mostrar primera imagen */
.photo-slide:first-of-type{ opacity:1; }

/* Flechas de navegación */
.carousel-btn{
  position:absolute; top:50%; transform:translateY(-50%);
  width:38px; height:38px;
  background:rgba(10,20,24,0.65);
  border:1px solid rgba(236,231,220,0.22);
  color:#ece7dc;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:10;
  font-size:1.5rem; line-height:1; padding:0;
  transition:background 0.2s, border-color 0.2s;
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
}
.carousel-btn:hover{
  background:rgba(200,162,77,0.28);
  border-color:rgba(200,162,77,0.65);
}
.carousel-prev{ left:10px; }
.carousel-next{ right:10px; }

/* Indicadores de puntos */
.carousel-dots{
  position:absolute; bottom:12px; left:50%; transform:translateX(-50%);
  display:flex; gap:7px; z-index:10; align-items:center;
}
.carousel-dot{
  width:7px; height:7px; border-radius:50%;
  background:rgba(236,231,220,0.38);
  cursor:pointer; border:none; padding:0;
  transition:background 0.22s, transform 0.22s;
}
.carousel-dot.active{
  background:#c8a24d;
  transform:scale(1.35);
}

/* Contador de fotos (esquina superior derecha) */
.carousel-count{
  position:absolute; top:14px; right:14px;
  font-size:0.62rem; letter-spacing:0.14em; text-transform:uppercase;
  color:rgba(236,231,220,0.7);
  background:rgba(10,20,24,0.65);
  backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px);
  border:1px solid rgba(236,231,220,0.15);
  padding:4px 10px;
  z-index:10; pointer-events:none;
}

.cartera-foot{
  margin-top:64px; padding:44px; border:1px solid var(--hair); text-align:center;
  background:var(--ink-900);
}
.cartera-foot h2{ font-size:1.7rem; color:var(--paper); margin-bottom:14px; }
.cartera-foot p{ color:var(--paper-dim); line-height:1.8; max-width:620px; margin:0 auto 26px; }
.btn-inline{
  display:inline-block; font-family:'Jost', sans-serif; font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase;
  background:var(--gold); color:var(--ink-900); padding:14px 30px;
  transition:transform 0.22s var(--ease,cubic-bezier(.25,.46,.45,.94)), box-shadow 0.22s var(--ease,cubic-bezier(.25,.46,.45,.94));
}
.btn-inline:hover{ text-decoration:none; transform:translateY(-2px); box-shadow:0 8px 22px rgba(200,162,77,0.25); }

/* ---------- Activo Destacado — layout magazine ---------- */
.featured-wrap{
  margin-bottom:64px; border:1px solid rgba(200,162,77,0.32); background:var(--ink-900);
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:52% 1fr;
}
.featured-wrap::after{
  content:''; position:absolute; top:0; left:0; bottom:0; width:1px;
  background:linear-gradient(180deg, var(--gold) 0%, transparent 80%);
  z-index:2; pointer-events:none;
}
/* gold top-bar */
.featured-wrap::before{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, var(--gold) 0%, transparent 65%);
  z-index:2; pointer-events:none;
}
/* Photo column */
.featured-media{
  position:relative; min-height:580px; height:100%;
}
.featured-media .photo-slide{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 35%;
  opacity:0; transition:opacity 0.7s ease;
}
.featured-media .photo-slide:first-of-type{ opacity:1; }

/* Content column */
.featured-content{
  display:flex; flex-direction:column;
}
.featured-badge{
  display:inline-block; font-size:0.63rem; letter-spacing:0.22em; text-transform:uppercase; font-weight:500;
  color:var(--gold); border:1px solid rgba(200,162,77,0.4); padding:6px 14px;
  margin:32px 36px 0; align-self:flex-start;
}
.featured-inner{
  padding:24px 36px 40px; flex:1;
  display:grid; grid-template-columns:1fr; gap:36px; align-content:space-between;
}
.featured-type{ font-family:'Cormorant Garamond',serif; font-size:2rem; color:var(--paper); line-height:1.2; margin-bottom:10px; }
.featured-zone{ font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:20px; }
.featured-desc{ color:var(--paper-dim); line-height:1.85; font-size:0.96rem; margin-bottom:26px; }
.featured-stats{ display:grid; grid-template-columns:1fr 1fr; gap:22px 16px; border-top:1px solid var(--hair); padding-top:28px; }
.featured-stat .s-num{ font-family:'Cormorant Garamond',serif; font-size:1.5rem; color:var(--paper); line-height:1; }
.featured-stat .s-lab{ font-size:0.67rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--paper-dim); margin-top:5px; }

@media (max-width:860px){
  .featured-wrap{ grid-template-columns:1fr; }
  .featured-wrap::after{ display:none; }
  .featured-media{ min-height:56vw; height:56vw; }
  .featured-badge{ margin:24px 22px 0; }
  .featured-inner{ padding:18px 22px 32px; }
}
@media (max-width:700px){
  .featured-media{ min-height:66vw; height:66vw; }
  .featured-stats{ grid-template-columns:1fr 1fr; gap:18px; }
}
@media (max-width:600px){
  .asset-grid{ grid-template-columns:1fr; gap:26px; }
  .cartera-foot{ padding:32px 22px; }
}