@font-face{font-family:'Alegreya';src:url('fonts/alegreya.woff2') format('woff2');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'Alegreya';src:url('fonts/alegreya-italic.woff2') format('woff2');font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url('fonts/alegreya-sans-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url('fonts/alegreya-sans-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Alegreya Sans';src:url('fonts/alegreya-sans-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

html,body{margin:0;height:100%;overflow:hidden;background:#000;overscroll-behavior:none}
body{font-family:'Alegreya Sans',Georgia,sans-serif;touch-action:none;-webkit-font-smoothing:antialiased}
#gl{position:fixed;left:0;top:0;width:100vw;height:100vh;height:100dvh;display:block}
.stage{position:fixed;left:50%;top:50%;overflow:visible;transform-origin:50% 50%;font-family:'Alegreya Sans',Georgia,sans-serif}
.stage-d{width:1040px;height:650px}
.stage-m{width:284px;height:616px;display:none}
@media (max-width:700px),(max-aspect-ratio:5/6){.stage-d{display:none}.stage-m{display:block}}
.hero-title{position:fixed;left:0;top:0;width:100vw;height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}
.hero-title h1{margin:0;font-family:'Alegreya',Georgia,serif;font-size:6.6vmin;font-weight:500;letter-spacing:-.01em;line-height:1;color:#1E1822;text-align:center}
.hero-title em{font-style:italic;font-weight:400}
.hero-intro{position:fixed;left:0;top:0;width:100vw;height:100vh;height:100dvh;pointer-events:none;color:#EFE6F2;z-index:2}
.hero-label{position:absolute;left:72px;top:52px;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.7}
.hero-label .s{display:none}
.hero-hint{position:absolute;left:0;right:0;bottom:40px;text-align:center}
.hero-hint button{pointer-events:auto;padding:12px 20px;border:0;background:none;color:#EFE6F2;font-family:'Alegreya Sans',Georgia,sans-serif;font-size:17px;letter-spacing:.04em;cursor:pointer}
.hero-hint .t{display:block;opacity:.85}
.hero-hint .bob{margin-top:10px;opacity:.7}
@media (max-width:700px),(max-aspect-ratio:5/6){.hero-label{left:20px;top:30px;font-size:11px}.hero-hint{bottom:36px}.hero-hint button{font-size:15px}}
@media (max-width:700px){.hero-label .l{display:none}.hero-label .s{display:inline}}
.exit{position:fixed;z-index:10;top:38px;right:72px;display:flex;align-items:center;gap:10px;padding:12px 0;color:#EFE6F2;text-decoration:none;font-family:'Alegreya Sans',Georgia,sans-serif}
.exit .lbl{font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.exit .key{font-size:12px;font-weight:700;padding:2px 7px;border:1px solid currentColor;opacity:.7}
@media (max-width:700px){.exit{top:16px;right:20px}.exit .lbl{font-size:11px}.exit .key{display:none}}
.noscript{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;color:#EFE6F2;text-align:center}

button,a{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
button:focus,a:focus{outline:none}
button:focus-visible,a:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:4px}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
.bob{display:inline-block;animation:bob 2.8s ease-in-out infinite}
.wf .w{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(14px)}
.wf[data-on="1"] .w{animation:wIn 1.2s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes wIn{to{opacity:1;filter:blur(0);transform:none}}
.glass{position:relative;overflow:hidden}
.glass::before{content:"";position:absolute;top:-60%;left:-60%;width:220%;height:220%;background:linear-gradient(115deg,rgba(255,255,255,0) 42%,rgba(255,255,255,.38) 50%,rgba(255,255,255,0) 58%);transform:translateX(-45%);animation:sheen 11s ease-in-out infinite;pointer-events:none}
.glass::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120% 80% at 20% 0%,rgba(255,255,255,.35),rgba(255,255,255,0) 60%);pointer-events:none}
.g1::before{animation-delay:-2.2s}.g2::before{animation-delay:-4.4s}.g3::before{animation-delay:-6.6s}.g4::before{animation-delay:-8.8s}
@keyframes sheen{0%,100%{transform:translateX(-45%)}50%{transform:translateX(25%)}}
@keyframes mp{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.cbub{animation:breath 6s ease-in-out infinite}
@keyframes breath{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.lg{position:relative;display:inline-flex;align-items:center;gap:12px;border-radius:999px;text-decoration:none;color:#3A2A38;font-weight:700;z-index:0;transition:transform .4s ease}
.lg:hover{transform:translateY(-2px)}
.lgglow{position:absolute;top:-34px;left:-44px;right:-44px;bottom:-34px;border-radius:999px;z-index:-2;pointer-events:none;opacity:.75;transition:opacity .4s ease}
.lgglow::before,.lgglow::after{content:"";position:absolute;top:0;bottom:0;width:70%;border-radius:999px}
.lgglow::before{left:0;background:radial-gradient(closest-side,rgba(91,206,250,.6),rgba(91,206,250,0));animation:lgA 7s ease-in-out infinite}
.lgglow::after{right:0;background:radial-gradient(closest-side,rgba(245,169,184,.62),rgba(245,169,184,0));animation:lgB 7s ease-in-out infinite}
@keyframes lgA{0%,100%{transform:translateX(0)}50%{transform:translateX(22%)}}
@keyframes lgB{0%,100%{transform:translateX(0)}50%{transform:translateX(-22%)}}
.lg:hover .lgglow{opacity:1}
.lgglass{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.66),rgba(255,255,255,.2));border:1px solid rgba(255,255,255,.9);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:inset 0 1px 1px #fff,inset 0 -10px 18px rgba(245,169,184,.2),inset 0 10px 22px rgba(255,255,255,.4),0 14px 34px rgba(58,42,56,.18);z-index:-1}
.lgglass::before{content:"";position:absolute;left:14%;right:14%;top:3px;height:42%;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,0))}

.mplink{transition:transform .5s ease,box-shadow .5s ease}
.mplink:hover{transform:scale(1.04);box-shadow:0 22px 60px rgba(58,42,56,.45) !important}
@media (prefers-reduced-motion: reduce){.bob,.cbub,.lgglow::before,.lgglow::after,.glass::before{animation:none}.wf .w{opacity:1;filter:none;transform:none}.wf[data-on="1"] .w{animation:none}}

.qf .qb{transition:left .55s cubic-bezier(.3,.7,.2,1),top .55s cubic-bezier(.3,.7,.2,1),width .55s cubic-bezier(.3,.7,.2,1),height .55s cubic-bezier(.3,.7,.2,1)}
.qf .qq{position:absolute;left:50%;top:50%;display:block;transform:translate(-50%,-50%);transition:transform .55s cubic-bezier(.3,.7,.2,1)}
.qf .ans{position:absolute;left:50%;top:50%;display:block;opacity:0;transform:translate(-50%,-50%) translateY(var(--ay,0px)) scale(0);transform-origin:50% 50%;transition:transform .55s cubic-bezier(.3,.7,.2,1),opacity .4s ease}
.qf .qw{display:inline}
.stage-d .qf .qb0{left:90px;top:140px;width:200px;height:200px}
.stage-d .qf[data-sel="0"] .qb0{left:35px;top:85px;width:310px;height:310px}
.stage-d .qf[data-sel="0"] .qw0{position:relative;z-index:3}
.stage-d .qf[data-sel="0"] .qb0 .qq{transform:translate(-50%,-50%) translateY(var(--qy,0px))}
.stage-d .qf[data-sel="0"] .qb0 .ans{opacity:1;transform:translate(-50%,-50%) translateY(var(--ay,0px)) scale(1)}
.stage-d .qf .qb1{left:330px;top:250px;width:200px;height:200px}
.stage-d .qf[data-sel="1"] .qb1{left:275px;top:195px;width:310px;height:310px}
.stage-d .qf[data-sel="1"] .qw1{position:relative;z-index:3}
.stage-d .qf[data-sel="1"] .qb1 .qq{transform:translate(-50%,-50%) translateY(var(--qy,0px))}
.stage-d .qf[data-sel="1"] .qb1 .ans{opacity:1;transform:translate(-50%,-50%) translateY(var(--ay,0px)) scale(1)}
.stage-d .qf .qb2{left:570px;top:140px;width:200px;height:200px}
.stage-d .qf[data-sel="2"] .qb2{left:515px;top:85px;width:310px;height:310px}
.stage-d .qf[data-sel="2"] .qw2{position:relative;z-index:3}
.stage-d .qf[data-sel="2"] .qb2 .qq{transform:translate(-50%,-50%) translateY(var(--qy,0px))}
.stage-d .qf[data-sel="2"] .qb2 .ans{opacity:1;transform:translate(-50%,-50%) translateY(var(--ay,0px)) scale(1)}
.stage-d .qf .qb3{left:810px;top:250px;width:200px;height:200px}
.stage-d .qf[data-sel="3"] .qb3{left:730px;top:195px;width:310px;height:310px}
.stage-d .qf[data-sel="3"] .qw3{position:relative;z-index:3}
.stage-d .qf[data-sel="3"] .qb3 .qq{transform:translate(-50%,-50%) translateY(var(--qy,0px))}
.stage-d .qf[data-sel="3"] .qb3 .ans{opacity:1;transform:translate(-50%,-50%) translateY(var(--ay,0px)) scale(1)}
.stage-d .qf[data-sel="0"] .qb1{left:331px;top:250px}
.stage-d .qf[data-sel="0"] .qb2{left:570px;top:140px}
.stage-d .qf[data-sel="0"] .qb3{left:810px;top:250px}
.stage-d .qf[data-sel="1"] .qb0{left:89px;top:140px}
.stage-d .qf[data-sel="1"] .qb2{left:571px;top:140px}
.stage-d .qf[data-sel="1"] .qb3{left:810px;top:250px}
.stage-d .qf[data-sel="2"] .qb0{left:90px;top:140px}
.stage-d .qf[data-sel="2"] .qb1{left:329px;top:250px}
.stage-d .qf[data-sel="2"] .qb3{left:811px;top:250px}
.stage-d .qf[data-sel="3"] .qb0{left:90px;top:140px}
.stage-d .qf[data-sel="3"] .qb1{left:330px;top:250px}
.stage-d .qf[data-sel="3"] .qb2{left:549px;top:129px}
.stage-m .qf .qb0{left:8px;top:58px;width:136px;height:136px}
.stage-m .qf[data-sel="0"] .qb0{left:0px;top:16px;width:220px;height:220px}
.stage-m .qf[data-sel="0"] .qw0{position:relative;z-index:3}
.stage-m .qf[data-sel="0"] .qb0 .qq{transform:translate(-50%,-50%) translateY(var(--qy,0px))}
.stage-m .qf[data-sel="0"] .qb0 .ans{opacity:1;transform:translate(-50%,-50%) translateY(var(--ay,0px)) scale(1)}
.stage-m .qf .qb1{left:136px;top:170px;width:136px;height:136px}
.stage-m .qf[data-sel="1"] .qb1{left:64px;top:128px;width:220px;height:220px}
.stage-m .qf[data-sel="1"] .qw1{position:relative;z-index:3}
.stage-m .qf[data-sel="1"] .qb1 .qq{transform:translate(-50%,-50%) translateY(var(--qy,0px))}
.stage-m .qf[data-sel="1"] .qb1 .ans{opacity:1;transform:translate(-50%,-50%) translateY(var(--ay,0px)) scale(1)}
.stage-m .qf .qb2{left:8px;top:282px;width:136px;height:136px}
.stage-m .qf[data-sel="2"] .qb2{left:0px;top:240px;width:220px;height:220px}
.stage-m .qf[data-sel="2"] .qw2{position:relative;z-index:3}
.stage-m .qf[data-sel="2"] .qb2 .qq{transform:translate(-50%,-50%) translateY(var(--qy,0px))}
.stage-m .qf[data-sel="2"] .qb2 .ans{opacity:1;transform:translate(-50%,-50%) translateY(var(--ay,0px)) scale(1)}
.stage-m .qf .qb3{left:136px;top:394px;width:136px;height:136px}
.stage-m .qf[data-sel="3"] .qb3{left:64px;top:352px;width:220px;height:220px}
.stage-m .qf[data-sel="3"] .qw3{position:relative;z-index:3}
.stage-m .qf[data-sel="3"] .qb3 .qq{transform:translate(-50%,-50%) translateY(var(--qy,0px))}
.stage-m .qf[data-sel="3"] .qb3 .ans{opacity:1;transform:translate(-50%,-50%) translateY(var(--ay,0px)) scale(1)}
.stage-m .qf[data-sel="0"] .qb1{left:148px;top:213px}
.stage-m .qf[data-sel="0"] .qb2{left:8px;top:282px}
.stage-m .qf[data-sel="0"] .qb3{left:136px;top:394px}
.stage-m .qf[data-sel="1"] .qb0{left:0px;top:15px}
.stage-m .qf[data-sel="1"] .qb2{left:0px;top:325px}
.stage-m .qf[data-sel="1"] .qb3{left:136px;top:394px}
.stage-m .qf[data-sel="2"] .qb0{left:8px;top:58px}
.stage-m .qf[data-sel="2"] .qb1{left:148px;top:127px}
.stage-m .qf[data-sel="2"] .qb3{left:148px;top:412px}
.stage-m .qf[data-sel="3"] .qb0{left:8px;top:58px}
.stage-m .qf[data-sel="3"] .qb1{left:136px;top:170px}
.stage-m .qf[data-sel="3"] .qb2{left:0px;top:239px}
