.sag-popup{
  --sag-red:#f45959;
  --sag-blue:#2e6fc9;
  --sag-blue-dark:#245aa6;
  --sag-ink:#1f2933;
  --sag-text:#525c66;
  --sag-line:#e7edf2;
  --sag-radius:20px;
  position:fixed; inset:0; z-index:99999;
  display:flex; align-items:center; justify-content:center;
  padding:20px; font-family:inherit;
}
.sag-popup[hidden]{ display:none; }
.sag-popup__backdrop{
  position:absolute; inset:0; background:rgba(18,28,38,.55);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  animation:sagFade .25s ease both;
}
.sag-popup__dialog{
  position:relative; z-index:1; width:100%; max-width:560px;
  max-height:calc(100dvh - 40px); display:flex; flex-direction:column;
  background:#fff; border-radius:var(--sag-radius);
  box-shadow:0 24px 60px rgba(18,28,38,.28); overflow:hidden;
  animation:sagPop .3s cubic-bezier(.2,.9,.3,1) both;
}
.sag-popup__dialog::before{
  content:""; position:absolute; top:0; left:0; right:0; height:6px; z-index:3;
  background:linear-gradient(90deg,#f7726f 0%,#f45959 45%,#e23b3b 100%);
}
.sag-popup__close{
  position:absolute; top:10px; right:12px; z-index:2;
  width:38px; height:38px; line-height:36px; border:0; border-radius:50%;
  background:transparent; color:#9aa6b1; font-size:30px; cursor:pointer;
  transition:background .15s,color .15s;
}
.sag-popup__close:hover{ background:#f1f4f7; color:var(--sag-red); }
.sag-popup__head{
  padding:26px 28px 18px; text-align:center;
  background:linear-gradient(180deg,#eef7f9 0%,#ffffff 100%);
  border-bottom:1px solid var(--sag-line);
}
.sag-popup__logo{ height:54px; width:auto; max-width:100%; }
.sag-popup__contact{ margin-top:12px; font-size:12.5px; line-height:1.5; color:var(--sag-text); }
.sag-popup__body{ padding:22px 28px 6px; overflow-y:auto; -webkit-overflow-scrolling:touch; }
.sag-popup__eyebrow{
  margin:0 0 4px; font-size:12px; font-weight:600; letter-spacing:.04em;
  text-transform:uppercase; color:var(--sag-red);
}
.sag-popup__title{ margin:0 0 16px; font-size:24px; line-height:1.2; font-weight:700; color:var(--sag-ink); }
.sag-popup__body p{ margin:0 0 14px; font-size:15px; line-height:1.65; color:var(--sag-text); }
.sag-popup__body strong{ color:var(--sag-ink); font-weight:600; }
.sag-popup__closing{ margin-top:4px; }
.sag-popup__sign{ font-weight:600; color:var(--sag-ink) !important; font-size:16px !important; }
.sag-popup__foot{ padding:16px 28px 24px; background:#fff; }
.sag-popup__btn{
  display:block; width:100%; padding:14px 22px; border:0; border-radius:12px;
  background:var(--sag-blue); color:#fff; font:inherit; font-size:16px;
  font-weight:600; cursor:pointer; transition:background .15s, transform .05s;
}
.sag-popup__btn:hover{ background:var(--sag-blue-dark); }
.sag-popup__btn:active{ transform:translateY(1px); }
@media (max-width:560px){
  .sag-popup{ padding:18px; align-items:center; }
  .sag-popup__dialog{
    max-width:100%; max-height:calc(100dvh - 36px); border-radius:18px;
    animation:sagPop .3s cubic-bezier(.2,.9,.3,1) both;
  }
  .sag-popup__head{ padding:24px 20px 16px; }
  .sag-popup__logo{ height:46px; }
  .sag-popup__body{ padding:18px 20px 4px; }
  .sag-popup__title{ font-size:21px; }
  .sag-popup__body p{ font-size:14.5px; }
  .sag-popup__foot{ padding:14px 20px 20px; }
}
@keyframes sagFade{ from{opacity:0} to{opacity:1} }
@keyframes sagPop{ from{opacity:0; transform:translateY(14px) scale(.97)} to{opacity:1; transform:none} }
@media (prefers-reduced-motion:reduce){ .sag-popup *{ animation:none !important; } }