.service-notice-strip { background:#fffbeb; border-bottom:1px solid #fde68a; color:#713f12; }
.service-notice-strip-inner { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 24px; padding-top:13px; padding-bottom:13px; }
.service-notice-strip p { margin:0; font-size:14px; line-height:1.6; }
.service-notice-strip a { color:inherit; font-weight:750; white-space:nowrap; text-decoration:underline; text-underline-offset:3px; }
.service-notice-strip button { border:0; padding:6px 0; background:none; color:#713f12; cursor:pointer; font:600 13px var(--font-body); text-decoration:underline; text-underline-offset:3px; }
.service-notice-strip button[hidden] { display:none; }
body.service-notice-open { overflow:hidden; }
.service-notice-dialog { width:min(600px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:0; border:1px solid #e2e8f0; border-radius:22px; background:#fff; color:#182033; box-shadow:0 30px 100px #01061d55; overscroll-behavior:contain; }
.service-notice-dialog:not([open]) { display:none; }
.service-notice-dialog::backdrop { background:rgba(1,6,29,.7); backdrop-filter:blur(4px); }
.service-notice-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 22px; border-bottom:1px solid #e2e8f0; background:#f8fafc; }
.service-notice-label { display:flex; align-items:center; gap:9px; color:#475569; font-size:12px; font-weight:750; letter-spacing:.055em; text-transform:uppercase; }
.service-notice-label > span { width:8px; height:8px; flex:none; border-radius:50%; background:#b45309; }
.service-notice-close { display:grid; place-items:center; flex:none; width:44px; height:44px; margin:-7px -9px -7px 0; border:0; border-radius:10px; color:#475569; background:transparent; cursor:pointer; font:30px/1 var(--font-body); }
.service-notice-close:hover { background:#e2e8f0; color:#0f172a; }
.service-notice-content { padding:30px 36px 28px; }
.service-notice-icon { display:grid; place-items:center; width:50px; height:50px; margin-bottom:20px; border:1px solid #dddffd; border-radius:15px; color:#5352cf; background:#f0f0ff; }
.service-notice-icon svg { width:25px; height:25px; }
.service-notice-dialog h2 { margin:0 0 17px; color:#0f172a; font-size:clamp(24px,3.5vw,31px); font-weight:750; line-height:1.22; letter-spacing:-.025em; }
.service-notice-dialog h2:focus { outline:none; }
.service-notice-dialog p { margin:0 0 25px; color:#475569; font-size:16px; line-height:1.7; }
.service-notice-call { display:flex; flex-direction:column; align-items:center; gap:3px; width:100%; padding:15px 18px; border:1px solid #5352cf; border-radius:12px; background:#5352cf; color:#fff; text-align:center; text-decoration:none; }
.service-notice-call:hover { background:#4443b5; color:#fff; }
.service-notice-call span { font-size:12px; font-weight:600; }
.service-notice-call strong { font-size:25px; font-weight:750; letter-spacing:.01em; }
.service-notice-dismiss { display:block; min-height:44px; margin:13px auto 0; padding:8px 10px; border:0; border-radius:8px; background:transparent; color:#475569; cursor:pointer; font:600 13px/1.5 var(--font-body); text-decoration:underline; text-underline-offset:3px; }
.service-notice-dialog :is(button,a):focus-visible,.service-notice-strip :is(button,a):focus-visible { outline:3px solid #4338ca; outline-offset:3px; }
@media (max-width:480px) {
  .service-notice-dialog { border-radius:17px; }
  .service-notice-top { padding:15px 18px; }
  .service-notice-label { font-size:11px; }
  .service-notice-content { padding:23px 22px 20px; }
  .service-notice-icon { margin-bottom:16px; }
  .service-notice-dialog p { font-size:15px; line-height:1.6; margin-bottom:22px; }
  .service-notice-call strong { font-size:23px; }
  .service-notice-dialog::backdrop { backdrop-filter:none; }
}
