/* LPM motion intro — overlay above the Expo app; removed from flow when done */
#lpm-intro{position:fixed;inset:0;z-index:2147483000;background:#0b0907;color:#F3EDE4;-webkit-tap-highlight-color:transparent;transition:opacity .7s ease,visibility 0s linear .7s}
#lpm-intro.is-gone{opacity:0;visibility:hidden;pointer-events:none}
#lpm-intro .li-scroll{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none}
#lpm-intro .li-scroll::-webkit-scrollbar{display:none}
#lpm-intro .li-track{height:460vh;position:relative}
#lpm-intro .li-stage{position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden;contain:strict}
.li-card{position:absolute;inset:0;overflow:hidden;will-change:transform;transform-origin:50% 50%;background:#000;border-radius:0}
.li-layer{position:absolute;inset:-6% -4%;will-change:transform}
.li-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;opacity:0;will-change:opacity,transform;-webkit-user-select:none;user-select:none;pointer-events:none}
.li-sky{-webkit-mask-image:linear-gradient(#000 0,#000 30%,transparent 52%);mask-image:linear-gradient(#000 0,#000 30%,transparent 52%)}
.li-fg{-webkit-mask-image:linear-gradient(transparent 22%,#000 44%);mask-image:linear-gradient(transparent 22%,#000 44%)}
.li-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.li-stars{opacity:0;transition:opacity 1.6s ease;-webkit-mask-image:linear-gradient(#000 0,#000 28%,transparent 50%);mask-image:linear-gradient(#000 0,#000 28%,transparent 50%)}
.li-bokeh{opacity:0;transition:opacity 1.4s ease;mix-blend-mode:screen}
.li-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 40%,rgba(0,0,0,.55) 100%),linear-gradient(180deg,rgba(0,0,0,.35) 0,transparent 25%,transparent 40%,rgba(8,6,5,.6) 62%,rgba(8,6,5,.9) 100%)}
.li-slide{position:absolute;inset:0;overflow:hidden;will-change:transform;transform:translate3d(100%,0,0);border-radius:inherit}
.li-slide .li-img{opacity:1;inset:-4% 0;height:108%}
.li-slide.s4{transform:translate3d(0,100%,0)}
.li-slide .li-img{object-position:50% 50%}
/* logo + copy */
.li-logo{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;will-change:transform,opacity;transition:transform 1s cubic-bezier(.7,0,.2,1),opacity .6s ease}
.li-logo path{fill:none;stroke:#F3EDE4;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--l);stroke-dashoffset:var(--l)}
#lpm-intro.p-logo .li-logo path{transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.35,1);stroke-dashoffset:0}
#lpm-intro.p-logo .li-logo path:nth-child(2){transition-delay:.25s}
#lpm-intro.p-logo .li-logo path:nth-child(3){transition-delay:.12s}
#lpm-intro.p-logo .li-logo path:nth-child(4){transition-delay:.4s}
#lpm-intro.p-copy .li-logo{transform:translate3d(0,calc(-50vh + 56px),0) scale(.5)}
.li-copy{position:absolute;left:0;right:0;bottom:0;padding:0 24px calc(118px + env(safe-area-inset-bottom));text-align:center;will-change:transform,opacity;pointer-events:none}
.li-kicker{font:500 11px/1.4 Outfit,system-ui,sans-serif;letter-spacing:.32em;text-transform:uppercase;opacity:0;transform:translateY(8px);transition:opacity .8s ease,transform .8s ease;color:rgba(243,237,228,.8)}
.li-title{margin:14px auto 0;max-width:15em;font:400 clamp(34px,8.6vw,72px)/1.06 "Cormorant Garamond",Georgia,serif;letter-spacing:-.005em;text-wrap:balance}
.li-title .w{display:inline-block;white-space:nowrap}
.li-title .c{display:inline-block;opacity:0;filter:blur(12px);transform:translate3d(0,.35em,0);transition:opacity .7s ease,filter .8s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * 14ms)}
.li-sub{margin:16px auto 0;max-width:30em;font:italic 400 clamp(17px,2.2vw,22px)/1.45 "Cormorant Garamond",Georgia,serif;color:rgba(243,237,228,.85);opacity:0;filter:blur(6px);transition:opacity 1s ease .9s,filter 1s ease .9s}
#lpm-intro.p-copy .li-kicker{opacity:1;transform:none}
#lpm-intro.p-copy .li-title .c{opacity:1;filter:blur(0);transform:none}
#lpm-intro.p-copy .li-sub{opacity:1;filter:blur(0)}
.li-hint{position:absolute;left:50%;bottom:calc(64px + env(safe-area-inset-bottom));transform:translateX(-50%);font:500 10px/1 Outfit,system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:rgba(243,237,228,.7);opacity:0;transition:opacity .8s ease;pointer-events:none;white-space:nowrap}
.li-hint:after{content:"";display:block;width:1px;height:26px;margin:12px auto 0;background:linear-gradient(#F3EDE4,transparent);animation:li-drop 1.8s ease-in-out infinite;transform-origin:top}
@keyframes li-drop{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
#lpm-intro.p-ready .li-hint{opacity:1}
/* controls (always reachable) */
.li-ctl{position:absolute;z-index:3;top:calc(12px + env(safe-area-inset-top));display:flex;gap:10px;align-items:center}
.li-ctl.r{right:16px}.li-ctl.l{left:16px}
.li-btn{font:600 11px/1 Outfit,system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#F3EDE4;background:rgba(11,9,7,.35);border:1px solid rgba(243,237,228,.55);border-radius:999px;padding:12px 16px;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .6s ease,background .2s}
.li-btn:hover{background:rgba(243,237,228,.15)}
.li-btn:focus-visible{outline:2px solid #C98B5E;outline-offset:3px}
.li-skip{width:40px;height:40px;padding:0;display:grid;place-items:center;font-size:18px;letter-spacing:0}
#lpm-intro.p-ctl .li-btn{opacity:1}
@media (min-width:900px){.li-copy{padding-bottom:150px}.li-logo{width:96px;height:96px;margin:-48px 0 0 -48px}}
@media (prefers-reduced-motion:reduce){#lpm-intro{display:none!important}}
html.lpm-still #lpm-intro{display:none!important}
