/* Used only by index.html. The overlay exists only when JavaScript opts in. */
@layer presentation {
.home-page #main[data-opening-focus]:focus{outline:none}
.home-page.is-opening>.header{right:var(--opening-scrollbar-gap,0px)}
.kasane-opening{--opening-reveal-end:-18%;--opening-reveal-limit:118%;position:fixed;inset:0;z-index:10000;background:var(--ivory);overflow:hidden;animation:opening-out .8s 2.6s ease-out both;cursor:pointer;touch-action:none}
.opening-logo{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;font:400 clamp(36px,5.3vw,80px)/1.2 var(--latin);letter-spacing:.09em;text-align:center;color:var(--ink);pointer-events:none}
.opening-logo span{display:inline-block}.opening-logo span+span{margin-left:.3em}.opening-frost{filter:blur(8px);opacity:.6;animation:opening-logo-in .6s 0s ease-out both,opening-unfrost 1.8s .6s cubic-bezier(.2,.7,.8,.3) both}.opening-clear{clip-path:inset(0 100% 0 0);animation:opening-reveal 1.8s .6s cubic-bezier(.2,.7,.8,.3) both}
.opening-pane{position:absolute;left:0;top:15%;height:70%;width:18vw;background:#eef7f514;border-top:1px solid #fff;border-left:1px solid #fff;border-bottom:1px solid #8fb3ad35;border-right:2px solid #8fb3adb0;box-shadow:inset 1px 0 0 #ffffff50;transform:translateX(-100%);animation:opening-pass 1.8s .6s cubic-bezier(.2,.7,.8,.3) both;pointer-events:none}
.opening-pane::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,#ffffff1a,transparent 30%,transparent 69%,#ffffff10 70%,transparent 72%)}
.opening-skip{position:absolute;right:clamp(24px,4vw,64px);bottom:24px;border:0;background:transparent;color:var(--muted);font:14px/1 var(--latin);letter-spacing:.12em;min-height:48px;min-width:64px;padding:12px;cursor:pointer}
@keyframes opening-logo-in{from{opacity:0}to{opacity:.6}}
@keyframes opening-pass{from{transform:translateX(-100%)}to{transform:translateX(100vw)}}
@keyframes opening-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 var(--opening-reveal-end) 0 0)}}
@keyframes opening-unfrost{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 0 var(--opening-reveal-limit))}}
@keyframes opening-out{from{opacity:1}to{opacity:0}}
@media(max-width:767px){.kasane-opening{--opening-reveal-end:-30%;--opening-reveal-limit:130%}.opening-pane{width:30vw}.opening-logo{font-size:clamp(46px,14vw,64px);letter-spacing:.075em}.opening-logo>div{display:flex;flex-direction:column;gap:8px}.opening-logo span+span{margin-left:0}}
@media(prefers-reduced-motion:reduce){.kasane-opening{display:none}.kasane-opening,.opening-clear,.opening-frost,.opening-pane{animation:none}}
}
