:root{
  --primary:#FF6B00;
  --primary-dark:#E55F00;
  --dark:#0F172A;
  --light:#F8FAFC;
}
*{box-sizing:border-box}
body{font-family:'Poppins',sans-serif;background:var(--light);margin:0;padding:0;color:#334155;padding-top:90px}
h1,h2,h3,h4,h5{ font-family: 'Montserrat', sans-serif; font-weight: 800; }

/* NAVBAR */
.navbar{ background: rgba(15,23,42,0.95); backdrop-filter: blur(10px); padding: 15px 0; }
.navbar-brand{ font-weight: 800; font-size: 1.5rem; color: var(--primary)!important; display:flex; align-items:center; }
.navbar-brand img{ height: 45px; width: auto; margin-right: 10px; border-radius:50%; }
.nav-link{ color: #fff!important; font-weight: 500; margin-left: 15px; }
.nav-link:hover,.btn-cta{ background: var(--primary); color: #fff!important; border-radius: 8px; padding: 8px 18px!important; }

.container-main{max-width:1200px;margin:auto;padding:30px 20px}
.page-title{font-size:32px;text-align:center;color:var(--primary);margin-bottom:10px}
.subtitle{text-align:center;color:#64748B;margin-bottom:30px}

/* FILTER BUTTONS */
.filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.filter-btn{padding:10px 18px;border:2px solid #E2E8F0;background:white;border-radius:50px;font-weight:600;cursor:pointer;transition:0.3s;white-space:nowrap}
.filter-btn.active,.filter-btn:hover{background:var(--primary);color:white;border-color:var(--primary)}

/* GALLERY GRID */
.gallery{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:20px}
.project-card{background:white;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,0.08);transition:transform 0.3s;display:flex;flex-direction:column}
.project-card:hover{transform:translateY(-5px)}
.project-img-wrap{position:relative}
.project-img{width:100%;height:220px;object-fit:cover}
.project-info{padding:15px;flex-grow:1;display:flex;flex-direction:column}
.project-title{font-weight:800;font-size:16px;margin-bottom:5px}
.project-cat{display:inline-block;background:#FFF7ED;color:var(--primary);padding:4px 10px;border-radius:20px;font-size:12px;font-weight:600;width:fit-content}
.project-desc{font-size:13px;color:#64748B;margin-top:8px;flex-grow:1}
.img-count{position:absolute;top:10px;right:10px;background:rgba(0,0,0,0.6);color:#fff;padding:3px 8px;border-radius:20px;font-size:12px}
.btn-view{ background:var(--primary); color:#fff; border:none; padding:10px; border-radius:10px; font-weight:600; margin-top:12px; transition:0.3s; }
.btn-view:hover{ background:var(--primary-dark); color:#fff; }

/* LIGHTBOX */
.lightbox{display:none;position:fixed;z-index:9999;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.95);justify-content:center;align-items:center;padding:20px}
.lightbox-content{position:relative;max-width:900px;width:100%}
.lightbox img{max-width:100%;max-height:75vh;border-radius:12px;display:block;margin:auto}
.lightbox.close{position:absolute;top:-10px;right:0;color:white;font-size:40px;font-weight:700;cursor:pointer}
.lightbox.caption{color:white;text-align:center;margin-top:10px;font-size:15px}
.lightbox.nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.2);border:none;color:#fff;font-size:30px;padding:10px 15px;border-radius:50%;cursor:pointer}
.lightbox.prev{left:-50px}.lightbox.next{right:-50px}
.counter{color:#aaa;font-size:13px;text-align:center;margin-top:5px}

footer{ background: var(--dark); color: #94A3B8; padding: 40px 0; margin-top:50px; }
.whatsapp-float{ position: fixed; bottom: 20px; right: 20px; background: #25D366; color: #fff; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 2rem; z-index: 999; }

@media(max-width:768px){
  body{padding-top:80px}
 .page-title{font-size:24px}
 .lightbox.prev{left:10px}.lightbox.next{right:10px}