/* ===== AUDTEC — Proyectos (archivo + single) ===== */
/* Reutiliza tokens y componentes de audtec.css + audtec-team.css */

/* --- Archivo hero --- */
.pr-hero-inner{max-width:820px}
.pr-hero h1{font-size:clamp(38px,5.4vw,64px);margin:16px 0 20px}
.pr-hero p{color:var(--dim);font-size:19px;line-height:1.65;max-width:660px}
.pr-hero .m-cta{margin-top:30px}

/* --- Filtros (opcional, estáticos) --- */
.pr-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.pr-filters .tag{padding:9px 16px;border-radius:999px;border:1px solid var(--dark-line);background:rgba(255,255,255,.05);color:#e6e8ec;font-size:13.5px;font-weight:600}

/* --- Grid de proyectos --- */
.proj-wrap{background:var(--bg);padding:84px 0 96px}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:1180px;margin:0 auto}
.proj-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--sh-sm);transition:transform .5s var(--e-out),box-shadow .5s var(--e-out),border-color .5s;display:flex;flex-direction:column}
.proj-card::before{content:"";position:absolute;left:0;top:0;height:4px;width:0;background:var(--grad);z-index:4;transition:width .45s var(--e-out)}
@media(hover:hover){.proj-card:hover{transform:translateY(-8px);box-shadow:0 40px 80px -30px rgba(21,23,26,.32);border-color:transparent}.proj-card:hover::before{width:100%}}
.proj-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,#1a0509,#0a0b0f)}
.proj-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--e-out),filter .6s var(--e-out);filter:saturate(1.02)}
@media(hover:hover){.proj-card:hover .proj-media img{transform:scale(1.06)}}
.proj-media.ph{display:flex;align-items:center;justify-content:center}
.proj-media.ph::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 25% 15%,rgba(235,0,27,.28),transparent 60%),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px}
.proj-media .ph-mark{position:relative;z-index:2;font-weight:900;font-size:30px;letter-spacing:-.03em;color:#fff;opacity:.92;padding:0 22px;text-align:center;line-height:1.15}
.proj-cat{position:absolute;left:14px;top:14px;z-index:3;background:rgba(10,11,15,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.04em;padding:6px 12px;border-radius:999px}
.proj-body{padding:24px 26px 28px;display:flex;flex-direction:column;flex:1}
.proj-body h3{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.02em;line-height:1.2}
.proj-client{color:var(--red);font-weight:700;font-size:13.5px;margin:7px 0 12px}
.proj-exc{color:var(--ink-2);font-size:14.8px;line-height:1.6;margin-bottom:20px}
.proj-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.proj-tags span{font-size:11.5px;font-weight:600;color:var(--ink-2);background:var(--bg-3);border:1px solid var(--line);padding:4px 10px;border-radius:999px}
.proj-link{margin-top:auto;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);font-size:14.5px}
.proj-link svg{width:17px;height:17px;transition:transform .3s var(--e-out)}
@media(hover:hover){.proj-card:hover .proj-link{color:var(--red)}.proj-card:hover .proj-link svg{transform:translateX(5px)}}
.proj-card>a.proj-cover{position:absolute;inset:0;z-index:5;text-indent:-9999px;overflow:hidden}

/* --- Single: meta chips en hero --- */
.p-meta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 4px}
.p-meta .mi{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid var(--dark-line)}
.p-meta .mi .k{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--dim-2);font-weight:700}
.p-meta .mi .v{font-size:14.5px;color:#fff;font-weight:600}

/* --- Single: cuerpo --- */
.p-body-sec .wrap{max-width:900px}
.p-lead{font-size:20px;line-height:1.6;color:var(--ink);font-weight:500}
.p-content{color:var(--ink-2);font-size:16.5px;line-height:1.75}
.p-content h2{font-size:28px;color:var(--ink);margin:12px 0 14px}
.p-content h3{font-size:21px;color:var(--ink);margin:26px 0 10px}
.p-content p{margin:0 0 18px}
.p-content ul{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:12px}
.p-content ul li{position:relative;padding-left:30px;color:var(--ink-2)}
.p-content ul li::before{content:"";position:absolute;left:0;top:9px;width:16px;height:2px;background:var(--grad);border-radius:2px}
.p-content img{border-radius:16px;box-shadow:var(--sh);margin:8px 0 24px}
.p-content a{color:var(--red);font-weight:600}

/* --- Bloque reto/solución (2 col) --- */
.p-rs{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:8px}
.p-rs .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:30px;box-shadow:var(--sh-sm)}
.p-rs .card h3{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;color:var(--ink);margin-bottom:14px}
.p-rs .card h3 .badge{width:40px;height:40px;border-radius:11px;background:rgba(235,0,27,.08);display:flex;align-items:center;justify-content:center}
.p-rs .card h3 .badge svg{width:21px;height:21px;stroke:var(--red);fill:none;stroke-width:1.9}
.p-rs .card p{color:var(--ink-2);font-size:15.5px;line-height:1.7}

/* --- Firma de tarjeta de Iván --- */
.ivan-sign{display:block;max-width:640px;margin:6px auto 0;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh-sm);overflow:hidden;transition:transform .45s var(--e-out),box-shadow .45s var(--e-out),border-color .45s;position:relative}
.ivan-sign::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--grad)}
@media(hover:hover){.ivan-sign:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:transparent}.ivan-sign:hover .ivan-arrow{transform:translateX(5px)}.ivan-sign:hover .ivan-photo img{filter:none}}
.ivan-inner{display:flex;align-items:center;gap:22px;padding:22px 26px 22px 30px}
.ivan-photo{width:78px;height:78px;flex-shrink:0;border-radius:16px;overflow:hidden;background:var(--bg-3);box-shadow:var(--sh-sm)}
.ivan-photo img{width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:grayscale(1) contrast(1.03);transition:filter .5s var(--e-out)}
.ivan-txt{flex:1;min-width:0}
.ivan-kick{font-size:11.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--red);font-weight:800;margin-bottom:4px}
.ivan-name{font-size:19px;font-weight:800;color:var(--ink);letter-spacing:-.01em;line-height:1.15}
.ivan-role{font-size:13.8px;color:var(--ink-2);margin-top:3px}
.ivan-cta{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ink);font-size:14.5px;flex-shrink:0}
.ivan-arrow{width:18px;height:18px;transition:transform .3s var(--e-out)}
.ivan-arrow svg{width:100%;height:100%;stroke:var(--red);fill:none;stroke-width:2.2}

/* --- Back link centrado --- */
.p-back{padding:30px 0;text-align:center}

/* --- Responsive --- */
@media(max-width:980px){.proj-grid{grid-template-columns:repeat(2,1fr);gap:24px}.p-rs{grid-template-columns:1fr}}
@media(max-width:600px){.proj-grid{grid-template-columns:1fr;max-width:440px}.ivan-inner{flex-wrap:wrap;gap:16px}.ivan-cta{width:100%}.p-meta .mi{flex:1}}
