* { -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; }
body { font-family: 'Noto Sans KR', sans-serif; overscroll-behavior-y: none; }
.hide-scrollbar::-webkit-scrollbar { display: none; }
.hide-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.hero-gradient { background: linear-gradient(135deg, rgba(7,42,73,0.85) 0%, rgba(13,147,231,0.4) 100%); }
.card-hover { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.card-hover:active { transform: scale(0.97); }
.nav-item.active { color: #0d93e7; border-bottom: 3px solid #0d93e7; }
.fade-in { animation: fadeIn 0.5s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pulse-glow { 0%,100% { box-shadow: 0 0 0 0 rgba(255,123,17,0.5); } 50% { box-shadow: 0 0 20px 8px rgba(255,123,17,0.25); } }
.pulse-donate { animation: pulse-glow 2s infinite; }
.modal-overlay { backdrop-filter: blur(4px); }
.gallery-img { transition: transform 0.3s; }
.gallery-img:active { transform: scale(1.03); }
.progress-ring { transition: stroke-dashoffset 0.6s ease; }
.tab-btn.active { background: #0d93e7; color: white; }
.tab-btn { transition: all 0.2s; }
.section-title::after { content:''; display:block; width:77px; height:4px; background:linear-gradient(90deg,#0d93e7,#ff7b11); margin-top:8px; border-radius:2px; }
.donate-card { background: linear-gradient(135deg, #072a49 0%, #0074c5 100%); }
.stat-card { backdrop-filter: blur(10px); background: rgba(255,255,255,0.1); }
input:focus, textarea:focus { outline: none; box-shadow: 0 0 0 3px rgba(13,147,231,0.3); }