.closure-banner{background:#edf6fa;border-block:1px solid #c9dfe9;color:#123650;font-size:.875rem}
.closure-banner[hidden]{display:none}
.closure-banner-inner{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;padding-block:12px}
.closure-banner p{display:flex;flex-wrap:wrap;gap:3px 18px;margin:0;line-height:1.5}
.closure-banner strong{color:var(--navy)}
.closure-details{flex-shrink:0;background:none;border:0;padding:8px 0;min-height:44px;font:inherit;font-weight:700;color:var(--navy);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.closure-details span{margin-left:6px}
.closure-notice{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;margin:auto;border:1px solid #d0e2ec;border-radius:20px;background:#fff;color:#15394e;box-shadow:0 22px 90px #06263b40;overflow:auto}
.closure-notice:not([open]){display:none}
.closure-notice::backdrop{background:#08243b80}
.closure-notice-body{padding:28px 32px 32px;border-top:6px solid var(--navy)}
.closure-notice-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.closure-notice .eyebrow{margin:0;color:#466579;font-size:.7rem;letter-spacing:.1em}
.closure-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #d6e4ec;border-radius:50%;background:#f2f7fa;color:var(--navy);font:400 1.7rem/1 var(--body);cursor:pointer}
.closure-close:hover{background:#e2edf4}
.closure-notice h2{margin:0 0 12px;color:var(--navy);font-size:clamp(1.5rem,5vw,2rem);line-height:1.2;letter-spacing:-.035em}
.closure-notice #closure-message{margin:0;font-size:1.0625rem;line-height:1.6}
.closure-dates{margin:24px 0 20px;padding:18px 20px;border:1px solid #d2e4ed;border-radius:12px;background:#f1f8fb}
.closure-dates>div+div{margin-top:16px;padding-top:16px;border-top:1px solid #d2e4ed}
.closure-dates dt{margin:0 0 5px;color:#526b7c;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.closure-dates dd{margin:0;color:var(--navy);font-size:1.08rem;font-weight:700;line-height:1.5}
.closure-dates dd span{display:block;font-size:.9rem;font-weight:400;color:#526b7c}
.closure-thanks{margin:0 0 24px;color:#526b7c;line-height:1.6;font-size:1rem}
.closure-continue{width:100%;justify-content:center;gap:20px;min-height:48px}
.closure-notice button:focus-visible,.closure-details:focus-visible{outline:3px solid #0786aa;outline-offset:4px}
@media(max-width:540px){.closure-banner-inner{align-items:flex-start;gap:8px}.closure-banner p{display:block;font-size:.8125rem}.closure-banner strong,.closure-banner p span{display:block}.closure-details{font-size:.8125rem}.closure-notice-body{padding:20px 22px 24px}.closure-notice-heading{margin-bottom:10px}.closure-dates{padding:16px}}
@media(prefers-reduced-motion:no-preference){.closure-notice[open]{animation:closure-appear .18s ease-out}@keyframes closure-appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
