/* Casos de estudio de /proyectos/ — usa las variables de styles.css */
.pj-hero{padding:48px 0 56px;background:radial-gradient(560px 320px at 85% 10%,var(--purple-tint),transparent 70%);border-bottom:1px solid var(--border-soft);}
.pj-hero h1{font-size:clamp(30px,4vw,46px);line-height:1.1;letter-spacing:-.03em;margin:14px 0 16px;}
.pj-hero .lead{font-size:17px;color:var(--text-1);max-width:620px;margin:0 0 26px;line-height:1.65;}
.pj-hero-index .lead{max-width:700px;}
.pj-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;color:var(--text-2);margin-bottom:18px;}
.pj-crumbs a{color:var(--text-1);}
.pj-crumbs a:hover{color:var(--purple);}
.pj-crumbs i{font-size:9px;opacity:.6;}
.pj-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.pj-badges{display:flex;flex-wrap:wrap;gap:8px;}
.pj-badge{font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--purple-tint);color:var(--purple);display:inline-flex;align-items:center;gap:6px;}
.pj-badge.ok{background:var(--teal-tint);color:var(--teal);}
.pj-badge.ok i{font-size:7px;}
.pj-cta{display:flex;flex-wrap:wrap;gap:12px;}
.pj-link{display:inline-flex;gap:8px;align-items:center;margin-top:16px;font-size:14px;font-weight:600;color:var(--purple);}
.pj-shot{display:grid;gap:14px;}
.pj-shot img{width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:0 24px 50px -24px rgba(15,23,42,.35);background:var(--bg-1);}
.pj-shot img+img{width:70%;justify-self:end;margin-top:-90px;box-shadow:0 20px 40px -16px rgba(15,23,42,.45);}
.pj-body{padding:56px 24px 80px;}
.pj-sec{margin-bottom:56px;}
.pj-sec h2,.pj-final h2{font-size:clamp(22px,2.6vw,28px);margin-bottom:20px;letter-spacing:-.02em;}
.pj-list{display:flex;flex-direction:column;gap:10px;}
.pj-list li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;color:var(--text-0);}
.pj-list i{color:var(--teal);margin-top:5px;font-size:12px;}
.pj-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.pj-feat{padding:22px;border-radius:var(--radius-md);background:var(--bg-2);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);}
.pj-feat > i{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--purple-tint);color:var(--purple);font-size:17px;margin-bottom:14px;}
.pj-feat h3{font-size:16px;margin-bottom:6px;}
.pj-feat p{margin:0;color:var(--text-1);font-size:14px;line-height:1.55;}
.pj-two{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.pj-techs{display:flex;flex-wrap:wrap;gap:8px;}
.pj-techs span{font-family:var(--font-mono);font-size:13px;padding:7px 13px;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-1);}
.pj-vers{display:flex;flex-direction:column;gap:12px;}
.pj-ver{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:18px 20px;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--bg-2);}
.pj-ver strong{display:block;font-size:16px;}
.pj-ver p{margin:4px 0 0;color:var(--text-1);font-size:14px;}
.pj-ver b{font-family:var(--font-mono);font-size:20px;}
.pj-note{color:var(--text-2);font-size:13.5px;margin-top:12px;}
.pj-faq details{border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:0 18px;margin-bottom:10px;background:var(--bg-2);}
.pj-faq summary{cursor:pointer;padding:15px 0;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px;}
.pj-faq summary::-webkit-details-marker{display:none;}
.pj-faq summary::after{content:'+';color:var(--purple);font-weight:700;}
.pj-faq details[open] summary::after{content:'–';}
.pj-faq details p{margin:0 0 15px;color:var(--text-1);}
.pj-final{text-align:center;padding:44px 24px;border-radius:var(--radius-lg);background:radial-gradient(520px 260px at 50% 0%,var(--purple-tint),transparent 70%),var(--bg-1);border:1px solid var(--border-soft);margin:16px 0 56px;}
.pj-final p{color:var(--text-1);margin:0 auto 22px;max-width:520px;}
.pj-others{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.pj-others a{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--bg-2);transition:border-color .15s,transform .15s;}
.pj-others a:hover{border-color:var(--purple);transform:translateY(-2px);}
.pj-others img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:var(--radius-sm);}
.pj-others span{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--purple);}
.pj-others strong{font-size:14.5px;line-height:1.35;}
.pj-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:24px;}
.pj-card{display:flex;flex-direction:column;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-soft);background:var(--bg-2);box-shadow:var(--shadow-card);transition:border-color .2s,transform .2s;}
.pj-card:hover{border-color:var(--purple);transform:translateY(-4px);}
.pj-card-img{aspect-ratio:16/9;overflow:hidden;background:var(--bg-1);}
.pj-card-img img{width:100%;height:100%;object-fit:cover;object-position:top;}
.pj-card-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:10px;flex:1;}
.pj-card h2{font-size:19px;line-height:1.3;}
.pj-card p{margin:0;color:var(--text-1);font-size:14.5px;line-height:1.6;flex:1;}
.pj-more{font-size:14px;font-weight:600;color:var(--purple);display:inline-flex;gap:8px;align-items:center;}
@media (max-width:980px){
  .pj-hero-grid,.pj-two{grid-template-columns:1fr;gap:32px;}
  .pj-feats,.pj-others{grid-template-columns:1fr 1fr;}
  .pj-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .pj-feats,.pj-others{grid-template-columns:1fr;}
  .pj-body{padding:40px 16px 64px;}
  .pj-ver{grid-template-columns:1fr auto;}
  .pj-ver .btn{grid-column:1/-1;justify-content:center;}
  .pj-shot img+img{margin-top:-50px;}
}
