/* Layout only. The character and rings run on one Lottie 60fps timeline. */
.session-celebration-open{overflow:hidden}
.session-celebration-overlay{position:fixed;z-index:1800;inset:0;display:grid;place-items:center;padding:24px;background:rgba(3,9,20,.74);backdrop-filter:blur(12px);animation:celebrationFadeIn .28s ease both}
.session-celebration-overlay.is-leaving{animation:celebrationFadeOut .18s ease both}
.session-celebration-dialog{display:grid;grid-template-columns:minmax(300px,42%) minmax(420px,1fr);width:min(940px,100%);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid rgba(157,182,235,.48);border-radius:30px;background:#fff;box-shadow:0 42px 120px rgba(0,0,0,.48);animation:celebrationRise .62s cubic-bezier(.2,.8,.2,1) both}
.session-celebration-visual{position:relative;min-height:590px;overflow:hidden;border-radius:29px 0 0 29px;background:radial-gradient(circle at 50% 43%,rgba(19,83,237,.3),transparent 34%),linear-gradient(155deg,#050913,#07152d 58%,#0b2e72)}
.session-celebration-visual:after{content:'';position:absolute;z-index:2;inset:0;background:repeating-linear-gradient(90deg,transparent 0 72px,rgba(255,255,255,.025) 73px),linear-gradient(180deg,transparent 62%,rgba(1,7,18,.66));pointer-events:none}
.session-celebration-lottie-fallback{position:absolute;z-index:0;left:50%;bottom:-1px;width:min(100%,520px);transform:translateX(-50%);opacity:1;transition:opacity .18s ease;filter:drop-shadow(0 24px 22px rgba(0,0,0,.4))}.session-celebration-lottie-fallback.is-hidden{opacity:0}
.session-celebration-lottie{position:absolute;z-index:1;inset:0}.session-celebration-lottie canvas{display:block;width:100%!important;height:100%!important}
.session-celebration-proof{position:absolute;z-index:5;left:24px;bottom:24px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(137,174,255,.32);border-radius:14px;color:#fff;background:rgba(5,16,38,.82);box-shadow:0 14px 36px rgba(0,0,0,.24);animation:celebrationProofLand .62s 2.18s cubic-bezier(.16,.8,.22,1) both}
.session-celebration-proof strong{color:#e5b959;font-size:23px;line-height:1}.session-celebration-proof span{max-width:92px;color:#cdd9f2;font-size:10px;font-weight:750;line-height:1.25;letter-spacing:.04em}
.session-celebration-complete{position:absolute;z-index:5;right:24px;top:24px;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.38);border-radius:50%;color:#06132b;background:#e5b959;box-shadow:0 0 34px rgba(229,185,89,.34);font-size:20px;font-weight:900;animation:celebrationSealLand .72s 2.32s cubic-bezier(.16,.8,.22,1) both}
.session-celebration-content{display:flex;align-items:flex-start;flex-direction:column;padding:54px 54px 42px}
.session-celebration-content .eyebrow{color:#0b47d1;animation:celebrationCopyReveal .48s .6s ease both}
.session-celebration-content h2{max-width:520px;margin:13px 0 12px;color:#071225;font-size:clamp(34px,3.6vw,46px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance;animation:celebrationCopyReveal .56s .76s ease both}
.session-celebration-content>p{max-width:550px;margin:0;color:#5f6c82;font-size:16px;line-height:1.7;animation:celebrationCopyReveal .52s .94s ease both}
.session-celebration-facts{display:grid;width:100%;gap:8px;margin:28px 0 22px}
.session-celebration-facts span{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;color:#23324d;background:#f2f6ff;font-size:13px;font-weight:750;animation:celebrationFactLock .5s cubic-bezier(.2,.9,.3,1) both}
.session-celebration-facts span:nth-child(1){animation-delay:1.38s}.session-celebration-facts span:nth-child(2){animation-delay:1.57s}.session-celebration-facts span:nth-child(3){animation-delay:1.76s}.session-celebration-facts span:nth-child(4){animation-delay:1.95s}
.session-celebration-facts span i{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;background:#16805b;font-style:normal;font-size:11px}.session-celebration-facts span.review{color:#6d5620;background:#fff8e7}.session-celebration-facts span.review i{color:#8a6a20;background:#f3d98e}
.session-celebration-content blockquote{display:grid;gap:5px;width:100%;margin:0 0 28px;padding:16px 18px;border-left:3px solid #0b47d1;color:#17233a;background:#f7f9fd;font-weight:750;animation:celebrationCopyReveal .52s 2.2s ease both}.session-celebration-content blockquote small{color:#738097;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.session-celebration-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:auto;animation:celebrationCopyReveal .52s 2.42s ease both}.session-celebration-actions button{min-height:52px}
.session-celebration-stay{align-self:center;margin:14px auto 0;padding:6px 10px;color:#617089;background:transparent;box-shadow:none;font-size:12px;animation:celebrationCopyReveal .46s 2.58s ease both}
.appointment-celebration-focus{outline:3px solid #e5b959!important;outline-offset:3px;animation:appointmentCelebrationFocus 1.6s ease-in-out 2}
@keyframes celebrationFadeIn{from{opacity:0}to{opacity:1}}@keyframes celebrationFadeOut{to{opacity:0}}@keyframes celebrationRise{from{opacity:0;transform:translateY(24px) scale(.975)}to{opacity:1;transform:none}}@keyframes celebrationProofLand{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}@keyframes celebrationSealLand{0%{opacity:0;transform:scale(.3) rotate(-26deg)}72%{opacity:1;transform:scale(1.04) rotate(1deg)}100%{transform:none}}@keyframes celebrationCopyReveal{from{opacity:0;transform:translateY(11px)}to{opacity:1;transform:none}}@keyframes celebrationFactLock{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}@keyframes appointmentCelebrationFocus{50%{box-shadow:0 0 0 8px rgba(229,185,89,.22)}}
@media(max-width:760px){.session-celebration-overlay{padding:0}.session-celebration-dialog{grid-template-columns:1fr;max-height:100dvh;min-height:100dvh;border:0;border-radius:0}.session-celebration-visual{min-height:270px;border-radius:0}.session-celebration-proof{left:14px;bottom:14px}.session-celebration-content{padding:30px 24px}.session-celebration-content h2{font-size:36px}.session-celebration-facts{grid-template-columns:1fr 1fr}.session-celebration-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.session-celebration-overlay,.session-celebration-dialog,.session-celebration-proof,.session-celebration-complete,.session-celebration-content .eyebrow,.session-celebration-content h2,.session-celebration-content>p,.session-celebration-facts span,.session-celebration-content blockquote,.session-celebration-actions,.session-celebration-stay,.appointment-celebration-focus{animation:none!important;scroll-behavior:auto!important}}
