.opening-notice {
  box-sizing: border-box; width: min(440px, calc(100% - 32px));
  max-height: calc(100dvh - 32px); margin: auto; padding: 38px 30px 26px;
  border: 0; border-top: 5px solid #092b60; border-radius: 18px;
  background: #fff; color: #142b4b; text-align: center;
  font-family: Pretendard, sans-serif; box-shadow: 0 24px 80px #06162f40;
  overflow-y: auto; overscroll-behavior: contain;
}
.opening-notice::backdrop { background: #07182bbb; backdrop-filter: blur(5px); }
.opening-notice form { margin: 0; }
.opening-notice p { margin: 0; }
.opening-notice .opening-notice-close { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; border: 0; background: none; color: #5d6879; font-size: 28px; cursor: pointer; }
.opening-notice .opening-notice-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 11px; background: #f1f4f9; border-radius: 20px; font-size: 12px; font-weight: 650; }
.opening-notice-status span { width: 6px; height: 6px; border-radius: 50%; background: #b52b24; }
.opening-notice .opening-notice-brand { margin-top: 28px; font-size: 13px; font-weight: 750; }
.opening-notice h2 { margin: 12px 0 22px; font-size: clamp(28px, 7vw, 36px); line-height: 1.3; letter-spacing: -1.4px; font-weight: 800; }
.opening-notice .opening-notice-lead { margin-bottom: 10px; font-size: 15px; font-weight: 700; }
.opening-notice #opening-notice-description { font-size: 14px; line-height: 1.85; color: #566274; word-break: keep-all; }
.opening-notice-info { margin: 23px 0 17px; padding: 17px 10px; border-top: 1px solid #e1e7ef; border-bottom: 1px solid #e1e7ef; font-size: 14px; line-height: 1.75; font-weight: 650; }
.opening-notice .opening-notice-signoff { font-size: 12px; color: #667085; line-height: 1.8; word-break: keep-all; }
.opening-notice .opening-notice-enter { width: 100%; min-height: 52px; margin-top: 23px; padding: 14px 10px; border: 0; border-radius: 9px; background: #092b60; color: white; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }
.opening-notice button:focus-visible { outline: 3px solid #b52b24; outline-offset: 3px; }
.opening-notice-enter:hover { filter: brightness(1.15); }
@media(max-width: 360px) { .opening-notice { padding: 30px 20px 20px; } .opening-notice-break { display: none; } }
@media(max-height: 650px) { .opening-notice { padding-top: 28px; } .opening-notice .opening-notice-brand { margin-top: 16px; } .opening-notice h2 { margin-bottom: 14px; } }
