/* ─────────────────────────────────────────────
   announcements.css  —  styles for announcements page
   ───────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box}
:root{--moss:#2d4a2f;--fern:#4a7c4e;--sage:#8aad8c;--mist:#c8ddc9;--cream:#f5f0e8;--soil:#3a2e1e;--amber:#c8921a;--glass:rgba(200,221,201,0.15);--glass-border:rgba(138,173,140,0.3);--nav:92px;}
html{scroll-behavior:smooth}
body{background:#0e1a0f;color:var(--cream);font-family:'Cormorant Garamond',serif;min-height:100vh;overflow-x:hidden;margin-left:var(--nav);cursor:none;}
body::before{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 80%,rgba(45,74,47,.6) 0%,transparent 70%),radial-gradient(ellipse 40% 50% at 20% 30%,rgba(74,124,78,.15) 0%,transparent 60%),#0e1a0f;pointer-events:none;z-index:-3;}
.noise{position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");}
.cursor{position:fixed;width:10px;height:10px;background:var(--sage);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:screen;}
.cursor-ring{position:fixed;width:36px;height:36px;border:1px solid var(--sage);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);opacity:.5;}
.page{width:min(900px,calc(100vw - var(--nav) - 64px));margin:0 auto;padding:7rem 0 5rem;}
.page-eyebrow{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;color:var(--fern);margin-bottom:.8rem;}
.page-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5vw,4.5rem);line-height:1;color:var(--cream);}
.page-title em{color:var(--sage);font-style:italic;}
.divider{width:60px;height:1px;background:var(--fern);margin:1.5rem 0 2.5rem;}
.page-sub{font-size:1.1rem;line-height:1.75;color:var(--mist);opacity:.68;max-width:680px;margin-bottom:3rem;}

/* Announcement cards */
.announcements-list{display:flex;flex-direction:column;gap:1.25rem;}
.ann-card{background:rgba(9,22,11,.62);border:1px solid var(--glass-border);border-radius:16px;padding:1.8rem 2rem;backdrop-filter:blur(12px);transition:border-color .2s;}
.ann-card:hover{border-color:rgba(138,173,140,.4);}
.ann-card.pinned{border-color:rgba(200,146,26,.35);background:rgba(200,146,26,.04);}
.ann-pin{font-family:'DM Mono',monospace;font-size:.48rem;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:.6rem;display:flex;align-items:center;gap:.4rem;}
.ann-title{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--cream);margin-bottom:.75rem;line-height:1.2;}
.ann-content{font-size:1rem;line-height:1.75;color:var(--mist);opacity:.72;white-space:pre-line;}
.ann-date{font-family:'DM Mono',monospace;font-size:.52rem;letter-spacing:.16em;text-transform:uppercase;color:var(--fern);margin-top:1rem;opacity:.6;}
.ann-empty{text-align:center;padding:5rem 2rem;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);opacity:.25;}
footer{border-top:1px solid var(--glass-border);padding:2rem 0;display:flex;align-items:center;justify-content:space-between;width:min(900px,calc(100vw - var(--nav) - 64px));margin:0 auto;}
.footer-logo{font-family:'Playfair Display',serif;font-size:.9rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mist);opacity:.3;}
.footer-copy{font-family:'DM Mono',monospace;font-size:.55rem;color:var(--mist);opacity:.22;}
