/* Geometry comes from the delivered AI; all rules stay within this LP. */
#lisa2026-lp { position:relative; width:100%; max-width:750px; margin:0 auto; color:#050201; background:#050201; isolation:isolate; }
#lisa2026-lp *, #lisa2026-lp *::before, #lisa2026-lp *::after { box-sizing:border-box; }
#lisa2026-lp .lisa-scene { position:relative; width:100%; overflow:hidden; }
#lisa2026-lp .lisa-scene--3 { background:#ffff8d; }
#lisa2026-lp .lisa-layer { position:absolute; margin:0; padding:0; border:0; }
#lisa2026-lp img { display:block; width:100%; height:100%; max-width:none; border:0; }
/* Real src stays in HTML for no-JS; the early opt-in expires if the loader fails. */
#lisa2026-lp.lisa-load-managed img[data-lisa-deferred] { display:none; }
#lisa2026-lp .lisa-art { position:relative; width:100%; height:100%; }
#lisa2026-lp .lisa-crop { position:relative; overflow:hidden; width:100%; height:100%; }
#lisa2026-lp .lisa-crop img { position:absolute; }
#lisa2026-lp [data-reveal] { opacity:1; transform:none; }
#lisa2026-lp .lisa-pending { opacity:0; }
#lisa2026-lp .lisa-pending[data-reveal="bottom"] { transform:translateY(50px); }
#lisa2026-lp .lisa-pending[data-reveal="left"] { transform:translateX(-20px); }
#lisa2026-lp .lisa-pending[data-reveal="right"] { transform:translateX(20px); }
#lisa2026-lp .lisa-revealing { transition:opacity 1.1s ease, transform 1.1s ease; }
#lisa2026-lp [aria-disabled="true"] { cursor:default; }
#lisa2026-lp .lisa-track { position:absolute; left:0; width:100%; z-index:110; }
#lisa2026-lp .lisa-track-window { height:100%; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
#lisa2026-lp .lisa-track-window::-webkit-scrollbar { display:none; }
#lisa2026-lp .lisa-track-rail { display:flex; width:171.2907%; height:100%; }
#lisa2026-lp .lisa-track-set { position:relative; display:block; flex:0 0 100%; height:100%; }
#lisa2026-lp .lisa-track-cell { position:absolute; top:0; left:0; width:24.3603%; height:100%; }
#lisa2026-lp .lisa-track-cell:nth-child(2) { left:25%; }
#lisa2026-lp .lisa-track-cell:nth-child(3) { left:50%; }
#lisa2026-lp .lisa-track-cell:nth-child(4) { left:75%; }
#lisa2026-lp [data-lisa-clone] { display:none; }
#lisa2026-lp .lisa-track.is-moving .lisa-track-window { overflow:hidden; }
#lisa2026-lp .lisa-track.is-moving .lisa-track-rail { position:relative; left:-15.03503%; width:342.5814%; animation:lisa2026-marquee 16.540947s linear infinite; }
#lisa2026-lp .lisa-track.is-moving .lisa-track-set { flex-basis:50%; }
#lisa2026-lp .lisa-track.is-moving [data-lisa-clone] { display:block; }
/* One CTA outside scene clipping. Static fallback and stopped mode share the same anchor. */
#lisa2026-lp .lisa-buy { position:absolute; left:0; width:100%; bottom:var(--lisa-buy-stop-bottom); z-index:300; pointer-events:none; }
#lisa2026-lp .lisa-buy-inner { width:18.66666667%; aspect-ratio:1; margin-left:79.6%; }
#lisa2026-lp .lisa-buy.is-managed { position:fixed; left:var(--lisa-buy-left); width:var(--lisa-buy-width); bottom:min(14.2666666667vw,107px); opacity:0; visibility:hidden; transition:opacity .3s ease; }
#lisa2026-lp .lisa-buy.is-visible { opacity:1; visibility:visible; }
#lisa2026-lp .lisa-buy.is-stopped { position:absolute; left:0; width:100%; bottom:var(--lisa-buy-stop-bottom); }
#lisa2026-lp :focus-visible { outline:3px solid #ed3e89; outline-offset:3px; }
#lisa2026-lp .lisa-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@keyframes lisa2026-marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
/* Issue #77 / PR #31: LiSA motion is independent of the device preference. */

/* Only the page containing LiSA opts out of the existing LP shell gutters. */
.fs-l-page:has(#lisa2026-lp) { overflow-x:clip; }
.fs-l-main:has(#lisa2026-lp) { max-width:100%; padding-left:0; padding-right:0; }
/* Keep the existing page-top control clear of the approved right-side CTA. */
@media (max-width:750px) {
  .fs-l-page:has(#lisa2026-lp) #toTop { left:10px; right:auto; }
}

/* Native background split: preserve the original 1500 x 14266 placement. */
#lisa2026-lp .lisa-background-split { display:grid; grid-template-rows:minmax(0,7168fr) minmax(0,7098fr); }

/* Issue #82: keep static layer geometry; only artwork is an interactive link. */
#lisa2026-lp a.lisa-link { display:block; color:inherit; text-decoration:none; pointer-events:auto; }
/* Hidden art must not leave a transparent pointer or keyboard target. */
#lisa2026-lp a.lisa-link.lisa-pending,
#lisa2026-lp.lisa-load-managed a.lisa-link:has(img[data-lisa-deferred]) { visibility:hidden; }

/* Only the two AI column joins: isolate them from the shared section margins. */
#lisa2026-lp > .lisa-scene--1,
#lisa2026-lp > .lisa-scene--2 { margin-bottom:0; }
