/* v4: opening splash (first visit per session; tap to skip; off for reduced motion) */
html.sp-on,html.sp-on body{overflow:hidden}
html.sp-on::before{content:"";position:fixed;inset:0;z-index:2147483646;background:var(--paper)}
html.sp-on .hero .hero-img,html.sp-on .hero.ready .hero-img,html.sp-on .hero-h .l1,html.sp-on .hero-h .l2{animation-play-state:paused}
#psplash{position:fixed;inset:0;z-index:2147483647;background:var(--paper);color:var(--ink);overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent;will-change:transform}
#psplash .sp-lock{position:absolute;left:0;right:0;top:50%;display:flex;align-items:center;justify-content:center;transform:translateY(-50%)}
#psplash.ph .sp-lock{flex-direction:column;gap:22px;top:46%}
#psplash.dk .sp-lock{gap:34px}
#psplash .sp-seal{position:relative;width:var(--sz);height:var(--sz);flex:none}
#psplash .sp-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(90deg)}
#psplash .sp-ring circle{fill:none;stroke:var(--red);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:var(--cf);stroke-dashoffset:var(--cf);opacity:0}
#psplash.s-ring .sp-ring circle{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset 1.05s cubic-bezier(.65,0,.35,1)}
#psplash .sp-m{position:absolute;left:18%;right:18%;top:50%;color:var(--red);transform:translateY(-50%)}
#psplash .sp-m svg{width:100%;height:auto;display:block;clip-path:inset(100% 0 0 0)}
#psplash.s-mark .sp-m svg{clip-path:inset(0 0 0 0);transition:clip-path .75s cubic-bezier(.2,.7,.1,1)}
#psplash.s-seal .sp-seal{animation:psp-seal .5s cubic-bezier(.3,1.4,.5,1)}
@keyframes psp-seal{0%{transform:scale(1)}40%{transform:scale(.965)}100%{transform:scale(1)}}
#psplash .sp-name{display:flex;flex-direction:column;line-height:1}
#psplash.ph .sp-name{align-items:center}
#psplash .sp-name b{font-family:var(--display);font-weight:800;letter-spacing:-.03em;font-size:var(--ns);opacity:0;transform:translateY(.25em)}
#psplash .sp-name span{font:500 var(--ds)/1.2 var(--text);color:var(--muted);margin-top:.5em;opacity:0;transform:translateY(.4em)}
#psplash.s-name .sp-name b,#psplash.s-name .sp-name span{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .65s var(--ease)}
#psplash.s-name .sp-name span{transition-delay:.12s}
#psplash .sp-skip{position:absolute;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));font:500 14px/1 var(--text);color:var(--muted);background:none;border:0;padding:12px}
#psplash.s-out{transform:translateY(-100%);transition:transform .8s cubic-bezier(.7,0,.25,1)}
