/* The supplied logo is unchanged. Bird is an independent transparent layer. */
html{background:var(--ink);min-height:100%}

.welcome{position:fixed;inset:0;z-index:90;min-height:100vh;min-height:100dvh;background:var(--ink);overflow:hidden;opacity:1;transition:opacity 2.4s cubic-bezier(.22,1,.36,1);isolation:isolate}.welcome-lockup{position:absolute;width:min(52vw,576px);aspect-ratio:1;left:50%;top:47%;transform:translate(-50%,-50%);overflow:visible}.welcome-logo{width:100%;height:auto;position:relative;z-index:1}.welcome-bird{position:absolute;z-index:3;pointer-events:none;width:66%;aspect-ratio:16/9;left:85.1%;top:33.2%;transform:translate(-50%,-63%);transform-origin:50% 63%;will-change:translate}.welcome-bird img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:none}.welcome-enter{position:absolute;left:50%;top:calc(47% + min(14vw,155px));transform:translateX(-50%);display:flex;align-items:center;gap:29px;padding:10px 0;font:300 14px/1.5 var(--body);letter-spacing:.16em;border-bottom:1px solid rgba(216,204,189,.45);transition:opacity .4s,color .2s}.welcome-enter:hover{color:var(--bone)}.welcome-enter span{font-size:17px;letter-spacing:0}.welcome.is-flying .welcome-enter{opacity:0;pointer-events:none}.welcome.is-flying .welcome-bird{animation:bird-cross-logo 4.1s both linear}.welcome.is-leaving{opacity:0;pointer-events:none}.intro-active,.intro-transitioning{overflow:hidden;background:var(--ink);overscroll-behavior:none}.intro-active>.site-head,.intro-active>.skip-link,.intro-active>main,.intro-active>.home-footer{visibility:hidden}
/* The homepage sits fully formed beneath the fading gate. Its logo is identical in size and position to the welcome logo, so HOUSE OF ZEN never moves or dims. */
@keyframes bird-cross-logo{0%,9%{translate:0 0}30%{translate:-12% 20%}48%{translate:-38% 11%}62%{translate:-20% -5%}76%{translate:15vw -18vh}100%{translate:65vw -75vh}}
@media(max-width:700px){.welcome-lockup{width:min(80vw,432px);top:45%}.welcome-enter{top:calc(45% + min(22vw,120px))}.welcome-bird{width:66%}}
@media(prefers-reduced-motion:reduce){.welcome,.welcome-enter{transition:none}.welcome.is-flying .welcome-bird{animation:none}}
.welcome{background:var(--threshold)}
.welcome::before{content:"";position:absolute;inset:0;background:var(--grain);opacity:.07;pointer-events:none}

/* Cover the homepage with the welcome from the first frame, before the deferred intro script runs. Released by intro.js (intro-active / intro-complete) or after 8s as a safety net. */
html.zen-pre-intro body:not(.intro-active):not(.intro-complete)>.welcome[hidden]{display:block!important}
html.zen-pre-intro body:not(.intro-active):not(.intro-complete){overflow:hidden;background:var(--ink)}
html.zen-pre-intro body:not(.intro-active):not(.intro-complete)>:is(.site-head,.skip-link,main,.home-footer){visibility:hidden}
