#dlv-shop-intro{--ink:#080808;position:fixed;inset:0;z-index:100;overflow:hidden;background:var(--ink);pointer-events:none;animation:dlv-intro-reveal 2s ease-in-out forwards}
#dlv-shop-intro .bean-orbit{position:absolute;left:50%;top:44%;width:850px;height:850px;background-image:url('/photos/dlv-shop-beans-v47.webp');background-size:cover;background-position:center;border-radius:50%;transform:translate(-50%,-50%) rotate(-24deg);filter:brightness(.43);mask-image:radial-gradient(ellipse,transparent 12%,#000 30%,#000 62%,transparent 73%);-webkit-mask-image:radial-gradient(ellipse,transparent 12%,#000 30%,#000 62%,transparent 73%);animation:dlv-intro-swirl 2s cubic-bezier(.2,.4,.3,1) both}
#dlv-shop-intro .orbit-back{width:580px;height:580px;opacity:.45;transform:translate(-50%,-50%) rotate(40deg);filter:brightness(.33) blur(1px);animation:dlv-intro-back 2s ease-out both}
#dlv-shop-intro .depth-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,#08080820 15%,transparent 42%,#08080899 95%)}
#dlv-shop-intro .intro-logo{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:190px;max-width:52%;height:auto;opacity:.23;filter:brightness(0) saturate(100%) invert(77%) sepia(35%) saturate(460%) hue-rotate(2deg) brightness(93%) contrast(89%);z-index:2;animation:dlv-intro-heartbeat 2s ease-in-out 1}
@keyframes dlv-intro-swirl{to{transform:translate(-50%,-50%) rotate(12deg) scale(.98)}}
@keyframes dlv-intro-back{to{transform:translate(-50%,-50%) rotate(15deg)}}
@keyframes dlv-intro-reveal{0%,48%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes dlv-intro-heartbeat{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.23}35%{transform:translate(-50%,-50%) scale(1.025);opacity:.25}60%{transform:translate(-50%,-50%) scale(1.008);opacity:.235}78%{transform:translate(-50%,-50%) scale(1.015);opacity:.245}}
@media(prefers-reduced-motion:reduce){#dlv-shop-intro .bean-orbit,#dlv-shop-intro .intro-logo{animation:none}#dlv-shop-intro{animation-duration:.3s}}

/* Keep an opaque curtain over the source page until navigation finishes. */
#dlv-shop-intro.dlv-leaving-for-shop{z-index:2147483647;pointer-events:auto;animation-name:dlv-intro-hold}
#dlv-shop-intro.dlv-leaving-for-shop .bean-orbit{animation:dlv-intro-swirl 2s cubic-bezier(.2,.4,.3,1) both,dlv-intro-detail-fade 2s ease-in-out forwards}
#dlv-shop-intro.dlv-leaving-for-shop .orbit-back{animation:dlv-intro-back 2s ease-out both,dlv-intro-back-fade 2s ease-in-out forwards}
#dlv-shop-intro.dlv-leaving-for-shop .intro-logo{animation:dlv-intro-heartbeat 2s ease-in-out both,dlv-intro-logo-fade 2s ease-in-out forwards}
@keyframes dlv-intro-hold{0%,100%{opacity:1;visibility:visible}}
@keyframes dlv-intro-detail-fade{0%,48%{opacity:1}100%{opacity:0}}
@keyframes dlv-intro-logo-fade{0%,48%{opacity:.23}100%{opacity:0}}
#dlv-shop-i18n-root.dlv-shop-arrival{animation:dlv-shop-arrival .4s ease-out both}
@keyframes dlv-shop-arrival{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#dlv-shop-intro.dlv-leaving-for-shop .bean-orbit,#dlv-shop-intro.dlv-leaving-for-shop .intro-logo,#dlv-shop-i18n-root.dlv-shop-arrival{animation:none}}

@keyframes dlv-intro-back-fade{0%,48%{opacity:.45}100%{opacity:0}}
