:root{--slab-dark:#2a1a33;--slab-gold:#c6a66b;--slab-intro-bg:#f7f4fb;--slab-intro-ink:#2a1a33}
.slab-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:var(--slab-intro-bg);pointer-events:none;animation:slab-failsafe .15s 4.35s forwards}
.slab-intro__brand{position:relative;width:min(76vw,540px);aspect-ratio:2/1;transform-origin:50% 50%}
.slab-intro__wordmark{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;clip-path:inset(0 0 0 46.5%);opacity:0;animation:slab-wordmark .52s 1.16s cubic-bezier(.4,0,.2,1) both}
.slab-intro__block{position:absolute;display:block;background:var(--slab-dark);opacity:0;animation:slab-settle .84s cubic-bezier(.42,0,.58,1) both;transform-origin:center}
.slab-intro__block--bottom{left:16.69%;top:55.92%;width:19.73%;height:10.82%;animation-delay:.04s;--slab-enter-x:-20px;--slab-enter-y:16px}
.slab-intro__block--middle{left:8.91%;top:42.39%;width:20.12%;height:11.05%;background:var(--slab-gold);animation-delay:.4s;--slab-enter-x:-24px;--slab-enter-y:-18px}
.slab-intro__block--top{left:20.74%;top:29.31%;width:23.39%;height:10.82%;animation-delay:.76s;--slab-enter-x:12px;--slab-enter-y:-22px}
.slab-intro.is-leaving{animation:slab-screen-reveal .4s 1.2s cubic-bezier(.4,0,.2,1) both}
.slab-intro.is-leaving .slab-intro__block{visibility:hidden}
.slab-intro.is-leaving .slab-intro__wordmark{animation:slab-wordmark-out .24s ease both}
.slab-intro__flight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.slab-intro__skip{position:absolute;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:1;pointer-events:auto;min-height:44px;padding:10px 20px;border:1px solid #2a1a3326;border-radius:999px;background:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--slab-intro-ink);font:500 14px/1.3 -apple-system,BlinkMacSystemFont,"SF Pro Text","Geist","Segoe UI",Arial,sans-serif;cursor:pointer}
.slab-intro__skip:focus-visible{outline:3px solid #7a55b5;outline-offset:3px}
.slab-intro[hidden]{display:none}
@keyframes slab-settle{from{opacity:0;transform:translate(var(--slab-enter-x),var(--slab-enter-y))}to{opacity:1;transform:translate(0,0)}}
@keyframes slab-wordmark{from{opacity:0;transform:translateX(-5px)}to{opacity:1;transform:translateX(0)}}
@keyframes slab-wordmark-out{from{opacity:1}to{opacity:0}}
@keyframes slab-screen-reveal{from{opacity:1}to{opacity:0}}
@keyframes slab-failsafe{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.slab-intro{display:none}.slab-intro *{animation:none!important}}
