.submission-modal { position: fixed; inset: 0px; z-index: 100; display: grid; place-items: center; padding: 22px; visibility: hidden; pointer-events: none; }
.submission-modal.is-open { visibility: visible; pointer-events: auto; }
.submission-modal-backdrop { position: absolute; inset: 0px; background: rgba(32, 17, 17, 0.58); backdrop-filter: blur(9px); opacity: 0; transition: opacity 0.45s; }
.submission-modal.is-open .submission-modal-backdrop { opacity: 1; }
.submission-modal-card { position: relative; width: min(540px, 100%); padding: 64px 54px 48px; background: linear-gradient(145deg, rgb(255, 250, 247), rgb(244, 223, 214)); border: 1px solid rgba(255, 255, 255, 0.8); box-shadow: rgba(35, 17, 17, 0.34) 0px 36px 100px; color: rgb(59, 38, 36); text-align: center; opacity: 0; transform: translateY(30px) scale(0.965); transition: opacity 0.45s, transform 0.65s cubic-bezier(0.2, 0.8, 0.2, 1); overflow: hidden; }
.submission-modal-card::before, .submission-modal-card::after { content: ""; position: absolute; width: 180px; height: 140px; background: url("assets/shell-line.svg") center center / contain no-repeat; opacity: 0.16; pointer-events: none; }
.submission-modal-card::before { left: -70px; top: -35px; transform: rotate(-20deg); }
.submission-modal-card::after { right: -70px; bottom: -40px; transform: rotate(160deg); }
.submission-modal.is-open .submission-modal-card { opacity: 1; transform: none; }
.submission-modal-close { position: absolute; right: 17px; top: 13px; width: 38px; height: 38px; border: 0px; background: transparent; color: rgb(106, 45, 62); font: 300 28px / 1 Georgia, serif; cursor: pointer; }
.submission-seal { width: 72px; height: 72px; margin: 0px auto 25px; display: grid; place-items: center; border: 1px solid rgba(106, 45, 62, 0.34); border-radius: 50%; position: relative; color: rgb(106, 45, 62); }
.submission-seal::before { content: ""; position: absolute; inset: 7px; border: 1px solid rgba(106, 45, 62, 0.18); border-radius: 50%; }
.submission-seal span { font-family: Georgia, serif; font-size: 25px; transform: scale(0.4); opacity: 0; transition: transform 0.55s cubic-bezier(0.2, 1.4, 0.3, 1) 0.28s, opacity 0.35s 0.28s; }
.submission-modal.is-open .submission-seal span { transform: scale(1); opacity: 1; }
.submission-kicker { margin: 0px 0px 15px; color: rgb(155, 95, 74); font-size: 9px; font-weight: 700; letter-spacing: 0.28em; }
.submission-modal-card h2 { margin: 0px; font-family: Didot, "Bodoni MT", "Times New Roman", serif; font-size: clamp(42px, 7vw, 62px); font-weight: 400; line-height: 1.02; }
.submission-modal-card > p:not(.submission-kicker) { max-width: 390px; margin: 22px auto 30px; color: rgb(128, 107, 101); font-family: Georgia, serif; font-size: 15px; line-height: 1.7; }
.submission-modal-done { min-height: 48px; padding: 0px 24px; border: 1px solid rgb(106, 45, 62); background: rgb(106, 45, 62); color: rgb(255, 255, 255); text-transform: uppercase; font-size: 9px; font-weight: 700; letter-spacing: 0.18em; cursor: pointer; }
.submission-modal-card > small { display: block; margin-top: 24px; color: rgb(155, 95, 74); font-size: 8px; letter-spacing: 0.25em; }
body.modal-open { overflow: hidden; }
@media (max-width: 620px) {
  .submission-modal-card { padding: 58px 25px 38px; }
  .submission-modal-card h2 { font-size: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .submission-modal-backdrop, .submission-modal-card, .submission-seal span { transition: none; }
}