.announcements-page {
    position: relative;
    min-height: 70vh;
    padding: 0 0 4.5rem;
    overflow: hidden;
    background: #fff;
}

.announcement-grid {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 58px;
    opacity: .25;
    pointer-events: none;
    background-image: linear-gradient(rgba(220, 239, 255, .12) 1px, transparent 1px), linear-gradient(90deg, rgba(220, 239, 255, .12) 1px, transparent 1px);
    background-size: 36px 36px;
}

.announcement-shell { position: relative; z-index: 1; width: min(100% - 4rem, 1440px); max-width: none; }
.announcement-masthead { display:flex; align-items:center; justify-content:center; gap:2rem; min-height:58px; padding:.7rem 0; color:#fff; text-align:center; }
.announcements-page::before { position:absolute; z-index:0; top:0; right:0; left:0; height:58px; content:""; background:linear-gradient(112deg, #04172e 0%, #082f59 55%, #174878 100%); }
.announcement-kicker, .section-label { margin:0 0 .6rem; color:#b8d4f4; font-size:.73rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.announcement-kicker i { margin-right:.4rem; color:#e3bc50; }
.announcement-masthead h1, .noticeboard h2, .deadline-panel h2, .update-contact h2 { font-family:Lora, Georgia, serif; }
.announcement-masthead h1 { margin:0 0 .75rem; font-size:clamp(2.25rem, 5vw, 3.4rem); font-weight:600; letter-spacing:-.03em; }
.announcement-masthead__content { flex:0 1 auto; }
.announcement-intro { max-width:none; margin:0; color:#d9e7f5; font-size:1.04rem; line-height:1.75; }
.announcement-masthead__seal { display:flex; align-items:center; gap:.75rem; flex:0 0 auto; padding:1rem 1.25rem; color:#f2cf71; border-left:1px solid rgba(242,207,113,.62); font-family:Lora, Georgia, serif; font-size:.88rem; font-weight:700; line-height:1.1; letter-spacing:.08em; }
.announcement-masthead__seal i { font-size:2rem; }

.noticeboard { padding:3rem 2.6rem 2rem 0; }
.noticeboard__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding-bottom:1.35rem; border-bottom:2px solid #183e69; }
.noticeboard__heading .section-label, .deadline-panel .section-label { color:#a93600; }
.noticeboard h2 { margin:0; color:#09274a; font-size:1.85rem; }
.noticeboard__count { padding:.3rem 0; color:#627a95; font-size:.75rem; font-weight:700; white-space:nowrap; }
.announcement-card { display:flex; gap:1.55rem; padding:2rem 0; border-bottom:1px solid #dbe4ed; background:transparent; }
.announcement-card__date { display:flex; align-items:center; align-self:flex-start; flex:0 0 auto; gap:.5rem; min-width:86px; padding:.05rem 0 .65rem; color:#17406e; border-bottom:3px solid #d2a326; }
.announcement-card__date span { font-family:Lora, Georgia, serif; font-size:2rem; font-weight:700; line-height:1; }.announcement-card__date small { font-size:.68rem; font-weight:700; line-height:1.2; text-transform:uppercase; }
.announcement-card__body { min-width:0; }.announcement-card__meta { display:flex; flex-wrap:wrap; gap:.55rem .8rem; margin-bottom:.55rem; color:#71849a; font-size:.72rem; }.announcement-card__tag { color:#a93600; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.announcement-card h3 { margin:0 0 .6rem; color:#09274a; font-family:Lora, Georgia, serif; font-size:1.55rem; }.announcement-card p { max-width:720px; margin:0; color:#53677e; font-size:.96rem; line-height:1.8; }
.announcement-card__actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.1rem; margin-top:1.3rem; }.announcement-button { padding:.62rem 1rem; color:#fff; background:#a93600; border-radius:0; font-size:.82rem; font-weight:700; }.announcement-button:hover { color:#fff; background:#7f2800; }.announcement-link, .deadline-panel__link { color:#174797; font-size:.82rem; font-weight:700; text-decoration:none; }.announcement-link:hover, .deadline-panel__link:hover { color:#a93600; }.announcement-link i, .deadline-panel__link i { margin-left:.25rem; }

.deadline-panel { min-height:100%; padding:3rem 0 2rem 2rem; color:#314d6c; border-left:1px solid #d6e1ec; background:transparent; }.deadline-panel h2 { margin:0 0 1.4rem; color:#09274a; font-size:1.45rem; }.deadline-panel__date { display:flex; align-items:center; gap:1rem; margin-bottom:1.2rem; padding:.95rem 0; color:#103a67; border-top:1px solid #cbd9e6; border-bottom:1px solid #cbd9e6; line-height:1.25; }.deadline-panel__date i { color:#a93600; font-size:1.55rem; }.deadline-panel__date strong { font-family:Lora, Georgia, serif; font-size:1.25rem; }.deadline-panel p { margin-bottom:1.2rem; font-size:.88rem; line-height:1.7; }
.update-contact { display:flex; gap:.9rem; margin-top:1.5rem; padding:1.3rem 0 0 2rem; border-top:1px solid #d6e1ec; }.update-contact > i { color:#a93600; font-size:1.35rem; }.update-contact h2 { margin:0 0 .25rem; color:#163a67; font-size:1.05rem; }.update-contact p { margin:0 0 .3rem; color:#687b91; font-size:.78rem; line-height:1.55; }.update-contact a { color:#174797; font-size:.76rem; font-weight:700; overflow-wrap:anywhere; }
.announcement-footer-note { margin:1.5rem 0 0; padding-top:1.4rem; color:#64768c; border-top:1px solid #dce5ee; font-size:.8rem; }.announcement-footer-note i { margin-right:.3rem; color:#a93600; }

@media (max-width: 991.98px) { .announcement-masthead { min-height:58px; }.noticeboard { padding-right:0; }.deadline-panel { min-height:auto; padding:2rem 0 1rem; border-top:1px solid #d6e1ec; border-left:0; }.update-contact { padding-left:0; } }
@media (max-width: 575.98px) { .announcements-page { padding-bottom:3rem; }.announcement-shell { width:calc(100% - 2rem); }.announcement-masthead { min-height:54px; padding:.65rem 0; }.announcement-masthead__seal { display:none; }.noticeboard { padding:2rem 0 1rem; }.noticeboard h2 { font-size:1.55rem; }.announcement-card { flex-direction:column; gap:1rem; padding:1.5rem 0; }.announcement-card__date { width:86px; }.announcement-card__actions { align-items:flex-start; flex-direction:column; gap:.8rem; }.deadline-panel { padding-top:2rem; } }
