/* proyectos.css */
.proy-hero { position:relative; padding:calc(var(--nav-h) + 80px) 0 100px; overflow:hidden; background:var(--negro); }
.proy-hero-bg { position:absolute; inset:0; background: radial-gradient(ellipse at 60% 40%, rgba(44,95,46,0.45) 0%, transparent 60%), radial-gradient(ellipse at 5% 80%, rgba(44,95,46,0.2) 0%, transparent 50%); }
.proy-hero-shape { position:absolute; bottom:-2px; left:0; right:0; height:80px; background:var(--blanco); clip-path:ellipse(55% 100% at 50% 100%); }
.proy-hero-content { position:relative; z-index:2; max-width:680px; }
.proy-hero-title { font-family:var(--font-display); font-size:clamp(44px,6vw,72px); font-weight:700; color:var(--blanco); line-height:1.1; margin:12px 0 20px; }
.proy-hero-title em { font-style:italic; color:rgba(255,255,255,0.6); }
.proy-hero-desc { font-size:17px; color:rgba(255,255,255,0.72); line-height:1.7; max-width:520px; }

/* Filtros */
.filtros-bar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:40px; }
.filtro-btn { padding:10px 22px; border-radius:40px; border:1.5px solid var(--beige-dark); background:var(--blanco); font-family:var(--font-body); font-size:14px; font-weight:500; color:var(--gris); cursor:pointer; transition:var(--transition); }
.filtro-btn:hover { border-color:var(--verde); color:var(--verde); }
.filtro-btn.active { background:var(--verde); border-color:var(--verde); color:var(--blanco); }

/* Grid de proyectos */
.proy-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.proy-card { border-radius:var(--radius-lg); overflow:hidden; background:var(--blanco); box-shadow:var(--shadow-sm); transition:var(--transition); }
.proy-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); }
.proy-card.hidden { display:none; }

.proy-img-wrap { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--beige-dark); }
.proy-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }
.proy-card:hover .proy-img-wrap img { transform:scale(1.06); }
.proy-img-wrap.proy-no-img { background:linear-gradient(135deg,var(--verde-fondo),var(--beige-dark)); }

.proy-overlay { position:absolute; inset:0; background:rgba(26,26,24,0.55); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity var(--transition); }
.proy-card:hover .proy-overlay { opacity:1; }
.proy-overlay-btn { background:var(--verde); color:var(--blanco); padding:10px 20px; border-radius:var(--radius-lg); font-size:13px; font-weight:500; transition:var(--transition); }
.proy-overlay-btn:hover { background:var(--verde-claro); }

.proy-info { padding:20px 22px 22px; }
.proy-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.proy-tag { font-size:11px; font-weight:600; letter-spacing:0.5px; padding:4px 10px; border-radius:20px; background:var(--beige); color:var(--gris); }
.proy-tag.verde { background:var(--verde-fondo); color:var(--verde); }
.proy-info h3 { font-family:var(--font-display); font-size:21px; font-weight:600; color:var(--negro); margin-bottom:4px; }
.proy-info p { font-size:13px; color:var(--gris-claro); margin-bottom:10px; }
.proy-meta { display:flex; gap:16px; font-size:12px; color:var(--gris-claro); }

/* Testimonio destacado */
.proy-testimonio { background:var(--beige); padding:80px 0; }
.testimonio-dest { max-width:740px; margin:0 auto; text-align:center; position:relative; }
.td-quote { font-family:var(--font-display); font-size:100px; line-height:0.5; color:var(--verde); opacity:0.25; margin-bottom:16px; }
.testimonio-dest blockquote { font-family:var(--font-display); font-size:clamp(20px,3vw,28px); font-style:italic; color:var(--negro); line-height:1.5; margin-bottom:28px; }
.testimonio-dest cite { font-style:normal; }
.testimonio-dest cite strong { display:block; font-size:16px; font-weight:600; color:var(--negro); }
.testimonio-dest cite span { font-size:14px; color:var(--gris-claro); margin-top:4px; display:block; }

@media (max-width:1024px) { .proy-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .proy-grid { grid-template-columns:1fr; } .filtros-bar { gap:8px; } .filtro-btn { padding:8px 16px; font-size:13px; } }