/* A short, optional first-visit entrance. Artwork keeps its original colors. */
html.entry-pending::before{content:"";position:fixed;inset:0;background:#170e24;z-index:1000;pointer-events:none}
body.entry-active{overflow:hidden}
#entrance{--entry-x:50%;--entry-y:42%;--entry-lean:0deg;position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#f2eafb;overflow:hidden;isolation:isolate;overscroll-behavior:contain;font-family:var(--body)}
#entrance:not([open]){display:none}
#entrance[open]{display:grid;place-items:center}
#entrance::backdrop{background:transparent;backdrop-filter:none}
.entry-panel{position:absolute;left:0;right:0;height:50.1%;background:#170e24;z-index:-2;will-change:transform}
.entry-panel-top{top:0;background:linear-gradient(155deg,#20122f,#170e24 80%)}
.entry-panel-bottom{bottom:0;background:linear-gradient(20deg,#211431,#170e24 85%)}
.entry-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 38vw 35vh at var(--entry-x) var(--entry-y),#a775ef2c,transparent 85%);transition:opacity .4s}
.entry-orbit{position:absolute;left:50%;top:46%;width:min(68vw,850px);aspect-ratio:1;border:1px solid #b992ec29;border-radius:50%;z-index:-1;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--entry-lean)) scaleY(.72);animation:entry-orbit-in 1.7s cubic-bezier(.16,1,.3,1) both}
.entry-orbit::before,.entry-orbit::after{content:"";position:absolute;border:1px solid #bc91f312;border-radius:50%;inset:8%}
.entry-orbit::after{inset:-10%;border-style:dashed;border-color:#bc91f310}
.entry-top,.entry-bottom{position:absolute;left:4.5%;right:4.5%;display:flex;justify-content:space-between;align-items:center;gap:20px}
.entry-top{top:30px}.entry-bottom{bottom:28px;font-size:12px;letter-spacing:.14em;color:#b6a0ca;flex-wrap:wrap}
.entry-signature{font:700 30px 'Plus Jakarta Sans',sans-serif;letter-spacing:-.08em;display:flex;gap:20px;align-items:center;color:#d7bafa}
.entry-signature span{font:400 12px var(--body);letter-spacing:.08em;color:#b6a0ca}
.entry-skip{padding:10px 0;background:none;color:#d5c2e7;border-bottom:1px solid #cfb0ef45;font-size:14px}
.entry-skip:hover{color:#fff;border-color:#dec0ff}
.entry-center{width:100%;padding:100px 5%;text-align:center;display:flex;flex-direction:column;align-items:center}
.entry-label{font-size:13px;letter-spacing:.25em;color:#c5a6e9;margin-bottom:28px;animation:entry-soft-in .8s .05s both}
#entry-title{font:700 clamp(55px,10.7vw,164px)/1.14 var(--display);letter-spacing:-.045em;display:flex;gap:.24em;justify-content:center;margin:0;color:#efe5fa}
.entry-word{display:inline-flex;overflow:hidden;padding:0 .09em .1em 0;margin-bottom:-.1em}
.entry-word>span{display:inline-block;animation:entry-letter-in 1.05s calc(.12s + var(--i)*.065s) cubic-bezier(.16,1,.3,1) both}
.entry-word i{color:#ba89f0;font-style:normal;animation:entry-letter-in 1.1s .65s cubic-bezier(.16,1,.3,1) both}
.entry-role{font-size:clamp(16px,1.65vw,22px);font-weight:400;color:#c7b2dd;letter-spacing:.015em;margin:22px 0 38px;animation:entry-soft-in .9s .65s both}
.entry-enter{display:flex;align-items:center;gap:46px;font:500 16px var(--body);border:1px solid #be94ed;background:#b88beb16;color:#f6eeff;padding:17px 29px;border-radius:40px;position:relative;transition:background .25s,box-shadow .25s,border-color .25s;animation:entry-soft-in .9s .82s backwards;will-change:transform}
.entry-enter>span:last-child{font-size:24px;line-height:1;transition:transform .3s}
.entry-enter:hover,.entry-enter:focus-visible{background:#8a4cda;border-color:#d6b5ff;box-shadow:0 0 42px #8e4acc45}
.entry-enter:hover>span:last-child{transform:translate(3px,-3px)}
.entry-enter:focus-visible,.entry-skip:focus-visible{outline:2px solid #ebd6ff;outline-offset:6px}
.entry-hint{font-size:12px;color:#b6a0ca;margin-top:18px;animation:entry-soft-in .9s 1s both}
#entrance.entry-leaving{pointer-events:none}
.entry-leaving .entry-panel-top{animation:entry-curtain-up .85s cubic-bezier(.76,0,.24,1) forwards}
.entry-leaving .entry-panel-bottom{animation:entry-curtain-down .85s cubic-bezier(.76,0,.24,1) forwards}
.entry-leaving .entry-center,.entry-leaving .entry-top,.entry-leaving .entry-bottom{animation:entry-content-out .35s ease forwards}
.entry-leaving .entry-glow,.entry-leaving .entry-orbit{opacity:0;transition:opacity .3s}
html.entry-revealing .hero-content{animation:entry-hero-in 1.2s cubic-bezier(.16,1,.3,1) both}
html.entry-revealing .hero-footer{animation:entry-soft-in .85s .3s both}
html.entry-revealing .header{animation:entry-nav-in .9s .2s both}
.entry-active .hero-content{animation:none}
.entry-replay{background:none;padding:8px 0;color:#c4a7ff;font:400 13px var(--body);border-bottom:1px solid transparent;transition:color .2s,border-color .2s}
.entry-replay:hover{color:#f0e4ff;border-color:#c4a7ff}
.entry-replay[hidden]{display:none}
@keyframes entry-letter-in{from{opacity:0;transform:translateY(115%) rotate(5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes entry-soft-in{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
@keyframes entry-orbit-in{from{opacity:0;scale:.78}to{opacity:1;scale:1}}
@keyframes entry-content-out{to{opacity:0;transform:translateY(-16px)}}
@keyframes entry-curtain-up{to{transform:translateY(-101%)}}
@keyframes entry-curtain-down{to{transform:translateY(101%)}}
@keyframes entry-hero-in{from{opacity:0;transform:translateY(24px) scale(.97);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes entry-nav-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(max-width:760px){.entry-top{top:22px;left:24px;right:24px}.entry-signature{font-size:26px}.entry-signature span{display:none}.entry-bottom{left:24px;right:24px;bottom:24px;font-size:11px;letter-spacing:.06em;gap:12px}.entry-center{padding:95px 24px}.entry-label{font-size:12px;letter-spacing:.17em;margin-bottom:24px}#entry-title{font-size:clamp(45px,13.2vw,96px);flex-direction:column;align-items:center;gap:0;line-height:1.13}.entry-surname{font-size:1.12em}.entry-orbit{width:112vw;top:45%}.entry-role{font-size:16px;margin:23px 0 30px}.entry-enter{font-size:15px;padding:15px 25px;gap:40px}.entry-hint{font-size:11px;max-width:260px}.entry-glow{background:radial-gradient(ellipse 65vw 40vh at 50% 45%,#a775ef32,transparent 85%)}.footer .entry-replay{font-size:13px}.footer>a:last-child{width:auto}}
@media(max-height:570px) and (min-width:600px){.entry-center{padding:75px 24px}#entry-title{font-size:min(9vw,75px);flex-direction:row;gap:.24em}.entry-surname{font-size:inherit}.entry-label{margin-bottom:12px}.entry-role{margin:10px 0 18px}.entry-hint{margin-top:10px}.entry-enter{padding:10px 22px}.entry-bottom{bottom:15px}}
@media(prefers-reduced-motion:reduce){#entrance *,html.entry-revealing .hero-content,html.entry-revealing .hero-footer,html.entry-revealing .header{animation:none!important;transition:none!important}.entry-orbit,.entry-glow{display:none}}
