/* ================================================================
   GLOBAL READABLE TEXT
   ================================================================ */
body { font-size:16px; line-height:1.8; color:#1a2535; -webkit-font-smoothing:antialiased; }
p, li { font-size:1rem; line-height:1.85; color:#2d3a4a; }
p { text-align:justify; hyphens:auto; }
h1,h2,h3,h4 { line-height:1.25; color:#0a2154; letter-spacing:-.01em; }
.about-intro-text p, .detail-article-body p, .ep-block-desc,
.epd-article-body, .fac-block-desc, .card-excerpt,
.mv-quote-text, .contact-text span { font-size:.97rem; line-height:1.85; text-align:justify; hyphens:auto; color:#374151; }
.card-meta, .ep-block-date, .ev-list-time, .evp-up-time,
.ann-card-school, small, .td-date { font-size:.8rem; line-height:1.6; color:#5a7090; }
.data-table td { font-size:.87rem; line-height:1.55; color:#2d3a4a; }
.form-label { font-size:.87rem; font-weight:700; color:#0a2154; }
.btn { font-size:.85rem; font-weight:700; letter-spacing:.02em; }

/* ==================================================== */

/* ================================================================
   ANNOUNCEMENT DETAIL — REDESIGNED
   ================================================================ */

/* ── Wave Hero ── */
.adp-hero {
  position: relative;
  background: linear-gradient(160deg, #0a1628 0%, #0d1f3c 55%, #071020 100%);
  padding: calc(0rem + 70px) 0 0;
  overflow: hidden;
  z-index: 0;
}
.adp-hero-noise {
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  pointer-events: none; opacity: .18; z-index: 0;
}
.adp-hero-glow {
  position: absolute; top: -60px; right: -80px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.04) 0%, transparent 70%);
  pointer-events: none; z-index: 0;
}
.adp-hero-inner {
  position: relative; z-index: 2;
  padding-top: 1.5rem;
  padding-bottom: 1.25rem;
}
.adp-hero-wave {
  position: relative; z-index: 1;
  display: block; margin-bottom: -2px; line-height: 0;
}
.adp-hero-wave svg { display: block; width: 100%; height: 45px; }

.adp-breadcrumb {
  display: flex; align-items: center; gap: 7px;
  font-size: .8rem; color: rgba(255,255,255,.45);
  margin-bottom: 1.1rem;
}
.adp-breadcrumb a { color: rgba(255,255,255,.65); text-decoration: none; transition: color .2s; }
.adp-breadcrumb a:hover { color: #f5c842; }
.adp-breadcrumb .sep { color: rgba(255,255,255,.25); }

.adp-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(245,200,66,.12);
  border: 1px solid rgba(245,200,66,.3);
  color: #f5c842;
  font-size: .68rem; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase;
  padding: .25rem .9rem; border-radius: 100px;
  margin-bottom: .85rem;
}

.adp-hero-title {
  font-family: 'Poppins', Arial, sans-serif;
  font-size: clamp(1.4rem, 3.5vw, 2.2rem);
  font-weight: 800; color: #fff;
  line-height: 1.2; margin-bottom: .75rem;
  text-shadow: 0 2px 24px rgba(0,0,80,.3);
  max-width: 780px;
}

.adp-meta-row {
  display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap;
  font-size: .8rem; color: rgba(255,255,255,.45);
}
.adp-meta-row span { display: flex; align-items: center; gap: 5px; }

/* ── Page ── */
.adp-page { background: #f7f9fc; padding: 2.25rem 0 5rem; }

/* ── Layout ── */
.adp-layout {
  display: grid;
  grid-template-columns: 1fr 290px;
  gap: 2rem;
  align-items: start;
}

/* ── Article ── */
.adp-article {
  background: #fff;
  border-radius: 16px;
  border: 1px solid #e4eaf4;
  box-shadow: 0 2px 24px rgba(13,27,64,.07);
  overflow: hidden;
}
.adp-img-wrap {
  width: 100%; overflow: hidden;
  background: #e9eef7;
  border-bottom: 1px solid #e4eaf4;
}
.adp-img-wrap img { width: 100%; height: auto; display: block; }
.adp-no-img {
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: .75rem;
  height: 180px;
  background: linear-gradient(135deg, #f0f4fc 0%, #e4eaf4 100%);
  border-bottom: 1px solid #e4eaf4;
}
.adp-no-img-icon {
  width: 52px; height: 52px;
  background: #dce6f7; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
}
.adp-no-img-icon svg { width: 26px; height: 26px; color: #6b87c4; }
.adp-no-img-label {
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em; color: #9ab0d4;
}
.adp-article-inner { padding: 2rem 2.25rem 2.5rem; }
.adp-article-title {
  font-family: 'Poppins', Arial, sans-serif;
  font-size: clamp(1.1rem, 2.5vw, 1.55rem);
  font-weight: 700; color: #071840;
  line-height: 1.3; margin: 0 0 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #eef2fb;
}
.adp-article-body {
  font-size: .97rem; line-height: 1.9; color: #374151;
  word-break: break-word; overflow-wrap: anywhere; white-space: pre-line;
}

/* ── Prev/Next ── */
.adp-nav {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: .85rem; margin-top: 1.25rem;
}
.adp-nav-btn {
  display: flex; flex-direction: column; gap: 3px;
  padding: .9rem 1.1rem;
  background: #fff;
  border: 1.5px solid #dde6f4;
  border-radius: 10px;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.adp-nav-btn:hover { border-color: #0d2b6e; box-shadow: 0 4px 16px rgba(13,43,110,.1); transform: translateY(-2px); }
.adp-nav-btn small { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; color: #9ab0d4; }
.adp-nav-btn span { font-size: .85rem; font-weight: 600; color: #071840; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.adp-nav-btn.next { text-align: right; }
.adp-nav-placeholder { background: transparent; border-color: transparent; pointer-events: none; }

/* ── Sidebar ── */
.adp-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }
.adp-scard {
  background: #fff; border-radius: 14px;
  border: 1px solid #e4eaf4;
  box-shadow: 0 2px 16px rgba(13,27,64,.05);
  overflow: hidden;
}
.adp-scard-hdr {
  display: flex; align-items: center; gap: .55rem;
  padding: .85rem 1.25rem;
  border-bottom: 1px solid #eef2fb;
  background: #f8faff;
}
.adp-scard-hdr-dot { width: 4px; height: 18px; border-radius: 4px; flex-shrink: 0; }
.adp-scard-hdr h4 { font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: #071840; margin: 0; }
.adp-scard-body { padding: 1.1rem 1.25rem; }
.adp-detail-row { display: flex; flex-direction: column; gap: 2px; padding: .6rem 0; border-bottom: 1px solid #f1f5fb; }
.adp-detail-row:last-child { border-bottom: none; }
.adp-detail-label { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; color: #9ab0d4; }
.adp-detail-value { font-size: .9rem; font-weight: 600; color: #071840; line-height: 1.4; }
.adp-btn-all {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  background: linear-gradient(135deg, #071840 0%, #0d2b6e 100%);
  color: #fff; font-size: .85rem; font-weight: 700;
  padding: .7rem 1.25rem; border-radius: 9px;
  text-decoration: none; transition: opacity .2s, transform .2s;
}
.adp-btn-all:hover { opacity: .88; transform: translateY(-1px); }
.adp-contact-row {
  display: flex; align-items: center; gap: .6rem;
  font-size: .85rem; color: #374151;
  padding: .4rem 0; border-bottom: 1px solid #f1f5fb;
}
.adp-contact-row:last-of-type { border-bottom: none; }
.adp-contact-row svg { color: #6b87c4; flex-shrink: 0; }
.adp-btn-contact {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: .85rem; font-size: .82rem; font-weight: 700;
  color: #071840; text-decoration: none;
  border: 1.5px solid #dde6f4; padding: .5rem 1rem; border-radius: 8px;
  transition: border-color .2s, background .2s;
  width: 100%; justify-content: center;
}
.adp-btn-contact:hover { border-color: #0d2b6e; background: #f0f4ff; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .adp-layout { grid-template-columns: 1fr; }
  .adp-sidebar { order: 2; }
}
@media (max-width: 600px) {
  html, body { overflow-x: hidden !important; }
  .adp-article-inner { padding: 1.25rem !important; }
  .adp-article-title { font-size: 1.05rem !important; margin-bottom: 1rem !important; }
  .adp-article-body { font-size: .9rem !important; }
  .adp-nav { grid-template-columns: 1fr !important; }
  .adp-nav-btn.next { text-align: left !important; }
  .adp-page { padding: 1.25rem 0 3rem !important; }
  .container { padding-left: .85rem !important; padding-right: .85rem !important; }
}