.announcement-backdrop{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(12,24,57,.68);backdrop-filter:blur(5px);animation:announcementFade .22s ease-out}
.announcement-backdrop[hidden]{display:none}
.announcement-modal{position:relative;width:min(100%,760px);max-height:92vh;overflow:auto;padding:0 0 26px;border:1px solid rgba(57,118,220,.15);border-radius:20px;background:#fff;box-shadow:0 24px 90px rgba(10,30,80,.35);text-align:center;animation:announcementRise .28s ease-out;color:#19233e}
.announcement-close{position:absolute;right:12px;top:12px;z-index:2;width:42px;height:42px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(255,255,255,.94);color:#172d9b;font-size:29px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 4px 16px rgba(0,0,0,.15);transition:background .2s,transform .2s}
.announcement-close:hover{background:#dce7ff;transform:rotate(90deg)}
.announcement-poster{display:block;width:100%;height:auto;max-height:67vh;object-fit:contain;object-position:center;background:#f4f7fc;border-radius:19px 19px 0 0}
.announcement-poster[hidden]{display:none}
.announcement-eyebrow{margin:20px 22px 8px;color:#ff7a00;font-size:11px;font-weight:800;letter-spacing:.1em}
.announcement-modal h2{margin:0 auto 10px;padding:0 22px;max-width:650px;color:#17213d;font-size:clamp(23px,4vw,32px);line-height:1.15;letter-spacing:-.035em}
.announcement-modal #announcement-message{margin:0 auto 18px;padding:0 22px;max-width:640px;color:#5d6a87;font-size:14px;line-height:1.6}
.announcement-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 24px;border-radius:12px;background:#ff7a00;color:#fff!important;font-weight:750;text-decoration:none;box-shadow:0 8px 20px rgba(255,122,0,.22);transition:transform .2s,box-shadow .2s}
.announcement-action:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(255,122,0,.3)}
.announcement-footnote{margin:16px 0 0;color:#7a87a1;font-size:12px}
body.announcement-open{overflow:hidden}
@keyframes announcementFade{from{opacity:0}to{opacity:1}}
@keyframes announcementRise{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.announcement-backdrop{padding:10px}.announcement-modal{max-height:94vh;border-radius:16px;padding-bottom:20px}.announcement-poster{max-height:56vh;border-radius:15px 15px 0 0}.announcement-close{width:36px;height:36px;right:8px;top:8px}.announcement-modal #announcement-message{font-size:13px}}
@media(prefers-reduced-motion:reduce){.announcement-backdrop,.announcement-modal{animation:none}.announcement-close,.announcement-action{transition:none}}
