.modal-open{overflow:hidden}
.notice-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:1.25rem}
.notice-modal[hidden]{display:none}
.notice-backdrop{position:absolute;inset:0;background:rgba(5,25,20,.72);backdrop-filter:blur(4px)}
.notice-card{width:min(100%,540px);max-height:calc(100vh - 2.5rem);overflow:auto;position:relative;z-index:1;padding:clamp(1.6rem,5vw,2.7rem);background:var(--white);border-radius:1.5rem;box-shadow:0 30px 90px rgba(4,24,18,.38);animation:notice-in .28s ease-out}
.notice-close{width:2.5rem;height:2.5rem;position:absolute;top:.8rem;right:.8rem;border:0;border-radius:50%;color:var(--muted);background:#f1f3f1;font-size:1.65rem;line-height:1;cursor:pointer}
.notice-close:hover,.notice-close:focus-visible{color:var(--forest-deep);background:#e4e9e6;outline:3px solid rgba(19,63,50,.14)}
.notice-icon{width:3.4rem;height:3.4rem;margin-bottom:1.25rem;border-radius:50%;display:grid;place-items:center;color:var(--cream);background:var(--forest);font-size:1.35rem;font-weight:800}
.notice-card h2{padding-right:2rem}
.notice-card>p:not(.eyebrow){color:var(--muted)}
.notice-highlight{margin:1.25rem 0;padding:1rem 1.1rem;color:var(--ink)!important;background:var(--cream);border-left:4px solid var(--gold);border-radius:.25rem .8rem .8rem .25rem}
.notice-highlight strong{color:var(--forest-deep)}
.notice-button{width:100%;margin-top:.25rem}
@keyframes notice-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.notice-card{animation:none}}
