.pn-announcement { --pn-ink:#203967; --pn-surface:#f5f8fc; --pn-accent:#ff784f; box-sizing:border-box; position:relative; color:var(--pn-ink); background:var(--pn-surface); font-family:inherit; line-height:1.5; overflow-wrap:anywhere; }
.pn-announcement *, .pn-announcement *::before, .pn-announcement *::after { box-sizing:border-box; }
.pn-announcement--peach { --pn-surface:#ffe3d7; }
.pn-announcement--bar { display:flex; align-items:center; justify-content:center; gap:16px; padding:12px 56px 12px 24px; width:100%; isolation:isolate; z-index:51; font-size:14px; border-bottom:1px solid #20396726; }
.pn-announcement--bar.pn-announcement--navy { --pn-surface:#203967; --pn-ink:#fff; }
.pn-announcement__copy { min-width:0; }
.pn-announcement--bar .pn-announcement__copy { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 16px; }
.pn-announcement__heading { display:block; margin:0; font-family:inherit; font-weight:700; color:inherit; }
.pn-announcement--popup .pn-announcement__heading { font-size:clamp(23px,4vw,32px); line-height:1.2; font-weight:700; letter-spacing:-.03em; margin:0 0 14px; }
.pn-announcement--bar .pn-announcement__heading { font-size:14px; font-weight:700; }
.pn-announcement__body p { margin:0 0 12px; }
.pn-announcement__body p:last-child { margin-bottom:0; }
.pn-announcement__body a { text-decoration:underline; color:inherit; }
.pn-announcement__body ul, .pn-announcement__body ol { margin:8px 0; padding-left:24px; }
.pn-announcement__body ul { list-style:disc; }
.pn-announcement__body ol { list-style:decimal; }
.pn-announcement__body img { max-width:100%; height:auto; }
.pn-announcement__button { display:inline-flex; align-items:center; justify-content:center; padding:11px 20px; border-radius:12px; background:var(--pn-accent); color:#172c50; text-decoration:none; font-size:14px; font-weight:750; line-height:1.4; flex-shrink:0; }
.pn-announcement--popup .pn-announcement__button { margin-top:22px; }
.pn-announcement--bar .pn-announcement__button { padding:6px 14px; border-radius:8px; font-size:13px; }
.pn-announcement__button:hover { filter:brightness(.95); }
.pn-announcement__button:focus-visible, .pn-announcement__close:focus-visible, .pn-announcement a:focus-visible { outline:3px solid currentColor; outline-offset:3px; }
.pn-announcement__close { position:absolute; right:10px; top:10px; width:36px; height:36px; border:1px solid currentColor; border-radius:50%; background:var(--pn-surface); color:var(--pn-ink); padding:0; font:400 26px/1 system-ui,sans-serif; cursor:pointer; display:grid; place-items:center; opacity:.85; z-index:1; }
.pn-announcement--bar .pn-announcement__close { width:32px; height:32px; top:50%; transform:translateY(-50%); }
.pn-announcement__image { display:block; width:100%; height:auto; object-fit:contain; }
.pn-announcement--bar .pn-announcement__image { width:auto; max-width:240px; max-height:56px; flex-shrink:0; }
.pn-announcement__image-link { display:block; min-width:0; }
.pn-announcement--bar .pn-announcement__image-link { flex-shrink:0; }
.pn-announcement-dialog { border:0; padding:0; margin:auto; width:min(880px,calc(100% - 40px)); max-width:none; max-height:calc(100dvh - 48px); overflow:auto; border-radius:24px; color:#203967; background:#f5f8fc; box-shadow:0 24px 90px #14264740; }
.pn-announcement-dialog::backdrop { background:#162b4e9e; }
.pn-announcement--popup { padding:48px; font-size:16px; }
.pn-announcement--popup.pn-announcement--mixed { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:32px; }
.pn-announcement--popup.pn-announcement--mixed .pn-announcement__image { border-radius:12px; }
.pn-announcement--popup.pn-announcement--image { padding:0; }
.pn-announcement--popup.pn-announcement--image .pn-announcement__copy { padding:0 24px 24px; }
.pn-popup-open { overflow:hidden !important; }
@media(max-width:767px) {
  .pn-announcement--bar { gap:10px; padding:12px 48px 12px 16px; text-align:center; font-size:13px; }
  .pn-announcement--bar .pn-announcement__copy { gap:6px 10px; }
  .pn-announcement--bar .pn-announcement__image { max-width:100px; max-height:48px; }
  .pn-announcement-dialog { width:calc(100% - 24px); max-height:calc(100dvh - 32px); border-radius:18px; }
  .pn-announcement--popup { padding:48px 24px 28px; font-size:15px; }
  .pn-announcement--popup.pn-announcement--mixed { grid-template-columns:minmax(0,1fr); gap:22px; }
  .pn-announcement--popup.pn-announcement--mixed .pn-announcement__image { max-height:220px; }
}
@media(prefers-reduced-motion:no-preference) {
  .pn-announcement-dialog[open] { animation:pn-notice-in .2s ease-out; }
  @keyframes pn-notice-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
