/* ============================================================
   EJE INTELIGENTE - portafolio.css (pagina /portafolio)
   Se carga despues de premium.css.
   ============================================================ */

/* ---------- Hero de subpagina ---------- */
.hero--sub{padding-bottom:clamp(48px,6vw,72px)}
.hero--sub .hero__sub{margin-top:24px}

/* ---------- Fichas de clientes ---------- */
.pf__grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}

.pf-card{
  display:flex;flex-direction:column;gap:16px;
  border:1px solid var(--line-2);border-radius:28px;
  padding:24px;
  background:
    linear-gradient(165deg,rgba(242,244,239,.05),rgba(242,244,239,.02) 45%,rgba(242,244,239,.015)) border-box;
  transition:transform .5s var(--ease),border-color .4s;
}
.pf-card:hover{transform:translateY(-5px);border-color:rgba(74,222,128,.38)}

.pf__tile{
  position:relative;aspect-ratio:16/10;border-radius:20px;
  overflow:hidden;border:1px solid var(--line);
  background:#0B120D;display:block;
}
.pf__tile img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .9s var(--ease);
}
.pf-card:hover .pf__tile img{transform:scale(1.045)}
.pf__tile::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(7,10,8,.55));
  pointer-events:none;
}
/* ficha tipografica (sin captura todavia) */
.pf__tile--art{
  display:grid;place-content:center;gap:12px;text-align:center;
  background:
    radial-gradient(120% 110% at 18% 0%,rgba(47,164,83,.28),transparent 58%),
    #0B120D;
}
.pf__tile--art b{
  font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;
  font-size:clamp(30px,4.4vw,46px);color:var(--ink);line-height:1.05;
}
.pf__tile--art .mono{
  color:var(--green-bright);font-size:11px;letter-spacing:.22em;
}

.pf__live{
  display:inline-flex;align-items:center;gap:9px;align-self:flex-start;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--green-bright);
  border:1px solid rgba(74,222,128,.38);border-radius:99px;padding:7px 14px;
  background:rgba(47,164,83,.07);
}
.pf__live i{
  width:7px;height:7px;border-radius:50%;background:var(--green-bright);
  box-shadow:0 0 12px rgba(74,222,128,.9);
}

.pf-card h3{
  font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;
  font-size:clamp(24px,3vw,32px);line-height:1.1;
}
.pf-card .desc{
  color:var(--muted);font-size:.98rem;line-height:1.72;max-width:58ch;
}
.pf-card .desc strong{color:var(--ink);font-weight:500}

.pf__chips{display:flex;gap:8px;flex-wrap:wrap}
.pf__chips span{
  font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);
  border:1px solid var(--line-2);border-radius:99px;padding:7px 13px;
  background:rgba(242,244,239,.03);
}

.pf__meta{
  display:flex;justify-content:space-between;align-items:center;gap:14px;
  border-top:1px solid var(--line);padding-top:16px;margin-top:auto;
}
.pf__meta .mono{font-size:10.5px;color:var(--muted);letter-spacing:.14em}
.pf__meta a{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--green-bright);font-size:.92rem;font-weight:500;
  padding:12px 0; /* objetivo táctil de 48px */
}
.pf__meta a .i{width:15px;height:15px;transition:transform .35s var(--ease)}
.pf__meta a:hover .i{transform:translate(3px,-3px)}

/* ---------- Tarjetas del taller ---------- */
.lab-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.lab-card{
  display:flex;flex-direction:column;gap:14px;
  border:1px solid var(--line-2);border-radius:28px;padding:26px;
  background:
    radial-gradient(110% 90% at 85% -10%,rgba(47,164,83,.14),transparent 55%),
    linear-gradient(165deg,rgba(242,244,239,.04),rgba(242,244,239,.015)) border-box;
  transition:transform .5s var(--ease),border-color .4s;
}
.lab-card:hover{transform:translateY(-5px);border-color:rgba(74,222,128,.32)}
.lab__tag{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.18em;
  color:var(--green-bright);text-transform:uppercase;
}
.lab__word{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(30px,4.5vw,46px);letter-spacing:-.01em;
  color:var(--ink);line-height:1.08;
}
.lab-card p{color:var(--muted);font-size:.96rem;line-height:1.7;max-width:56ch}
.lab-card p strong{color:var(--ink);font-weight:500}
.lab-card .pf__meta{margin-top:auto}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .pf__grid,.lab-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .pf-card{padding:20px 18px;border-radius:24px;gap:14px}
  .lab-card{padding:22px 18px;border-radius:24px}
  .pf__tile{border-radius:16px;aspect-ratio:16/11}
}
