/* Shared presentation for the homepage announcement popup and its inline version. */
.home-announcement-dialog{width:min(760px,calc(100% - 32px));max-width:calc(100% - 32px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);padding:0;margin:auto;border:0;border-radius:22px;background:#faf9f5;color:#23334d;box-shadow:0 30px 100px #1428454d;overflow:visible;overscroll-behavior:contain}
.home-announcement-dialog:not([open]){display:none}
.home-announcement-dialog[open]{display:block}
.home-announcement-dialog::backdrop{background:#17233c9e;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:home-announcement-backdrop-in .2s ease-out}
.home-announcement-card{position:relative;box-sizing:border-box;min-width:0;padding:30px 32px 32px;border:1px solid #e6e8ee;border-radius:22px;background:#faf9f5;color:#23334d;isolation:isolate;text-align:left;overflow-wrap:anywhere}
.home-announcement-dialog>.home-announcement-card{max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c4cfdf transparent;scroll-padding:60px 20px 24px}
.home-announcement-dialog[open]>.home-announcement-card{animation:home-announcement-arrive .23s cubic-bezier(.2,.7,.3,1)}
.home-announcement-close{position:sticky;top:0;z-index:5;float:right;display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;margin:-12px -14px 6px 12px;padding:0;border:1px solid #dce3ec;border-radius:50%;background:#fff;color:#526784;box-shadow:0 3px 12px #1f355015;font:400 27px/1 system-ui,sans-serif;cursor:pointer;touch-action:manipulation;transition:background .15s,color .15s,border-color .15s}
.home-announcement-close:hover{background:#eef3fb;color:#335ca4;border-color:#b8c8e0}
.home-announcement-close svg{width:18px;height:18px;pointer-events:none}
.home-announcement-close:focus-visible,.home-announcement-card a:focus-visible,.home-announcement-card button:focus-visible,.home-announcement-card video:focus-visible,.home-announcement-card iframe:focus-visible,[data-announcement-open]:focus-visible{outline:3px solid #84a5d7;outline-offset:4px}
.home-announcement-kicker{display:flex;align-items:center;gap:8px;width:fit-content;max-width:calc(100% - 45px);margin:0 0 12px;color:#335ca4;font-size:10px;font-weight:750;line-height:1.5;letter-spacing:.15em;text-transform:uppercase}
.home-announcement-kicker::before{content:"";display:inline-block;width:6px;height:6px;flex:none;border-radius:50%;background:#335ca4;box-shadow:0 0 0 4px #335ca40d}
.home-announcement-title{clear:left;margin:0 45px 22px 0;color:#213854;font-size:28px;font-weight:700;line-height:1.24;letter-spacing:-.65px;overflow-wrap:anywhere}
.home-announcement-image,.home-announcement-video{clear:both;width:100%;margin:18px 0;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 0 0 1px #203b5c0b}
.home-announcement-image>img{display:block;width:auto;max-width:100%;height:auto;max-height:65vh;max-height:65dvh;margin:auto;object-fit:contain}
.home-announcement-video>video{display:block;width:100%;height:auto;max-height:65vh;max-height:65dvh;background:#132139;object-fit:contain}
.home-announcement-video>iframe{display:block;width:100%;height:auto;min-height:190px;max-height:65vh;max-height:65dvh;aspect-ratio:16/9;border:0;background:#132139}
.home-announcement-player-tools{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:12px 14px;background:#f1f5fb;border-top:1px solid #dce5f1;font-size:12px;line-height:1.5}
.home-announcement-player-tools button{display:inline-flex;justify-content:center;align-items:center;min-height:38px;padding:8px 14px;border:1px solid #294e91;border-radius:999px;background:#335ca4;color:#fff;font-family:inherit;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer;touch-action:manipulation;white-space:nowrap;box-shadow:0 2px 7px #203b5c12}
.home-announcement-player-tools button:hover{background:#294d8b}
.home-announcement-player-tools [data-announcement-video-status]{flex:1;min-width:120px;color:#536882;font-size:12px;line-height:1.5}
.home-announcement-player-tools[data-state="error"] [data-announcement-video-status]{color:#a13131}
.home-announcement-player-tools[hidden],.home-announcement-player-tools [hidden]{display:none!important}
.home-announcement-content{clear:both;margin-top:20px;color:#52637c;font-size:14px;line-height:1.85;overflow-wrap:anywhere}
.home-announcement-content:empty{display:none}
.home-announcement-content>:first-child{margin-top:0}
.home-announcement-content>:last-child{margin-bottom:0}
.home-announcement-content p{margin:0 0 14px}
.home-announcement-content a{color:#335ca4;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.home-announcement-content strong,.home-announcement-content b{font-weight:700;color:#2d435f}
.home-announcement-content h2,.home-announcement-content h3,.home-announcement-content h4{color:#2a4262;margin:20px 0 10px;line-height:1.4;font-weight:650;letter-spacing:-.25px}
.home-announcement-content h2{font-size:21px}.home-announcement-content h3{font-size:18px}.home-announcement-content h4{font-size:16px}
.home-announcement-content ul,.home-announcement-content ol{padding-left:23px;margin:12px 0 16px}.home-announcement-content li{margin:5px 0}
.home-announcement-content blockquote{margin:18px 0;padding:12px 17px;border-left:3px solid #a6bcdd;border-radius:0 8px 8px 0;background:#eef2f8;color:#4b6284}
.home-announcement-content hr{margin:24px 0;border:0;border-top:1px solid #e0e5ee}
.home-announcement-content img{max-width:100%;height:auto;object-fit:contain}
.home-announcement-inline{box-sizing:border-box;max-width:1120px;margin:32px auto;scroll-margin-top:110px}
.home-announcement-inline>.home-announcement-card{padding:30px 34px;background:linear-gradient(120deg,#faf9f5,#f6f8fc);border-color:#e1e7f1;box-shadow:0 12px 28px -24px #335ca470}
.home-announcement-inline .home-announcement-title{max-width:870px;font-size:27px;margin-bottom:18px}
.home-announcement-inline .home-announcement-image,.home-announcement-inline .home-announcement-video{max-width:850px;margin:20px auto}
.home-announcement-inline .home-announcement-content{max-width:850px}
.home-announcement-inline .home-announcement-video>iframe{max-height:70vh;max-height:70dvh}
.home-announcement-inline [data-announcement-open]{margin-top:18px}
[data-announcement-open][hidden]{display:none!important}
.home-announcement-fallback-backdrop{position:fixed;inset:0;z-index:10001;background:#17233c9e;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:home-announcement-backdrop-in .2s ease-out}
.home-announcement-dialog.is-fallback[open]{position:fixed;inset:auto;left:50%;top:50%;z-index:10002;transform:translate(-50%,-50%);margin:0}
@keyframes home-announcement-arrive{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes home-announcement-backdrop-in{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.home-announcement-dialog{width:calc(100% - 22px);max-width:calc(100% - 22px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:17px}.home-announcement-dialog>.home-announcement-card{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}.home-announcement-card{padding:24px 18px 22px;border-radius:17px}.home-announcement-close{width:44px;height:44px;min-width:44px;min-height:44px;margin:-13px -7px 6px 10px;top:0;font-size:27px}.home-announcement-kicker{font-size:8px;letter-spacing:.14em;margin-bottom:10px}.home-announcement-title{font-size:23px;letter-spacing:-.45px;margin:0 38px 18px 0;line-height:1.3}.home-announcement-image,.home-announcement-video{margin:15px 0;border-radius:10px}.home-announcement-video>iframe{min-height:165px}.home-announcement-content{font-size:13px;line-height:1.85;margin-top:17px}.home-announcement-content h2{font-size:19px}.home-announcement-content h3{font-size:17px}.home-announcement-inline{margin:22px auto;scroll-margin-top:90px}.home-announcement-inline>.home-announcement-card{padding:25px 20px}.home-announcement-inline .home-announcement-title{font-size:23px}.home-announcement-inline .home-announcement-image,.home-announcement-inline .home-announcement-video{margin:17px auto}}
@media(max-height:500px){.home-announcement-dialog,.home-announcement-dialog>.home-announcement-card{max-height:calc(100vh - 18px);max-height:calc(100dvh - 18px)}.home-announcement-card{padding-top:23px}.home-announcement-close{top:0}.home-announcement-image>img,.home-announcement-video>video{max-height:72vh;max-height:72dvh}}
@media(prefers-reduced-motion:reduce){.home-announcement-dialog[open]>.home-announcement-card,.home-announcement-dialog::backdrop,.home-announcement-fallback-backdrop{animation:none}.home-announcement-close{transition:none}}
@media print{.home-announcement-dialog,.home-announcement-fallback-backdrop,[data-announcement-open]{display:none!important}.home-announcement-inline{margin:20px 0;max-width:100%}.home-announcement-inline>.home-announcement-card{box-shadow:none;break-inside:avoid}}

.home-announcement-inline[hidden],.home-announcement-close[hidden],.home-announcement-dialog[hidden]{display:none!important}

/* Quill formatting retained by the announcement HTML sanitizer. */
.home-announcement-content .ql-align-center{text-align:center}.home-announcement-content .ql-align-right{text-align:right}.home-announcement-content .ql-align-justify{text-align:justify}.home-announcement-content .ql-direction-rtl{direction:rtl}.home-announcement-content .ql-size-small{font-size:.75em}.home-announcement-content .ql-size-large{font-size:1.5em}.home-announcement-content .ql-size-huge{font-size:2.5em}.home-announcement-content .ql-font-serif{font-family:Georgia,"Times New Roman",serif}.home-announcement-content .ql-font-monospace{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.home-announcement-content .ql-indent-1:not(.ql-direction-rtl){padding-left:min(3em,45%)}.home-announcement-content .ql-indent-1.ql-direction-rtl{padding-right:min(3em,45%)}
.home-announcement-content .ql-indent-2:not(.ql-direction-rtl){padding-left:min(6em,45%)}.home-announcement-content .ql-indent-2.ql-direction-rtl{padding-right:min(6em,45%)}
.home-announcement-content .ql-indent-3:not(.ql-direction-rtl){padding-left:min(9em,45%)}.home-announcement-content .ql-indent-3.ql-direction-rtl{padding-right:min(9em,45%)}
.home-announcement-content .ql-indent-4:not(.ql-direction-rtl){padding-left:min(12em,45%)}.home-announcement-content .ql-indent-4.ql-direction-rtl{padding-right:min(12em,45%)}
.home-announcement-content .ql-indent-5:not(.ql-direction-rtl){padding-left:min(15em,45%)}.home-announcement-content .ql-indent-5.ql-direction-rtl{padding-right:min(15em,45%)}
.home-announcement-content .ql-indent-6:not(.ql-direction-rtl){padding-left:min(18em,45%)}.home-announcement-content .ql-indent-6.ql-direction-rtl{padding-right:min(18em,45%)}
.home-announcement-content .ql-indent-7:not(.ql-direction-rtl){padding-left:min(21em,45%)}.home-announcement-content .ql-indent-7.ql-direction-rtl{padding-right:min(21em,45%)}
.home-announcement-content .ql-indent-8:not(.ql-direction-rtl){padding-left:min(24em,45%)}.home-announcement-content .ql-indent-8.ql-direction-rtl{padding-right:min(24em,45%)}

/* A standalone video keeps its own aspect ratio and needs no surrounding card. */
.home-announcement-title--sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.home-announcement-dialog--video-only{--announcement-video-ratio:.5625;width:min(760px,calc(100vw - 24px),calc((100vh - 32px)*var(--announcement-video-ratio)));width:min(760px,calc(100vw - 24px),calc((100dvh - 32px)*var(--announcement-video-ratio)));max-width:calc(100vw - 24px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);border-radius:16px;background:#080b12}
.home-announcement-dialog--video-only.video-only--youtube{--announcement-video-ratio:1.7777778}
.home-announcement-dialog--video-only>.home-announcement-card--video-only{padding:0;margin:0;border:0;border-radius:inherit;background:#080b12;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;box-shadow:none}
.home-announcement-dialog--video-only .home-announcement-video{position:relative;clear:none;margin:0;border:0;border-radius:inherit;background:#080b12;box-shadow:none;overflow:hidden}
.home-announcement-dialog--video-only .home-announcement-video>video{width:100%;height:auto;aspect-ratio:var(--announcement-video-ratio);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:0;background:#080b12;object-fit:contain}
.home-announcement-dialog--video-only .home-announcement-video>iframe{width:100%;height:auto;min-height:0;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);aspect-ratio:16/9;margin:0;background:#080b12}
.home-announcement-dialog--video-only .home-announcement-close{position:absolute;top:10px;right:10px;float:none;margin:0;width:40px;height:40px;min-width:40px;min-height:40px;border:1px solid #ffffff45;background:#15213391;color:#fff;box-shadow:0 4px 15px #0002;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.home-announcement-dialog--video-only .home-announcement-close:hover{background:#152133d9;border-color:#ffffff85}
.home-announcement-dialog--video-only .home-announcement-player-tools{position:absolute;left:12px;right:12px;bottom:58px;z-index:3;align-items:flex-start;padding:0;border:0;background:none;pointer-events:none}
.home-announcement-dialog--video-only .home-announcement-player-tools button{min-height:38px;border-color:#ffffff4d;background:#172941c9;color:#fff;box-shadow:0 3px 15px #0003;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);pointer-events:auto}
.home-announcement-dialog--video-only .home-announcement-player-tools button:hover{background:#335ca4}
.home-announcement-dialog--video-only [data-announcement-video-status]{flex:0 1 auto;min-width:0;max-width:100%;padding:8px 12px;border-radius:12px;background:#142035db;color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.home-announcement-dialog--video-only .home-announcement-player-tools[data-state="error"] [data-announcement-video-status]{background:#5c1f2bee;color:#fff}
@media(max-width:600px){.home-announcement-dialog--video-only .home-announcement-close{width:44px;height:44px;min-width:44px;min-height:44px;top:8px;right:8px}.home-announcement-dialog--video-only .home-announcement-player-tools{left:10px;right:10px;bottom:62px;gap:7px}}
