/* One introduction before an approved, unordered card's first limit reveal. */
.limit-intro { width:100%; box-sizing:border-box; padding:clamp(28px,5vw,56px) clamp(20px,4vw,44px); border-radius:12px; background:#213969; color:#fff; text-align:center; overflow:hidden; }
.limit-intro-symbol { position:relative; display:grid; place-items:center; width:76px; height:76px; margin:0 auto 24px; }
.limit-intro-symbol img { display:block; width:42px; height:42px; border-radius:3px; }
.limit-intro-symbol span { position:absolute; inset:0; border:1px solid #7ba69f; border-radius:16px; animation:limit-intro-breathe 3s ease-in-out infinite; }
.limit-intro h2 { margin:0; color:#fff; font-family:inherit; font-weight:600; font-size:clamp(1.65rem,4vw,2.4rem); line-height:1.2; letter-spacing:-.025em; text-wrap:balance; }
.limit-intro h2:focus { outline:none; }
.limit-intro h2:focus-visible { outline:2px solid #b7eddc; outline-offset:8px; }
.limit-intro p.limit-intro-copy { max-width:45ch; margin:14px auto 0; color:#e1eafb; font-size:1rem; line-height:1.6; }
.limit-intro p.limit-intro-countdown { margin:30px 0 18px; color:#e1eafb; font-size:.9375rem; line-height:1.6; }
.limit-intro-countdown strong { display:block; margin-top:4px; color:#b7eddc; font-size:clamp(2.4rem,7vw,3.5rem); font-weight:600; letter-spacing:-.03em; line-height:1.2; font-variant-numeric:tabular-nums; }
.limit-intro-unit { font-size:1rem; font-weight:400; letter-spacing:0; }
.limit-intro-progress { display:block; width:min(100%,340px); height:5px; margin:0 auto; appearance:none; border:0; border-radius:3px; background:#45618b; color:#b7eddc; overflow:hidden; }
.limit-intro-progress::-webkit-progress-bar { background:#45618b; }
.limit-intro-progress::-webkit-progress-value { background:#b7eddc; }
.limit-intro-progress::-moz-progress-bar { background:#b7eddc; }
.limit-intro p.limit-intro-note { max-width:48ch; margin:22px auto 0; color:#d7e3f5; font-size:.8125rem; line-height:1.65; }
.limit-intro-accessible { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%); white-space:nowrap; border:0; }
.limit-intro.is-paused .limit-intro-symbol span { animation-play-state:paused; }
@keyframes limit-intro-breathe { 0%,100% { transform:scale(.94); opacity:.55; } 50% { transform:scale(1); opacity:1; } }
.limit-reveal-celebrate { position:relative; isolation:isolate; overflow:hidden; }
.limit-reveal-party { position:absolute; z-index:3; inset:0; pointer-events:none; overflow:hidden; }
.limit-reveal-party i { position:absolute; left:var(--origin); top:58%; width:7px; height:11px; border-radius:1px; background:#ffe49c; opacity:0; animation:limit-reveal-burst 2200ms cubic-bezier(.16,1,.3,1) both; }
.limit-reveal-party i:nth-child(3n) { background:#b7eddc; border-radius:50%; }
.limit-reveal-party i:nth-child(3n + 1) { background:#ff9caf; }
@keyframes limit-reveal-burst { 0% { opacity:0; transform:translate(0,30px) rotate(0); } 12% { opacity:1; } 40% { opacity:1; transform:translate(var(--travel),var(--rise)) rotate(var(--spin)); } 100% { opacity:0; transform:translate(var(--travel),250px) rotate(calc(var(--spin)*2)); } }
@media (max-width:520px) { .limit-intro { padding-block:32px; } .limit-intro-symbol { margin-bottom:20px; } }
@media (prefers-reduced-motion:reduce) { .limit-intro-symbol span { animation:none; } .limit-reveal-party { display:none; } }
