
.pppv21{
  --lime:#7dff62;--cyan:#53e7ff;--pink:#ff55d9;--ink:#030615;
  --pppv-px:0px;--pppv-py:0px;
  position:relative;width:100%;max-width:none!important;margin:0!important;
  background:#030615;color:#fff;overflow:hidden;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  isolation:isolate
}
.pppv21 *{box-sizing:border-box}
.pppv21-camera{
  position:relative;height:var(--pppv-dh);min-height:620px;overflow:hidden;
  background:#050718;contain:layout paint style
}

/* The city artwork is now the grounded stage — not the animation itself. */
.pppv21-world-art{
  position:absolute;inset:-1.4%;display:block;
  transform:scale(1.025) translate3d(var(--pppv-px),var(--pppv-py),0);
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
  will-change:transform
}
.pppv21-world-art img{
  width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block;
  filter:saturate(1.075) contrast(1.04) brightness(.86)
}
.pppv21-grade{
  position:absolute;inset:0;z-index:3;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(1,3,14,.08),transparent 42%,rgba(3,5,20,.04) 68%,rgba(2,4,15,.78) 100%),
    radial-gradient(circle at 73% 25%,rgba(140,65,255,.08),transparent 24%)
}

/* ---------- SKY / DEPTH ---------- */
.pppv22-sky,.pppv22-city,.pppv22-water,.pppv22-traffic,.pppv22-reflections,.pppv22-neon-flicker,
.pppv22-road{position:absolute;inset:0;pointer-events:none}
.pppv22-sky{z-index:2;overflow:hidden}
.pppv22-starfield{
  position:absolute;inset:0;opacity:.28;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.45px),
    radial-gradient(circle,rgba(124,255,99,.65) 0 1px,transparent 1.35px),
    radial-gradient(circle,rgba(132,91,255,.8) 0 1px,transparent 1.35px);
  background-size:93px 93px,151px 151px,217px 217px;
  background-position:0 0,39px 19px,111px 63px;
  animation:pppv22Stars 52s linear infinite
}
.pppv22-shooting-stars i{
  position:absolute;top:10%;left:-12%;width:130px;height:2px;border-radius:99px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.96),rgba(83,231,255,.5),transparent);
  transform:rotate(-19deg);opacity:0;filter:drop-shadow(0 0 5px #fff);
  animation:pppv22Meteor 13s linear infinite
}
.pppv22-shooting-stars i:nth-child(2){top:22%;animation-delay:5.7s;animation-duration:17s;transform:rotate(-13deg)}
.pppv22-shooting-stars i:nth-child(3){top:7%;animation-delay:10.4s;animation-duration:21s;transform:rotate(-24deg)}
.pppv22-aurora i{
  position:absolute;left:-14%;top:-18%;width:58%;height:54%;
  border-radius:50%;filter:blur(58px);opacity:.14;mix-blend-mode:screen;
  background:radial-gradient(ellipse,rgba(132,61,255,.8),rgba(70,235,255,.18) 38%,transparent 68%);
  animation:pppv22Aurora 24s ease-in-out infinite alternate
}
.pppv22-aurora i:nth-child(2){left:57%;top:-7%;width:44%;height:42%;animation-duration:31s;animation-delay:-9s}

.pppv22-ufo-beam{
  position:absolute;right:22.5%;top:7%;width:8.4%;height:26%;
  opacity:.13;filter:blur(1.5px);mix-blend-mode:screen;
  background:linear-gradient(180deg,rgba(122,255,107,.7),rgba(122,255,107,.12) 70%,transparent);
  clip-path:polygon(41% 0,59% 0,100% 100%,0 100%);
  transform-origin:50% 0;
  animation:pppv22Beam 8.6s ease-in-out infinite
}
.pppv22-portal{
  position:absolute;right:1.3%;top:18%;width:10.5%;aspect-ratio:1/1;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 20deg,rgba(217,70,255,.35) 55deg,transparent 105deg,rgba(112,78,255,.42) 170deg,transparent 230deg,rgba(255,91,236,.3) 310deg,transparent);
  filter:blur(1px) drop-shadow(0 0 12px rgba(197,68,255,.45));
  mix-blend-mode:screen;opacity:.72;
  animation:pppv22Portal 11s linear infinite
}

/* Passing Puff blimp: slow, straight, believable route. */
.pppv22-blimp{
  position:absolute;left:-18%;top:8%;width:13.5%;height:7%;
  animation:pppv22Blimp 42s linear infinite
}
.pppv22-blimp-body{
  position:absolute;inset:14% 0;border-radius:50% 55% 48% 50%;
  background:linear-gradient(180deg,#431466,#130b2b 48%,#0b0a1b);
  border:1px solid rgba(198,109,255,.48);
  box-shadow:0 0 18px rgba(183,58,255,.34),inset 0 -5px 12px rgba(0,0,0,.5)
}
.pppv22-blimp-body::before{
  content:"";position:absolute;left:14%;bottom:-26%;width:38%;height:35%;
  background:#110b22;clip-path:polygon(0 0,100% 0,82% 100%,18% 100%);
  border:1px solid rgba(125,255,98,.2)
}
.pppv22-blimp-body::after{
  content:"";position:absolute;right:-8%;top:21%;width:24%;height:58%;
  background:#39125a;clip-path:polygon(0 32%,100% 0,74% 50%,100% 100%,0 68%)
}
.pppv22-blimp img{
  position:absolute;left:30%;top:23%;width:38%;height:54%;object-fit:contain;
  filter:drop-shadow(0 0 5px rgba(125,255,98,.55))
}

/* ---------- CITY LIGHT ---------- */
.pppv22-city{z-index:4}
.pppv22-window-grid{
  position:absolute;left:2%;top:18%;width:40%;height:31%;opacity:.14;
  background-image:
    radial-gradient(circle,rgba(255,201,85,.95) 0 1px,transparent 1.7px),
    radial-gradient(circle,rgba(83,231,255,.8) 0 1px,transparent 1.7px);
  background-size:23px 29px,31px 41px;
  animation:pppv22Windows 4.7s steps(2,end) infinite;
  mix-blend-mode:screen
}
.pppv22-boardwalk-glow{
  position:absolute;right:2.2%;bottom:26%;width:24%;height:9%;opacity:.16;
  background:repeating-linear-gradient(90deg,rgba(255,89,218,.9) 0 3px,transparent 3px 14px);
  filter:blur(1px);mix-blend-mode:screen;
  animation:pppv22Boardwalk 2.4s linear infinite
}
.pppv22-ferris{
  position:absolute;left:52.2%;top:35.2%;width:9.2%;aspect-ratio:1/1;border-radius:50%;
  border:1px solid rgba(255,93,222,.34);opacity:.62;
  animation:pppv22Wheel 18s linear infinite;
  filter:drop-shadow(0 0 7px rgba(255,75,214,.24))
}
.pppv22-ferris::before,.pppv22-ferris::after,.pppv22-ferris i{
  content:"";position:absolute;left:49.3%;top:2%;width:1px;height:96%;
  background:linear-gradient(transparent,rgba(89,255,119,.42),rgba(255,78,217,.35),transparent);
  transform-origin:50% 50%
}
.pppv22-ferris::after{transform:rotate(90deg)}
.pppv22-ferris i:nth-child(1){transform:rotate(30deg)}
.pppv22-ferris i:nth-child(2){transform:rotate(60deg)}
.pppv22-ferris i:nth-child(3){transform:rotate(120deg)}
.pppv22-ferris i:nth-child(4){transform:rotate(150deg)}

/* ---------- WATER ---------- */
.pppv22-water{z-index:4;overflow:hidden}
.pppv22-water-shimmer{
  position:absolute;left:24%;top:37%;width:33%;height:26%;opacity:.16;
  background:
    repeating-linear-gradient(176deg,transparent 0 9px,rgba(101,224,255,.5) 10px 11px,transparent 12px 20px),
    repeating-linear-gradient(184deg,transparent 0 14px,rgba(255,83,213,.3) 15px 16px,transparent 17px 27px);
  filter:blur(.4px);mix-blend-mode:screen;
  animation:pppv22Water 8s ease-in-out infinite alternate
}
.pppv22-ferry-trail{
  position:absolute;left:29%;top:48%;width:18%;height:3%;opacity:.22;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),rgba(83,231,255,.34),transparent);
  transform:rotate(-4deg);filter:blur(2px);
  animation:pppv22Wake 5.2s ease-in-out infinite
}
.pppv22-boat{
  position:absolute;left:21%;top:44%;width:4.8%;height:1.6%;
  animation:pppv22Boat 28s linear infinite;opacity:.88
}
.pppv22-boat span{
  position:absolute;inset:0;border-radius:60% 50% 42% 50%;
  background:linear-gradient(#13283e,#060914);border-bottom:2px solid rgba(125,255,98,.75);
  box-shadow:0 2px 9px rgba(83,231,255,.26)
}
.pppv22-boat span::after{
  content:"";position:absolute;left:35%;bottom:-55%;width:85%;height:42%;
  background:linear-gradient(90deg,rgba(83,231,255,.0),rgba(83,231,255,.42),transparent);
  filter:blur(2px)
}

/* ---------- ROAD TRAFFIC / LIGHT FLOW ---------- */
.pppv22-road{z-index:5}
.pppv22-road i{
  position:absolute;width:5px;height:5px;border-radius:50%;
  background:#fff;box-shadow:0 0 7px rgba(255,255,255,.8),0 0 12px rgba(125,255,98,.45);
  opacity:0
}
.pppv22-road-high i{right:21%;top:22%;animation:pppv22Highway 7.2s linear infinite}
.pppv22-road-high i:nth-child(2){animation-delay:-.9s}.pppv22-road-high i:nth-child(3){animation-delay:-1.8s}
.pppv22-road-high i:nth-child(4){animation-delay:-2.7s}.pppv22-road-high i:nth-child(5){animation-delay:-3.6s}
.pppv22-road-high i:nth-child(6){animation-delay:-4.5s}.pppv22-road-high i:nth-child(7){animation-delay:-5.4s}
.pppv22-road-high i:nth-child(8){animation-delay:-6.3s}
.pppv22-road-front i{
  left:-4%;bottom:15%;width:9px;height:3px;border-radius:4px;
  background:linear-gradient(90deg,#fff,#8cff72);
  box-shadow:0 0 9px rgba(125,255,98,.62);
  animation:pppv22FrontLights 9.2s linear infinite
}
.pppv22-road-front i:nth-child(2){animation-delay:-2s}.pppv22-road-front i:nth-child(3){animation-delay:-4s}
.pppv22-road-front i:nth-child(4){animation-delay:-6s}.pppv22-road-front i:nth-child(5){animation-delay:-8s}

/* ---------- CODED BRANDED VEHICLES ---------- */
.pppv22-traffic{z-index:6;overflow:hidden}
.pppv22-car{
  position:absolute;width:72px;height:24px;border-radius:19px 28px 8px 8px;
  background:linear-gradient(180deg,#16182a,#090b14 62%,#010205);
  border:1px solid rgba(102,255,112,.36);
  box-shadow:0 6px 10px rgba(0,0,0,.42),0 0 13px rgba(102,255,112,.16)
}
.pppv22-car::before,.pppv22-car::after{
  content:"";position:absolute;bottom:-5px;width:14px;height:14px;border-radius:50%;
  background:#05070a;border:2px solid #2f3542;box-shadow:inset 0 0 0 2px #0a0c0e
}
.pppv22-car::before{left:11px}.pppv22-car::after{right:10px}
.pppv22-car-logo img,.pppv22-van-logo img{
  display:block;width:100%;height:100%;object-fit:contain
}
.pppv22-car-logo{
  position:absolute;left:29px;top:5px;width:24px;height:13px;overflow:hidden;opacity:.78
}
.pppv22-car-a{bottom:16.5%;left:-13%;animation:pppv22CarA 18s linear infinite}
.pppv22-car-b{bottom:19%;right:-14%;transform:scale(.72);animation:pppv22CarB 27s linear infinite}

.pppv22-van{
  position:absolute;bottom:15.2%;left:-18%;width:92px;height:45px;
  border-radius:11px 8px 6px 6px;
  background:linear-gradient(180deg,#171a22,#080a0f 63%,#030406);
  border:1px solid rgba(125,255,98,.4);
  box-shadow:0 8px 12px rgba(0,0,0,.42),0 0 16px rgba(125,255,98,.2);
  animation:pppv22Van 31s linear infinite
}
.pppv22-van::before{
  content:"";position:absolute;right:-11px;bottom:0;width:31px;height:34px;
  background:linear-gradient(135deg,#1a1d25,#080a0f 64%);
  clip-path:polygon(0 0,72% 0,100% 42%,100% 100%,0 100%);
  border-right:1px solid rgba(125,255,98,.26)
}
.pppv22-van::after{
  content:"";position:absolute;left:11px;right:-2px;bottom:-7px;height:14px;
  background:
    radial-gradient(circle at 14% 50%,#050608 0 5px,#343a42 5.5px 7px,transparent 7.5px),
    radial-gradient(circle at 84% 50%,#050608 0 5px,#343a42 5.5px 7px,transparent 7.5px)
}
.pppv22-van-logo{position:absolute;left:27px;top:8px;width:49px;height:28px;opacity:.88}

.pppv22-bike{
  position:absolute;bottom:13.8%;right:-16%;width:86px;height:68px;
  animation:pppv22Bike 24s linear infinite
}
.pppv22-bike::before,.pppv22-bike::after{
  content:"";position:absolute;bottom:4px;width:25px;height:25px;border:3px solid #2f3540;border-radius:50%;
  box-shadow:inset 0 0 0 2px #050609,0 0 8px rgba(100,255,112,.18)
}
.pppv22-bike::before{left:5px}.pppv22-bike::after{right:3px}
.pppv22-bike-rider{position:absolute;left:23px;bottom:10px;width:47px;height:60px}
.pppv22-bike-rider img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 5px rgba(125,255,98,.25))}

/* ---------- REFLECTIONS / NEON ---------- */
.pppv22-reflections{z-index:5;mix-blend-mode:screen;opacity:.16;overflow:hidden}
.pppv22-reflections i{
  position:absolute;bottom:11%;width:18%;height:15%;
  background:linear-gradient(180deg,rgba(125,255,98,.33),transparent 65%);
  filter:blur(16px);transform:skewX(-18deg);
  animation:pppv22Reflection 7.8s ease-in-out infinite alternate
}
.pppv22-reflections i:nth-child(1){left:24%}.pppv22-reflections i:nth-child(2){left:54%;background:linear-gradient(180deg,rgba(112,69,255,.35),transparent);animation-delay:-2.6s}
.pppv22-reflections i:nth-child(3){right:2%;background:linear-gradient(180deg,rgba(255,65,203,.28),transparent);animation-delay:-5.1s}
.pppv22-neon-flicker{z-index:5;mix-blend-mode:screen}
.pppv22-neon-flicker i{
  position:absolute;width:12%;height:5%;border-radius:8px;opacity:0;
  background:rgba(125,255,98,.07);filter:blur(5px);animation:pppv22Flicker 6.7s steps(1,end) infinite
}
.pppv22-neon-flicker i:nth-child(1){left:7%;bottom:27%}
.pppv22-neon-flicker i:nth-child(2){left:39%;bottom:21%;background:rgba(83,231,255,.08);animation-delay:-2.2s}
.pppv22-neon-flicker i:nth-child(3){right:15%;bottom:31%;background:rgba(255,69,215,.08);animation-delay:-4.3s}
.pppv22-neon-flicker i:nth-child(4){right:2%;top:38%;background:rgba(125,255,98,.08);animation-delay:-1.1s}

/* ---------- DUFFLE CHARACTER ---------- */
.pppv21-duffle{
  position:absolute;z-index:7;left:-12%;bottom:20%;width:clamp(54px,5.2vw,88px);
  opacity:0;filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))
}
.pppv22-duffle-live{animation:pppv22DuffleRoute 38s cubic-bezier(.4,0,.2,1) infinite}
.pppv21-duffle img{width:100%;display:block}
.pppv22-duffle-message{
  position:absolute;left:74%;top:8%;white-space:nowrap;padding:7px 10px;border-radius:999px;
  border:1px solid rgba(125,255,98,.45);background:rgba(5,8,20,.84);color:#fff;
  font-size:9px;font-weight:900;letter-spacing:.08em;opacity:0;transform:translateX(-5px);
  box-shadow:0 8px 24px rgba(0,0,0,.34);animation:pppv22Message 38s ease infinite
}

/* ---------- CONTROLS ---------- */
.pppv22-controls{
  position:absolute;z-index:14;right:clamp(12px,2vw,28px);top:clamp(12px,2vw,24px);
  display:flex;gap:9px;align-items:center
}
.pppv21-pause,.pppv22-sound{
  border:1px solid rgba(255,255,255,.23);background:rgba(5,7,22,.56);backdrop-filter:blur(10px);
  color:#fff;box-shadow:0 0 0 1px rgba(122,90,255,.12),0 12px 30px rgba(0,0,0,.25);
  cursor:pointer
}
.pppv21-pause{
  position:static;width:50px;height:50px;border-radius:50%;font:800 18px/1 Inter,sans-serif;
  display:grid;place-items:center
}
.pppv22-sound{
  height:46px;border-radius:999px;padding:0 13px;display:flex;align-items:center;gap:7px;
  font:800 10px/1 Inter,sans-serif;letter-spacing:.08em
}
.pppv22-sound span{color:var(--lime);font-size:15px}
.pppv21.sound-on .pppv22-sound{border-color:rgba(125,255,98,.55);box-shadow:0 0 18px rgba(125,255,98,.12),0 12px 30px rgba(0,0,0,.25)}

/* ---------- TICKER: preserve the proven interaction model ---------- */
.pppv21-ticker{
  position:absolute;z-index:15;left:0;right:0;bottom:0;
  padding:34px clamp(18px,3vw,46px) 24px;
  background:linear-gradient(180deg,transparent 0,rgba(2,4,15,.58) 18%,rgba(2,4,15,.96) 50%,#030615 100%);
  pointer-events:none
}
.pppv21-ticker-head{display:flex;align-items:flex-end;gap:14px;margin-bottom:11px;padding:0 2px;pointer-events:auto}
.pppv21-ticker-head span{font-weight:900;letter-spacing:.14em;font-size:12px;color:var(--lime)}
.pppv21-ticker-head small{color:rgba(255,255,255,.62);font-size:12px}
.pppv21-track{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(190px,1fr);gap:12px;overflow-x:auto;
  overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;pointer-events:auto
}
.pppv21-track::-webkit-scrollbar{display:none}
.pppv21-card{
  position:relative;min-height:142px;border:1px solid rgba(255,255,255,.15);border-radius:16px;overflow:hidden;
  text-decoration:none!important;color:#fff!important;background:linear-gradient(145deg,rgba(13,18,38,.96),rgba(5,8,22,.96));
  scroll-snap-align:start;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 18px 45px rgba(0,0,0,.28);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease
}
.pppv21-card:hover,.pppv21-card:focus-visible{
  transform:translateY(-4px);border-color:rgba(125,255,98,.62);
  box-shadow:0 0 28px rgba(125,255,98,.12),0 20px 52px rgba(0,0,0,.36)
}
.pppv21-card-art{
  position:absolute;inset:0;
  background-image:radial-gradient(circle at 78% 22%,rgba(125,255,98,.24),transparent 28%),linear-gradient(135deg,rgba(114,78,255,.28),transparent 58%);
  background-size:cover;background-position:center;opacity:.55
}
.kind-lounge .pppv21-card-art{background-image:radial-gradient(circle at 78% 22%,rgba(255,74,223,.28),transparent 30%),linear-gradient(135deg,rgba(117,61,255,.30),transparent 60%)}
.kind-shop .pppv21-card-art{background-image:radial-gradient(circle at 78% 22%,rgba(69,229,255,.28),transparent 30%),linear-gradient(135deg,rgba(28,105,148,.32),transparent 60%)}
.kind-drop .pppv21-card-art{background-image:radial-gradient(circle at 78% 22%,rgba(255,221,74,.26),transparent 30%),linear-gradient(135deg,rgba(151,86,18,.30),transparent 60%)}
.kind-merch .pppv21-card-art{background-image:radial-gradient(circle at 78% 22%,rgba(255,70,178,.26),transparent 30%),linear-gradient(135deg,rgba(126,34,113,.30),transparent 60%)}
.kind-event .pppv21-card-art{background-image:radial-gradient(circle at 78% 22%,rgba(71,255,218,.25),transparent 30%),linear-gradient(135deg,rgba(22,121,104,.30),transparent 60%)}
.pppv21-card-body{position:relative;z-index:2;display:flex;min-height:142px;flex-direction:column;padding:16px}
.pppv21-card-body small{font-size:10px;letter-spacing:.14em;font-weight:800;color:rgba(255,255,255,.69);text-transform:uppercase;margin-bottom:8px}
.pppv21-card-body strong{font-size:clamp(18px,1.55vw,24px);line-height:1.05;font-weight:900;letter-spacing:-.025em;margin-bottom:6px}
.pppv21-card-body em{font-style:normal;font-size:12px;line-height:1.35;color:rgba(255,255,255,.76);max-width:24ch}
.pppv21-card-body i{font-style:normal;margin-top:auto;align-self:flex-end;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(125,255,98,.55);color:var(--lime);font-size:17px;background:rgba(5,9,20,.55)}

/* ---------- PAUSE / PERFORMANCE ---------- */
.pppv21.is-paused *{animation-play-state:paused!important}
.pppv21.pppv22-lite .pppv22-aurora,.pppv21.pppv22-lite .pppv22-window-grid,
.pppv21.pppv22-lite .pppv22-boardwalk-glow,.pppv21.pppv22-lite .pppv22-reflections{display:none!important}

/* ---------- MOTION ---------- */
@keyframes pppv22Stars{to{background-position:93px 24px,190px 62px,268px 112px}}
@keyframes pppv22Meteor{0%,81%{opacity:0;transform:translate3d(0,0,0) rotate(-19deg)}84%{opacity:.85}92%{opacity:0;transform:translate3d(125vw,24vh,0) rotate(-19deg)}100%{opacity:0}}
@keyframes pppv22Aurora{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(9vw,3vh,0) scale(1.12)}}
@keyframes pppv22Beam{0%,100%{opacity:.08;transform:rotate(-2deg) scaleX(.82)}45%{opacity:.22;transform:rotate(2deg) scaleX(1.08)}}
@keyframes pppv22Portal{to{transform:rotate(360deg)}}
@keyframes pppv22Blimp{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(136vw,2vh,0)}}
@keyframes pppv22Windows{0%,100%{opacity:.08}37%{opacity:.18}62%{opacity:.11}81%{opacity:.2}}
@keyframes pppv22Boardwalk{to{background-position:84px 0}}
@keyframes pppv22Wheel{to{transform:rotate(360deg)}}
@keyframes pppv22Water{0%{transform:translateX(-1.4%) scaleY(.96)}100%{transform:translateX(1.2%) scaleY(1.04)}}
@keyframes pppv22Wake{0%,100%{opacity:.09;transform:translateX(-6%) rotate(-4deg) scaleX(.88)}50%{opacity:.28;transform:translateX(8%) rotate(-4deg) scaleX(1.15)}}
@keyframes pppv22Boat{0%{transform:translate3d(-8vw,2vh,0) scale(.72)}100%{transform:translate3d(42vw,-4vh,0) scale(.92)}}
@keyframes pppv22Highway{
  0%{opacity:0;transform:translate3d(0,0,0) scale(.45)}
  10%{opacity:.65}
  50%{opacity:.9;transform:translate3d(-6vw,15vh,0) scale(.72)}
  100%{opacity:0;transform:translate3d(-12vw,31vh,0) scale(1.05)}
}
@keyframes pppv22FrontLights{0%{opacity:0;transform:translateX(0)}8%{opacity:.85}88%{opacity:.72}100%{opacity:0;transform:translateX(112vw)}}
@keyframes pppv22CarA{0%{transform:translateX(0) scale(.68)}100%{transform:translateX(132vw) scale(.78)}}
@keyframes pppv22CarB{0%{transform:translateX(0) scale(.55)}100%{transform:translateX(-132vw) scale(.7)}}
@keyframes pppv22Van{0%{transform:translateX(0) scale(.66)}100%{transform:translateX(138vw) scale(.78)}}
@keyframes pppv22Bike{0%{transform:translateX(0) scale(.7)}100%{transform:translateX(-136vw) scale(.8)}}
@keyframes pppv22Reflection{0%{transform:translateX(-10%) skewX(-18deg) scaleX(.8)}100%{transform:translateX(15%) skewX(-18deg) scaleX(1.18)}}
@keyframes pppv22Flicker{0%,79%,83%,100%{opacity:0}80%,82%{opacity:.9}91%{opacity:.38}}
@keyframes pppv22DuffleRoute{
  0%,65%,100%{opacity:0;transform:translate3d(0,6px,0)}
  68%{opacity:0;transform:translate3d(4vw,6px,0)}
  72%{opacity:1;transform:translate3d(9vw,0,0)}
  82%{opacity:1;transform:translate3d(14vw,-2px,0)}
  88%{opacity:1;transform:translate3d(20vw,0,0)}
  93%{opacity:0;transform:translate3d(25vw,-2px,0)}
}
@keyframes pppv22Message{
  0%,72%,91%,100%{opacity:0;transform:translateX(-6px)}
  76%,87%{opacity:1;transform:translateX(0)}
}

/* ---------- MOBILE ---------- */
@media(max-width:767px){
  .pppv21-camera{height:var(--pppv-mh);min-height:650px}
  .pppv21-world-art{inset:-1.5% -7%;transform:scale(1.02) translate3d(var(--pppv-px),var(--pppv-py),0)}
  .pppv21-world-art img{object-position:center 25%;filter:saturate(1.04) contrast(1.035) brightness(.84)}
  .pppv22-controls{top:11px;right:11px;gap:7px}
  .pppv21-pause{width:45px;height:45px}
  .pppv22-sound{height:42px;padding:0 10px}
  .pppv22-sound b{display:none}

  .pppv22-blimp{display:none}
  .pppv22-ufo-beam{right:20%;top:4%;width:14%;height:23%}
  .pppv22-portal{right:-2%;top:4%;width:16%}
  .pppv22-window-grid{left:0;top:18%;width:43%;height:30%}
  .pppv22-ferris{left:57%;top:55%;width:10.5%}
  .pppv22-water-shimmer{left:20%;top:42%;width:48%;height:25%}
  .pppv22-boat{left:25%;top:49%;width:8%}
  .pppv22-road-high i{right:13%;top:17%}
  .pppv22-road-front i{bottom:12%}
  .pppv22-car-a,.pppv22-car-b{width:58px;height:20px}
  .pppv22-van{width:76px;height:36px}
  .pppv22-bike{width:69px;height:54px}
  .pppv22-duffle-live{bottom:18%;width:56px}
  .pppv22-duffle-message{display:none}

  .pppv21-ticker{padding:27px 14px 17px}
  .pppv21-ticker-head{margin-bottom:9px}
  .pppv21-track{grid-auto-columns:78vw;gap:10px;padding-right:8vw}
  .pppv21-card,.pppv21-card-body{min-height:150px}
  .pppv21-card-body{padding:16px}
  .pppv21-card-body strong{font-size:22px}
  .pppv21-card-body em{font-size:13px;max-width:28ch}
}

/* Very small phones: reduce nonessential traffic, keep world fluid. */
@media(max-width:430px){
  .pppv22-car-b,.pppv22-boardwalk-glow,.pppv22-neon-flicker i:nth-child(4){display:none}
  .pppv22-van{animation-duration:37s}
  .pppv22-bike{animation-duration:29s}
}

/* Accessibility: no forced motion. */
@media(prefers-reduced-motion:reduce){
  .pppv21 *{animation:none!important;transition:none!important}
  .pppv22-traffic,.pppv22-road,.pppv22-shooting-stars,.pppv22-blimp,.pppv22-boat,.pppv22-duffle-live{display:none!important}
}
