:root{--ink:#fff4f7;--ink-dim:#fff4f78c;--rose:#c77d93;--bg:#090406;--serif-cn:"LXGW WenKai", "Source Han Serif SC", "Songti SC", "STSong", serif;--serif-en:"Cormorant Garamond", "EB Garamond", Georgia, serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--serif-en), var(--serif-cn);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}body.locked{overflow:hidden}canvas{touch-action:none;display:block}.stage{z-index:0;pointer-events:none;position:fixed;inset:0}.gate{z-index:30;cursor:pointer;background:radial-gradient(120% 90% at 50% 55%,#1a0d13 0%,#070405 70%);place-items:center;transition:opacity 1s,visibility 1s;display:grid;position:fixed;inset:0}.gate--out{opacity:0;visibility:hidden;pointer-events:none}.gate__inner{text-align:center;animation:1.6s cubic-bezier(.2,.7,.2,1) both rise}.gate__hint{letter-spacing:.32em;color:var(--ink-dim);margin:0 0 2.4rem;font-size:1.05rem}.gate__btn{color:var(--ink);font:inherit;letter-spacing:.3em;cursor:pointer;background:0 0;border:1px solid #fff4f747;border-radius:0;padding:.85em 2.4em .85em 2.7em;font-size:.92rem;transition:border-color .6s,letter-spacing .6s}.gate__btn:hover{letter-spacing:.42em;border-color:#fff4f7b3}.content{z-index:10;opacity:0;pointer-events:none;transition:opacity 1.4s;position:relative}.content--on{opacity:1;pointer-events:auto}.act{grid-template-columns:minmax(0,46%) 1fr;align-items:center;min-height:100svh;padding:0 clamp(1.6rem,7vw,8rem);display:grid}.act--intro{min-height:100vh}.act--final{min-height:110vh}.verse p{font-family:var(--serif-cn);letter-spacing:.06em;opacity:0;margin:0 0 1.15em;font-size:clamp(1.05rem,1.55vw,1.32rem);line-height:2.1;transition:opacity 1.5s,transform 1.5s cubic-bezier(.2,.7,.2,1);transform:translateY(.9em)}.verse.in p{opacity:1;transform:none}.verse--small p{color:var(--ink-dim);font-size:1rem}.offer{opacity:0;transition:opacity 1.6s,transform 1.6s cubic-bezier(.2,.7,.2,1);transform:translateY(1.2em)}.offer.in{opacity:1;transform:none}.offer__ask{font-family:var(--serif-cn);letter-spacing:.12em;margin:0 0 2.6rem;font-size:clamp(1.1rem,1.7vw,1.4rem)}.offer__btn{color:var(--ink);font-family:var(--serif-cn);letter-spacing:.4em;cursor:pointer;background:0 0;border:1px solid #fff4f74d;padding:.9em 2.2em .9em 2.6em;font-size:1rem;transition:border-color .7s,letter-spacing .7s,color .7s}.offer__btn:hover{border-color:var(--rose);color:#ffd9e2;letter-spacing:.55em}.offer__after p{font-family:var(--serif-cn);letter-spacing:.08em;opacity:0;animation:1.6s cubic-bezier(.2,.7,.2,1) forwards fadeUp;animation-delay:inherit;margin:0 0 1em;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:2}.scroll-hint{z-index:20;color:var(--ink-dim);letter-spacing:.42em;opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:.9rem;font-size:.72rem;transition:opacity 1.6s .6s;display:flex;position:fixed;bottom:2.4rem;left:50%;transform:translate(-50%)}.scroll-hint.in{opacity:1}.scroll-hint i{background:linear-gradient(#fff4f780,#0000);width:1px;height:2.6rem;animation:2.6s ease-in-out infinite drop}@keyframes rise{0%{opacity:0;transform:translateY(1.2em)}to{opacity:1;transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(.8em)}to{opacity:1;transform:none}}@keyframes drop{0%,to{transform-origin:top;opacity:.3;transform:scaleY(.4)}50%{transform-origin:top;opacity:1;transform:scaleY(1)}}@media (width<=820px){.act{grid-template-columns:1fr;align-items:end;padding:0 1.6rem 22vh}.act:not(.act--intro):before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000 25%,#090406d1 80%);position:absolute;inset:0}.act{position:relative}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.verse p,.offer,.gate__inner{transition:opacity .4s;transform:none}.scroll-hint i{animation:none}}
