.sjnp-overlay{--sjnp-primary:#111151;--sjnp-secondary:#CA272F;--sjnp-tertiary:#D49407;--sjnp-bg:#F1EEE3;position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(8,20,36,.7);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .25s ease;overflow:hidden}
.sjnp-overlay[hidden]{display:none!important}
.sjnp-overlay.is-open{opacity:1}
.sjnp-overlay *,.sjnp-overlay *::before,.sjnp-overlay *::after{box-sizing:border-box}

.sjnp-modal{--g:clamp(10px,2.2vh,20px);position:relative;width:100%;max-width:720px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;background:#fff;border-radius:30px;padding:clamp(20px,4vh,40px) clamp(18px,4vw,40px) clamp(18px,3vh,28px);box-shadow:0 30px 80px rgba(0,0,0,.4);transform:translateY(12px) scale(.98);transition:transform .25s ease;font-family:inherit;color:var(--sjnp-primary);text-align:center;outline:none;display:flex;flex-direction:column;gap:var(--g);line-height:1.4}
.sjnp-overlay.is-open .sjnp-modal{transform:none}
.sjnp-modal *{font-family:inherit}
.sjnp-modal h1,.sjnp-modal h2,.sjnp-modal p,.sjnp-modal hr,.sjnp-modal div,.sjnp-modal span{margin:0!important}
.sjnp-modal h2,.sjnp-modal p{padding:0!important}

.sjnp-x{position:absolute;top:clamp(14px,3vh,28px);right:clamp(14px,3vw,30px);background:none!important;border:0!important;box-shadow:none!important;color:#8a97ad!important;cursor:pointer;padding:4px!important;line-height:0;border-radius:8px;min-height:0!important;width:auto!important}
.sjnp-x:hover{color:var(--sjnp-primary)!important}

/* header block: tight group */
.sjnp-head{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.sjnp-bell{width:clamp(52px,8vh,70px);height:clamp(52px,8vh,70px);border-radius:20px;background:var(--sjnp-bg);border:1px solid color-mix(in srgb,var(--sjnp-tertiary) 55%,#fff);color:var(--sjnp-tertiary);display:inline-flex;align-items:center;justify-content:center}
.sjnp-bell svg{width:clamp(22px,3.4vh,28px);height:clamp(22px,3.4vh,28px)}
.sjnp-badge{background:var(--sjnp-bg);color:var(--sjnp-primary);font-weight:700;font-size:12px;letter-spacing:.02em;padding:7px 14px;border-radius:999px;line-height:1.2}
.sjnp-modal .sjnp-title{font-size:clamp(24px,4.2vh,32px);line-height:1.15;font-weight:800;color:var(--sjnp-primary);letter-spacing:0;text-transform:none;margin-bottom:calc(var(--g) * -.55)!important}
.sjnp-modal .sjnp-org{font-size:14px;font-weight:700;color:var(--sjnp-secondary);letter-spacing:.04em;margin-bottom:calc(var(--g) * -.7)!important}
.sjnp-modal .sjnp-orgsub{font-size:12px;font-weight:600;color:#6b7a90}

.sjnp-modal .sjnp-hr{border:0;border-top:1px solid #e8e4d8;height:0;width:100%;background:none}

/* contact box */
.sjnp-box{background:var(--sjnp-bg);border:2px solid var(--sjnp-tertiary);border-radius:20px;padding:clamp(16px,3vh,26px) 18px!important;display:flex;flex-direction:column;gap:6px}
.sjnp-modal .sjnp-headline{font-size:clamp(18px,2.8vh,21px);font-weight:800;color:var(--sjnp-primary)}
.sjnp-modal .sjnp-subline{font-size:clamp(16px,2.6vh,20px);font-weight:800;color:var(--sjnp-secondary);margin-bottom:clamp(8px,1.8vh,16px)!important}
.sjnp-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.sjnp-modal .sjnp-btn{display:inline-flex;align-items:center;gap:8px;padding:clamp(10px,1.8vh,13px) 20px;border-radius:12px;font-weight:700;font-size:16px;line-height:1.2;text-decoration:none!important;color:#fff!important;border:0;transition:transform .15s ease,filter .15s ease}
.sjnp-btn svg{width:18px;height:18px;flex:none}
.sjnp-btn:hover{transform:translateY(-1px);filter:brightness(1.12)}
.sjnp-dark{background:var(--sjnp-primary)}
.sjnp-blue{background:color-mix(in srgb,var(--sjnp-primary) 82%,#fff)}
.sjnp-green{background:#0f9d6a}

/* note */
.sjnp-note{display:flex;gap:14px;text-align:left;align-items:flex-start;background:color-mix(in srgb,var(--sjnp-bg) 40%,#fff);border:1px solid #e8e4d8;border-radius:14px;padding:clamp(12px,2vh,16px) 20px!important}
.sjnp-modal .sjnp-note p{font-size:clamp(14px,2.2vh,15.5px);line-height:1.5;color:color-mix(in srgb,var(--sjnp-primary) 80%,#fff)}
.sjnp-i{flex:none;width:26px;height:26px;border-radius:8px;background:color-mix(in srgb,var(--sjnp-tertiary) 25%,#fff);color:var(--sjnp-primary);font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif!important;font-style:italic;margin-top:1px!important}
.sjnp-modal .sjnp-thanks{font-size:14px;font-weight:600;color:var(--sjnp-primary)}

/* footer */
.sjnp-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sjnp-modal .sjnp-help{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid #e3dfd2;border-radius:12px;color:var(--sjnp-primary)!important;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none!important;background:#fff}
.sjnp-help svg{width:18px;height:18px;color:var(--sjnp-tertiary)}
.sjnp-modal .sjnp-cta{background:var(--sjnp-secondary)!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:clamp(12px,2vh,15px) 30px!important;font-weight:700;font-size:15px!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;cursor:pointer;min-height:0!important;width:auto!important;box-shadow:0 8px 18px color-mix(in srgb,var(--sjnp-secondary) 32%,transparent)!important;transition:filter .15s ease}
.sjnp-cta:hover{filter:brightness(1.1)}
.sjnp-x:focus-visible,.sjnp-cta:focus-visible,.sjnp-btn:focus-visible,.sjnp-help:focus-visible{outline:3px solid var(--sjnp-tertiary);outline-offset:2px}
body.sjnp-lock{overflow:hidden}

/* short screens: drop low-value text so no scroll */
@media(max-height:700px){.sjnp-orgsub,.sjnp-thanks{display:none!important}.sjnp-modal .sjnp-org{margin-bottom:0!important}}
@media(max-height:560px){.sjnp-note,.sjnp-hr{display:none!important}.sjnp-bell{display:none!important}}

/* phones */
@media(max-width:600px){
 .sjnp-modal{border-radius:22px}
 .sjnp-badge{font-size:10.5px;padding:6px 10px}
 .sjnp-actions{gap:8px}
 .sjnp-modal .sjnp-btn{flex:1 1 calc(50% - 8px);justify-content:center;padding:11px 8px;font-size:14px}
 .sjnp-modal .sjnp-btn:only-child{flex-basis:100%}
 .sjnp-modal .sjnp-note p{font-size:13px}
 .sjnp-foot{flex-direction:column-reverse;align-items:stretch}
 .sjnp-modal .sjnp-help,.sjnp-modal .sjnp-cta{width:100%!important;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.sjnp-overlay,.sjnp-modal{transition:none}}
