/* Kashvi opening animation (logo intro). Layers are the logo split into parts. */
.kvi{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;font-family:var(--f-body,system-ui,sans-serif)}
.kvi__bg{position:absolute;inset:0;background:radial-gradient(1200px 700px at 50% 45%,#ffffff 0%,#f1f8fc 55%,#e7f3ec 100%)}
.kvi--night .kvi__bg{background:radial-gradient(900px 600px at 50% 45%,#123f9e 0%,#0b2a6e 55%,#081d4d 100%)}
.kvi__fins{position:absolute;inset:0;width:100%;height:100%}
.kvi__fins path{fill:none;stroke-linecap:round}
.kvi__logo{position:relative;width:min(78vw,620px);aspect-ratio:734/250}
.kvi__logo img{position:absolute;inset:0;width:100%;height:100%;user-select:none;-webkit-user-drag:none}
.kvi__hl{transform-origin:12.2% 97%}
.kvi__hr{transform-origin:20.9% 97%}
.kvi__heart{transform-origin:16.7% 31.8%}
.kvi__rings{position:absolute;left:16.7%;top:31.8%;width:0;height:0}
.kvi__rings span{position:absolute;left:0;top:0;width:min(22vw,170px);aspect-ratio:1;border-radius:50%;translate:-50% -50%;border:2px solid #0089C4;opacity:0}
.kvi__rings span:nth-child(2){border-color:#12A10A}
.kvi--night .kvi__rings span{border-color:rgba(255,255,255,.7)}
.kvi__ecg{position:absolute;top:31.8%;left:calc(16.7% - 50vw);width:100vw;height:min(30vw,200px);translate:0 -50%;overflow:visible}
.kvi__ecg path{fill:none;stroke:#0089C4;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.kvi__bar{position:absolute;left:50%;bottom:clamp(28px,7vh,60px);translate:-50% 0;width:min(240px,50vw);height:3px;border-radius:3px;background:rgba(12,58,154,.12);overflow:hidden}
.kvi--night .kvi__bar{background:rgba(255,255,255,.18)}
.kvi__bar i{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#12A10A,#0089C4)}
.kvi__skip{position:absolute;right:18px;top:16px;border:1px solid rgba(12,58,154,.2);background:rgba(255,255,255,.7);color:#0C3A9A;border-radius:20px;padding:6px 14px;font-size:.82rem;cursor:pointer}
.kvi--night .kvi__skip{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3)}
.kvi__wipe{position:absolute;inset:0;background:linear-gradient(90deg,#12A10A,#0089C4 60%,#0C3A9A);transform:scaleX(0);transform-origin:left}
html.kvi-lock,html.kvi-lock body{overflow:hidden}
/* keep site.css resets from changing the intro */
.kvi svg,.kvi img{max-width:none}
.kvi__logo img{height:100%}
.kvi button{font:inherit;font-size:.82rem}
