/* PAMMDI homepage motion. Content stays visible without JavaScript. */
html.pm-home-motion { scroll-padding-top: 88px; }
html.pm-home-motion[data-pm-motion="on"] { scroll-behavior: smooth; }
.pm-scroll-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 65; pointer-events: none; background: linear-gradient(90deg,#7135d1,#b991ee,#d4f36a); transform: scaleX(0); transform-origin: left; }
.pm2 .p2-declaration, .pm2.p2-partner { position: relative; isolation: isolate; }
.pm2 .p2-declaration::before, .pm2.p2-partner::before { content: ""; position: absolute; z-index: -1; pointer-events: none; inset: 0; background: radial-gradient(ellipse at 76% 26%,rgba(167,102,240,.32),transparent 56%); transform-origin: right center; }
.pm2 .p2-btn { position: relative; isolation: isolate; overflow: hidden; transition: transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,background .25s,color .25s !important; }
.pm2 .p2-btn::after { content: ""; position: absolute; inset: -60% -35%; z-index: -1; background: linear-gradient(110deg,transparent 32%,rgba(255,255,255,.27) 48%,transparent 65%); transform: translateX(-105%); pointer-events: none; }
.pm2 :is(.p2-btn,.p2-text-link)>span { display: inline-block; transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.pm2 .p2-text-link { position: relative; }
.pm2 .p2-text-link::after { content: ""; position: absolute; height: 2px; inset: auto 0 -1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .35s ease; pointer-events: none; }
.pm2 .p2-format { position: relative; transform-style: preserve-3d; transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.pm2 .p2-format-image { position: relative; box-shadow: 0 0 0 1px transparent,0 12px 35px -28px rgba(83,38,132,.35); transition: box-shadow .35s ease; }
.pm2 .p2-format-image::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(circle at var(--pm-light-x,50%) var(--pm-light-y,45%),rgba(255,255,255,.20),transparent 60%); pointer-events: none; opacity: 0; transition: opacity .3s; }
.pm2 .p2-format-image img { transform: none; object-fit: contain; }
.pm2 .p2-format:focus-within .p2-format-image { box-shadow: 0 0 0 2px #a277cb,0 16px 36px -20px rgba(83,38,132,.4); }
.pm2 .p2-format-label { transition: border-color .3s; }
.pm2 .p2-steps article::before { content: ""; position: absolute; inset: -1px 0 auto; height: 2px; background: var(--p2-deep,#30124d); transform: scaleX(1); transform-origin: left; pointer-events: none; }
.pm2 .p2-ticker.pm-ticker-ready { position: relative; display: block; padding: 20px 88px 20px 0; overflow: hidden; }
.pm2 .pm-ticker-window { overflow: hidden; width: 100%; }
.pm2 .pm-ticker-track { display: flex; width: max-content; }
.pm2 .pm-ticker-group { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-around; gap: clamp(24px,4vw,76px); padding-right: clamp(24px,4vw,76px); min-width: max(780px,100vw); white-space: nowrap; }
.pm2 .pm-ticker-group>span { display: block; }
.pm2 .pm-motion-toggle { position: absolute; right: 22px; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border-radius: 50%; border: 1px solid rgba(32,17,46,.55); background: var(--p2-lime,#e7ff87); color: #20112e; cursor: pointer; z-index: 2; }
.pm2 .pm-motion-toggle svg { width: 15px; height: 15px; fill: currentColor; }
.pm2 .pm-motion-toggle:focus-visible { outline: 3px solid #7135d1; outline-offset: 4px; }
.pm2 .pm-motion-toggle .pm-icon-play { display: none; }
html[data-pm-motion="off"] .pm2 .pm-motion-toggle .pm-icon-play { display: block; }
html[data-pm-motion="off"] .pm2 .pm-motion-toggle .pm-icon-pause { display: none; }
html[data-pm-motion="on"] .pm2 .pm-ticker-track { animation: pm-ticker-run 28s linear infinite; animation-play-state: paused; }
html[data-pm-motion="on"] .pm2 .p2-ticker.pm-motion-in-view .pm-ticker-track { animation-play-state: running; }
html[data-pm-motion="on"] .pm2 .p2-sculpture img { animation: pm-jelly-float 6.5s ease-in-out infinite; animation-play-state: paused; }
html[data-pm-motion="on"] .pm2 .p2-sculpture.pm-motion-in-view img { animation-play-state: running; }
html[data-pm-motion="on"] .pm2 .p2-hold-stamp { animation: pm-stamp-sway 7s ease-in-out infinite; animation-play-state: paused; }
html[data-pm-motion="on"] .pm2 .p2-hold-stamp.pm-motion-in-view { animation-play-state: running; }
html[data-pm-motion="on"] .pm2 .p2-declaration::before, html[data-pm-motion="on"] .pm2.p2-partner::before { animation: pm-purple-drift 9s ease-in-out infinite; animation-play-state: paused; }
html[data-pm-motion="on"] .pm2 .p2-declaration.pm-motion-in-view::before, html[data-pm-motion="on"] .pm2.p2-partner.pm-motion-in-view::before { animation-play-state: running; }
html[data-pm-motion="on"] .pm2 .p2-steps article.pm-step-entered::before { animation: pm-step-line .9s cubic-bezier(.2,.7,.2,1) both; animation-delay: var(--pm-delay,0ms); }
html.pm-motion-suspended .pm2 *, html.pm-motion-suspended .pm2 *::before { animation-play-state: paused !important; }
html[data-pm-motion="off"] .pm2 .pm-ticker-group[aria-hidden="true"] { display: none; }
html[data-pm-motion="off"] .pm2 .pm-ticker-group { min-width: 0; width: 100%; flex-wrap: wrap; white-space: normal; gap: 12px 24px; padding: 0 20px; }
html[data-pm-motion="off"] .pm2 .pm-ticker-track { width: 100%; }
html[data-pm-motion="off"] .pm2 :is(.p2-btn,.p2-text-link,.p2-format,.p2-format-image,.p2-format-label), html[data-pm-motion="off"] .pm2 :is(.p2-btn,.p2-text-link)>span { transition: none !important; }
html[data-pm-motion="off"] .pm2 .p2-btn:hover { transform: none; }
@media (hover:hover) and (pointer:fine) {
 html[data-pm-motion="on"] .pm2 .p2-btn:hover { transform: translateY(-4px); box-shadow: 0 9px 22px -12px rgba(70,28,104,.45); }
 html[data-pm-motion="on"] .pm2 .p2-btn:hover::after { animation: pm-button-sheen .7s ease-out; }
 html[data-pm-motion="on"] .pm2 :is(.p2-btn,.p2-text-link):hover>span { transform: translate(3px,-3px); }
 html[data-pm-motion="on"] .pm2 .p2-text-link:hover::after { transform: scaleX(1); }
 html[data-pm-motion="on"] .pm2 .p2-format.pm-card-hover { transform: perspective(1200px) translateY(-8px) rotateX(var(--pm-tilt-x,0deg)) rotateY(var(--pm-tilt-y,0deg)); }
 .pm2 .p2-format:hover .p2-format-image { box-shadow: 0 0 0 1px #b69bce,0 22px 45px -20px rgba(83,38,132,.35); }
 .pm2 .p2-format:hover .p2-format-label { border-color: #7135d1; }
 html[data-pm-motion="on"] .pm2 .p2-format:hover .p2-format-image::after { opacity: 1; }
 .pm2 .pm-motion-toggle:hover { background: #f0ffb9; }
 html[data-pm-motion="on"] .pm2 .p2-ticker:hover .pm-ticker-track, html[data-pm-motion="on"] .pm2 .p2-ticker:focus-within .pm-ticker-track { animation-play-state: paused; }
}
@media (max-width:767px) {
 .pm2 .p2-ticker.pm-ticker-ready { padding: 17px 62px 17px 0; font-size: 16px; }
 .pm2 .pm-ticker-group { min-width: 610px; gap: 30px; padding-right: 30px; }
 .pm2 .pm-motion-toggle { right: 12px; width: 44px; height: 44px; }
 html[data-pm-motion="off"] .pm2 .pm-ticker-group { gap: 8px 12px; font-size: 12px; }
 .pm2 .p2-btn:active { filter: brightness(.96); }
}
@keyframes pm-ticker-run { to { transform: translateX(-50%); } }
@keyframes pm-jelly-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }
@keyframes pm-stamp-sway { 0%,100% { transform: rotate(10deg); } 50% { transform: rotate(19deg); } }
@keyframes pm-purple-drift { 0%,100% { transform: translateX(0); opacity: .7; } 50% { transform: translateX(-6%); opacity: 1; } }
@keyframes pm-step-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes pm-button-sheen { from { transform: translateX(-105%); } to { transform: translateX(105%); } }
@media (prefers-reduced-motion:reduce) {
 html.pm-home-motion { scroll-behavior: auto !important; }
 html.pm-home-motion .pm2 *, html.pm-home-motion .pm2 *::before, html.pm-home-motion .pm2 *::after { animation: none !important; transition: none !important; }
 html.pm-home-motion .pm2 .p2-format { transform: none !important; }
 .pm-scroll-progress { display: none; }
}
