/* slam-loader.css — Stay Slammed's waiting moments (JS: /app/slam-loader.js). --slam-ground = the colour under the mark. */
.slam-loader{--slam-ink:#0B1F3A;--slam-ground:#EEF2F8;--slam-coral:#FF5A3C;position:relative;display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:18px;padding:28px 16px;box-sizing:border-box;color:#0B1F3A}
.slam-mark{position:relative;width:64px;height:64px;flex:none}
.slam-mark>*{display:block;width:100%;height:100%;color:var(--slam-ink);animation:slam-in .34s cubic-bezier(.55,0,.9,.3) both,slam-buzz 2.4s .9s infinite}
.slam-mark .cut{stroke:var(--slam-ground)}
.slam-mark:before,.slam-mark:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--slam-coral);opacity:0;pointer-events:none}
.slam-mark:before{animation:slam-shock .5s ease-out .26s}          /* the hit */
.slam-mark:after{animation:slam-ring 2.4s ease-out .9s infinite}   /* the phone */
.slam-line{font-size:15px;line-height:1.45;font-weight:500;max-width:34ch;min-height:2.9em;margin:0;animation:slam-up .32s ease-out .3s both}
.slam-line.is-new{animation:slam-up .32s ease-out}
@media (min-width:720px){.slam-mark{width:88px;height:88px}.slam-line{font-size:17px}}
@keyframes slam-in{0%{transform:scale(2.6) rotate(-9deg);opacity:0}70%{transform:scale(.92);opacity:1}to{transform:none;opacity:1}}
@keyframes slam-shock{0%{transform:scale(.6);opacity:.9;border-width:6px}to{transform:scale(2.3);opacity:0;border-width:1px}}
@keyframes slam-buzz{0%,14%,to{transform:none}2%{transform:rotate(-5deg)}5%{transform:rotate(5deg)}8%{transform:rotate(-3deg)}11%{transform:rotate(2deg)}}
@keyframes slam-ring{0%{transform:scale(.9);opacity:.7}45%,to{transform:scale(1.9);opacity:0}}
@keyframes slam-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.slam-live{position:fixed;inset:0;z-index:9999;background:#0B1F3A;--slam-ink:#fff;--slam-ground:#0B1F3A;color:#fff;justify-content:center;gap:0;
  padding:32px 24px;cursor:pointer;transition:opacity .3s}
.slam-live.is-out{opacity:0;pointer-events:none}
.slam-live .slam-mark{width:min(78vw,440px);height:auto;aspect-ratio:1062/300}
.slam-live .slam-mark>*{opacity:0;animation:none}
.slam-live .slam-mark>.is-in{animation:slam-in .34s cubic-bezier(.55,0,.9,.3) both}
.slam-live .slam-mark:before{inset:-14% -8%}
.slam-live .slam-mark:after{display:none}
.slam-live h2{font:italic 900 clamp(46px,11vw,88px)/1 Barlow,'Hanken Grotesk',Figtree,system-ui,sans-serif;color:var(--slam-coral);
  margin:28px 0 10px;letter-spacing:-.01em;animation:slam-up .5s cubic-bezier(.2,.8,.2,1) .55s both}
.slam-addr{font-size:17px;margin:0 0 28px;word-break:break-all;animation:slam-up .5s ease-out .7s both}
.slam-go{font:inherit;font-weight:700;font-size:17px;background:var(--slam-coral);color:#0B1F3A;border:0;border-radius:999px;padding:16px 32px;
  min-height:48px;text-decoration:none;animation:slam-up .5s ease-out .85s both}
.slam-go:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.slam-loader *{animation:none!important}.slam-live .slam-mark>*{opacity:1}.slam-mark:before,.slam-mark:after{display:none}}
