/* ===== Full-screen entrance: the card is the door into the site ===== */
body.imm-body{padding:0}
.page{max-width:520px;margin:0 auto;background:var(--paper);overflow:hidden;box-shadow:0 0 90px rgba(0,0,0,.55);min-height:100vh}
.hero.imm{display:block;position:relative;padding:0;height:100vh;height:100svh;min-height:540px;overflow:hidden;background:var(--velvet);container-type:size;perspective:1300px;perspective-origin:50% 50%}
.card.has-art.imm{position:absolute;left:50%;top:50%;width:max(100cqw, calc(100cqh * 2 / 3));height:max(100cqh, calc(100cqw * 1.5));max-width:none;aspect-ratio:auto;transform:translate(-50%,-50%);transform-style:preserve-3d}
.card.has-art.imm .inside.art{box-shadow:none;border-radius:0}
.card.has-art.imm .face.front{border-radius:0!important}
.card.has-art.imm .door{transition:transform 2s cubic-bezier(.55,.02,.25,1),opacity .6s ease 1.55s}
.card.has-art.imm.open .door.l{transform:rotateY(-104deg);opacity:0}
.card.has-art.imm.open .door.r{transform:rotateY(104deg);opacity:0}
.card.has-art.imm.open .door{pointer-events:none}
.card.has-art.imm .card-panel{gap:1.2cqh}
.card.has-art.imm.open .card-panel > :nth-child(1){transition-delay:1.3s}
.card.has-art.imm.open .card-panel > :nth-child(2){transition-delay:1.7s}
.card.has-art.imm.open .card-panel > :nth-child(3){transition-delay:1.95s}
.card.has-art.imm.open .card-panel > :nth-child(4){transition-delay:2.1s}
.card.has-art.imm.open .card-panel > :nth-child(5){transition-delay:2.45s}
.card.has-art.imm.open .card-panel > :nth-child(6){transition-delay:2.7s}
.imm-hint{position:absolute;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:6;margin:0;text-align:center;font-family:var(--display);font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);font-style:normal;pointer-events:none;min-height:0}
.imm-hint > span{display:inline-block;background:color-mix(in srgb,var(--paper) 82%,transparent);padding:7px 12px;border-radius:999px}
.imm-hint.after{animation:cueIn 1s cubic-bezier(.22,.61,.36,1) 3.1s both}
.imm-hint .cue{display:inline-flex;flex-direction:column-reverse;align-items:center;gap:8px;background:none;padding:0}
.imm-hint .cue i{display:block;width:1px;height:30px;background:linear-gradient(var(--gold),transparent);transform-origin:top;animation:cueLine 2.2s ease-in-out infinite}
@keyframes cueIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes cueLine{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
.page .sheet{max-width:none;margin:0;border-radius:0;box-shadow:none;overflow:visible}
.page .lace-top{margin-top:-22px}
.page .foot{max-width:none;margin:0;padding:24px 16px calc(28px + env(safe-area-inset-bottom, 0px));background:var(--paper-2);color:var(--ink-soft)}
.page .foot a{color:var(--gold)}
@media (prefers-reduced-motion:reduce){
  .card.has-art.imm .door{transition:none}
  .imm-hint.after{animation:none}
  .imm-hint .cue i{animation:none}
}
.imm-hint{bottom:max(calc(16px + env(safe-area-inset-bottom, 0px)), calc(max(100cqh, 150cqw) * 0.145 - (max(100cqh, 150cqw) - 100cqh) / 2 + 10px))}
.imm-hint .cue{color:var(--ink-soft);font-size:10px}
.card.has-art.imm .card-panel{top:12%;bottom:21%}
