/* Global */
*{font-family:'Poppins',sans-serif}
.pulse-animation{animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}
.fade-in{animation:fadeIn 1s ease-in}@keyframes fadeIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,.1)}
.building-icon{background:linear-gradient(45deg,#ff6b6b,#ffa500)}
.food-icon{background:linear-gradient(45deg,#4ecdc4,#44a08d)}

.nav-link{color:#374151;padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:600}
.nav-link:hover{color:#2563eb}

/* Sections */
.section-title{font-size:clamp(28px,4vw,40px);font-weight:800;color:#111827;margin-bottom:1rem}
.sub-title{font-size:1.75rem;font-weight:700;color:#111827;margin-bottom:1rem}
.lead{font-size:1.125rem;color:#4b5563;max-width:48rem;margin:0 auto}
.para{color:#4b5563;line-height:1.8}
.stat{text-align:center}.stat-num{font-size:2rem;font-weight:800}.stat-txt{color:#6b7280}

.card-title{font-size:1.5rem;font-weight:800;color:#111827;margin-bottom:1rem}
.list li{color:#4b5563}

/* Buttons */
.btn-grad-red{width:100%;background:linear-gradient(90deg,#ef4444,#f59e0b);color:#fff;padding:.75rem;border-radius:.5rem;font-weight:600;transition:.2s}
.btn-grad-red:hover{filter:brightness(.95);transform:scale(1.02)}
.btn-grad-green{width:100%;background:linear-gradient(90deg,#14b8a6,#22c55e);color:#fff;padding:.75rem;border-radius:.5rem;font-weight:600;transition:.2s}
.btn-grad-green:hover{filter:brightness(.95);transform:scale(1.02)}

/* Tags */
.tag-blue{display:inline-block;background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600}
.tag-green{display:inline-block;background:#dcfce7;color:#166534;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600}
.tag-purple{display:inline-block;background:#ede9fe;color:#5b21b6;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600}

/* Inputs */
.input{width:100%;padding:.75rem;border-radius:.5rem;background:#374151;color:#fff;border:1px solid transparent;outline:none}
.input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.4)}

/* Footer */
.foot-title{font-size:1.125rem;font-weight:700;margin-bottom:1rem}
.foot-list{display:grid;gap:.5rem}
.foot-link{color:#9ca3af}
.foot-link:hover{color:#fff}

/* Gallery */
.gallery-item:focus { outline: 2px solid rgba(59,130,246,.6); outline-offset: 2px; }
