.announcements-page,
.announcement-single { --ann-green:#94b62b; --ann-gold:#f2b33d; --ann-ink:#243b3c; --ann-muted:#667776; --ann-soft:#f7f8f2; color:var(--ann-ink); background:#fff; }
.announcements-hero { position:relative; overflow:hidden; padding:92px 0 78px; color:#fff; background:linear-gradient(125deg,#1f3b3e 0%,#315457 58%,#607828 100%); }
.announcements-hero::after { content:""; position:absolute; inset:auto 0 0; height:5px; background:linear-gradient(90deg,var(--ann-green),var(--ann-gold),var(--ann-green)); }
.announcements-hero-inner { position:relative; z-index:2; }
.announcements-hero h1 { margin:13px 0 12px; color:#fff; font-size:clamp(2.3rem,5vw,4.2rem); font-weight:900; line-height:1.15; }
.announcements-hero p { max-width:720px; margin:0; color:rgba(255,255,255,.86); font-size:clamp(1rem,1.7vw,1.25rem); line-height:1.9; }
.announcements-kicker { display:inline-flex; align-items:center; gap:9px; padding:8px 15px; border:1px solid rgba(255,255,255,.2); border-radius:99px; background:rgba(255,255,255,.1); color:#fff; font-weight:800; }
.announcements-hero-shape { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.1); }
.announcements-hero-shape-one { width:280px; height:280px; left:7%; top:-135px; box-shadow:0 0 0 45px rgba(255,255,255,.035); }
.announcements-hero-shape-two { width:190px; height:190px; right:42%; bottom:-145px; background:rgba(242,179,61,.11); }
.announcements-listing { padding:64px 0 88px; background:linear-gradient(180deg,var(--ann-soft),#fff 420px); }
.announcements-filters { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:38px; }
.announcements-filters a { display:inline-flex; align-items:center; gap:8px; padding:10px 20px; border:1px solid #dfe6dc; border-radius:99px; background:#fff; color:var(--ann-ink); font-weight:800; text-decoration:none; transition:.22s ease; }
.announcements-filters a span { display:grid; min-width:22px; height:22px; place-items:center; padding:0 5px; border-radius:50px; background:#eef2e7; font-size:.75rem; }
.announcements-filters a:hover,.announcements-filters a.is-active { border-color:var(--ann-green); background:var(--ann-green); color:#fff; transform:translateY(-2px); box-shadow:0 8px 20px rgba(100,130,35,.18); }
.announcements-filters a.is-active span { background:rgba(255,255,255,.2); }
.announcements-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.announcement-card { display:flex; overflow:hidden; flex-direction:column; min-width:0; border:1px solid #e5e9df; border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(30,55,55,.08); transition:transform .25s ease,box-shadow .25s ease; }
.announcement-card:hover { transform:translateY(-7px); box-shadow:0 20px 45px rgba(30,55,55,.14); }
.announcement-card-media { position:relative; display:block; overflow:hidden; aspect-ratio:16/10; background:#e9eee3; }
.announcement-card-media::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(18,39,40,.55)); pointer-events:none; }
.announcement-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.announcement-card:hover .announcement-card-media img { transform:scale(1.045); }
.announcement-card-placeholder { display:grid; width:100%; height:100%; place-items:center; color:#fff; background:linear-gradient(135deg,#315457,var(--ann-green)); font-size:3.2rem; }
.announcement-type-badge { display:inline-flex; align-items:center; width:max-content; padding:7px 13px; border-radius:8px; background:var(--ann-gold); color:#263b3c; font-size:.84rem; font-weight:900; }
.announcement-card-media .announcement-type-badge { position:absolute; z-index:2; right:16px; bottom:15px; }
.announcement-card-body { display:flex; flex:1; flex-direction:column; padding:22px; }
.announcement-meta { display:flex; flex-wrap:wrap; gap:8px 15px; margin-bottom:12px; color:#7a8885; font-size:.78rem; }
.announcement-meta i,.announcement-deadline i { color:var(--ann-green); }
.announcement-card h2 { margin:0 0 10px; font-size:1.18rem; font-weight:900; line-height:1.65; }
.announcement-card h2 a { color:var(--ann-ink); text-decoration:none; }
.announcement-card p { margin:0 0 17px; color:var(--ann-muted); font-size:.92rem; line-height:1.8; }
.announcement-deadline { margin:auto 0 15px; padding:10px 12px; border-radius:9px; background:#f4f6ef; color:#60706d; font-size:.82rem; }
.announcement-more { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; padding:12px 18px; border-radius:10px; background:var(--ann-green); color:#fff!important; font-weight:900; text-decoration:none!important; transition:.2s ease; }
.announcement-more:hover { background:#789522; gap:14px; }
.announcements-pagination { margin-top:48px; }
.announcements-pagination ul { display:flex; justify-content:center; gap:8px; padding:0; list-style:none; }
.announcements-pagination .page-numbers { display:grid; min-width:42px; height:42px; place-items:center; padding:0 13px; border:1px solid #dfe6dc; border-radius:99px; background:#fff; color:var(--ann-ink); text-decoration:none; }
.announcements-pagination .current,.announcements-pagination a:hover { border-color:var(--ann-green); background:var(--ann-green); color:#fff; }
.announcements-empty { padding:70px 20px; text-align:center; }
.announcements-empty>i { color:var(--ann-green); font-size:3rem; }
.announcements-empty h2 { margin:18px 0 5px; font-size:1.6rem; }
.announcements-empty p { color:var(--ann-muted); }
.announcement-single-hero { padding:72px 0; color:#fff; background:linear-gradient(125deg,#1f3b3e,#3d6262); }
.announcement-single-heading { display:flex; align-items:flex-start; flex-direction:column; }
.announcement-back { margin-bottom:22px; color:rgba(255,255,255,.78)!important; text-decoration:none; }
.announcement-single-heading h1 { max-width:980px; margin:18px 0; color:#fff; font-size:clamp(2rem,4vw,3.35rem); font-weight:900; line-height:1.4; }
.announcement-single-meta { display:flex; flex-wrap:wrap; gap:11px 25px; color:rgba(255,255,255,.8); }
.announcement-single-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(280px,1fr); align-items:start; gap:34px; padding-top:58px; padding-bottom:85px; }
.announcement-single-card,.announcement-actions-card { border:1px solid #e5e9df; border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(30,55,55,.08); }
.announcement-single-card { overflow:hidden; }
.announcement-single-image { margin:0; aspect-ratio:16/8; background:#eef1e8; }
.announcement-single-image img { width:100%; height:100%; object-fit:cover; }
.announcement-content { padding:clamp(24px,5vw,48px); color:#3d4c4b; font-size:1.04rem; line-height:2; }
.announcement-content h2,.announcement-content h3 { margin:1.4em 0 .55em; color:var(--ann-ink); font-weight:900; }
.announcement-content a { color:#6d8d1d; font-weight:700; }
.announcement-actions { position:sticky; top:30px; }
.announcement-actions-card { padding:30px; text-align:center; }
.announcement-actions-icon { display:grid; width:62px; height:62px; place-items:center; margin:0 auto 17px; border-radius:18px; background:#edf3df; color:var(--ann-green); font-size:1.45rem; transform:rotate(-4deg); }
.announcement-actions-card h2 { margin:0 0 8px; color:var(--ann-ink); font-size:1.35rem; font-weight:900; }
.announcement-actions-card p { margin-bottom:22px; color:var(--ann-muted); line-height:1.8; }
.announcement-primary-action,.announcement-secondary-action { display:flex; align-items:center; justify-content:center; gap:9px; margin-top:10px; padding:13px 16px; border-radius:10px; font-weight:900; text-decoration:none!important; }
.announcement-primary-action { background:var(--ann-green); color:#fff!important; }
.announcement-secondary-action { border:1px solid #d7dfd1; color:var(--ann-ink)!important; background:#fff; }
.announcement-contact-note { display:block; padding:12px; border-radius:9px; background:#f4f6ef; color:var(--ann-muted); font-size:.9rem; }
@media(max-width:960px){.announcements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.announcement-single-layout{grid-template-columns:1fr}.announcement-actions{position:static}}
@media(max-width:640px){.announcements-hero{padding:62px 0 55px}.announcements-listing{padding:40px 0 64px}.announcements-grid{grid-template-columns:1fr}.announcement-card-body{padding:19px}.announcement-single-hero{padding:50px 0}.announcement-single-layout{padding-top:32px;padding-bottom:60px}.announcement-single-meta{flex-direction:column;gap:7px}.announcement-content{padding:22px}.announcements-filters{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:7px}.announcements-filters a{flex:none}}
