/* Small, character-led arrival and reversible scroll departure. */
.site-welcome[hidden]{display:none}.site-welcome{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:var(--paper,#fcfcf9);color:var(--ink);pointer-events:auto}.welcome-center{text-align:center;position:relative;isolation:isolate}.welcome-face{width:136px;height:136px;margin:auto;position:relative;transform:rotate(-4deg);animation:welcome-settle 1.05s cubic-bezier(.2,.9,.3,1)}.welcome-face img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 6px rgba(52,39,12,.17))}.welcome-center p{font-size:13px;letter-spacing:.1em;margin:24px 0 0}.welcome-center small{display:block;color:var(--muted);font-size:10px;letter-spacing:.13em;margin-top:10px}.welcome-skip{position:absolute;right:28px;bottom:24px;font:12px var(--sans);border:1px solid var(--line);color:var(--muted);background:none;border-radius:30px;padding:10px 16px;cursor:pointer}.welcome-slip{--slip-x:0px;--slip-r:0deg;position:absolute;width:28px;height:34px;border:1px solid var(--line);border-radius:4px;background:var(--card);left:calc(50% - 14px);top:44px;box-shadow:0 4px 8px #0001;z-index:-1;animation:welcome-slips .95s ease both}.welcome-slip:nth-child(2){--slip-x:-112px;--slip-r:-18deg;animation-delay:.05s}.welcome-slip:nth-child(3){--slip-x:112px;--slip-r:15deg;animation-delay:.1s}.site-welcome.departing{animation:welcome-curtain .42s cubic-bezier(.4,0,.2,1) forwards;pointer-events:none}.motion-replay{font:inherit;color:inherit;border:0;background:none;cursor:pointer;min-height:44px;padding:0 10px}.motion-replay:hover{color:var(--ink)}
@keyframes welcome-settle{0%{opacity:0;transform:translateY(20px) rotate(-15deg) scale(.85)}55%{opacity:1;transform:translateY(-5px) rotate(4deg) scale(1.04)}100%{transform:rotate(-4deg)}}@keyframes welcome-slips{0%{opacity:0;transform:translate(0,5px)}55%{opacity:1;transform:translate(var(--slip-x),-18px) rotate(var(--slip-r))}100%{opacity:0;transform:translate(var(--slip-x),32px) rotate(var(--slip-r))}}@keyframes welcome-curtain{to{opacity:0;transform:translateY(-18px);visibility:hidden}}
/* Transform the outer card; its existing hover still happens inside a wrapper. */
.scroll-card-shell{min-width:0}.scroll-card-surface{height:100%;transform-origin:50% 90%;will-change:transform;transform:perspective(1100px) translate3d(0,var(--exit-y,0px),0) rotateX(var(--exit-rx,0deg)) rotateZ(var(--exit-rz,0deg)) scale(var(--exit-scale,1));opacity:var(--exit-opacity,1)}.scroll-card-surface>.card{height:100%}.scroll-card-shell:focus-within>.scroll-card-surface{transform:none!important;opacity:1!important}.cards{perspective:1100px}
@media(max-width:620px){.welcome-face{width:116px;height:116px}.welcome-slip:nth-child(2){--slip-x:-91px}.welcome-slip:nth-child(3){--slip-x:91px}.welcome-skip{right:20px;bottom:20px}.scroll-card-surface{transform-origin:50% 100%}.motion-replay{font-size:10px}}
@media(prefers-reduced-motion:reduce){.site-welcome{display:none!important}.scroll-card-surface{transform:none!important;opacity:1!important;will-change:auto}}
