.site-announcement { border: 1px solid rgba(172,148,113,.4); border-top: 3px solid var(--gold-500,#ac9471); border-radius: 20px; padding: 0; width: min(680px,calc(100% - 32px)); max-height: min(780px,calc(100dvh - 40px)); margin: auto; background: #fcfbf8; color: var(--navy-800,#27333d); box-shadow: 0 32px 100px #101b3040; }
.site-announcement[open] { display: flex; flex-direction: column; }
.site-announcement::backdrop { background: rgba(20,30,40,.55); backdrop-filter: blur(7px); }
.site-announcement__head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:20px 28px 12px; flex:none; }
.site-announcement__eyebrow { font:600 10px/1.6 var(--sans,sans-serif); letter-spacing:.16em; color:#796548; }
.site-announcement__close { width:44px; height:44px; flex:none; border:1px solid #ac94714d; border-radius:50%; background:transparent; color:inherit; font:28px/1 sans-serif; cursor:pointer; }
.site-announcement__scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 32px 20px; scrollbar-width:thin; }
.site-announcement h2 { font:500 clamp(25px,4vw,34px)/1.15 var(--serif,serif); margin:0 0 20px; }
.site-announcement p { font:400 14px/1.8 var(--sans,sans-serif); margin:0 0 14px; overflow-wrap:anywhere; }
.site-announcement__foot { display:flex; align-items:center; justify-content:space-between; gap:16px; flex:none; padding:18px 28px; border-top:1px solid #ac947133; background:#f3f0e9; }
.site-announcement__foot a { font-size:12px; text-decoration:underline; text-underline-offset:4px; color:inherit; }
.site-announcement__foot .btn { color:#fff; }
.site-announcement :focus-visible { outline:2px solid #796548; outline-offset:3px; }
html.announcement-open { overflow:hidden; }
@media(max-width:600px) { .site-announcement { max-height:calc(100dvh - 24px); border-radius:16px; } .site-announcement__head { padding:12px 16px; } .site-announcement__scroll { padding:0 20px 12px; } .site-announcement__foot { padding:14px 20px; flex-wrap:wrap; } .site-announcement__foot .btn { margin-left:auto; } }

@media print { .site-announcement { display:none !important; } html.announcement-open { overflow:visible; } }
