.about-tab { transition: transform .15s ease, box-shadow .15s ease; }
.about-tab:hover { transform: translateY(-1px); }
.about-tab.active-tab { outline: 2px solid rgba(16,185,129,.6); box-shadow: 0 6px 18px rgba(16,185,129,.15); }

#about-content { animation: fadeUp .25s ease-out; }
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.prose h2,.prose h3 { scroll-margin-top: 96px; }
.prose p { line-height: 1.8; }

/* Announcement cards */
.announce-card {
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  background: linear-gradient(180deg, #fff, #fafafa);
  padding: 14px;
  transition: transform .15s ease, box-shadow .15s ease;
}
.announce-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,.06); }
.announce-title { font-weight: 700; }
.announce-meta { font-size: 12px; color: #64748b; margin-top: 6px; }


/* Modal fade/scale */
#announcement-modal:not(.hidden) .relative {
  animation: modalIn .18s ease-out;
}
@keyframes modalIn {
  from { transform: translateY(8px) scale(.98); opacity: .9; }
  to   { transform: translateY(0)   scale(1);    opacity: 1; }
}
