*{box-sizing:border-box}
.psmyo-story{--bg:#f4f4f4;position:relative;background:var(--bg);color:#141414;font-family:Arial,Helvetica,sans-serif}
.psmyo-track{height:540vh;position:relative}
.psmyo-fixed{position:absolute;top:0;left:0;width:100%;height:100vh;height:100dvh;min-height:570px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;overflow:hidden;background:radial-gradient(ellipse 65% 45% at 50% 66%,#fff 0%,#f4f4f4 78%)}
.psmyo-copy{width:100%;padding:clamp(30px,6vh,66px) 20px 0;z-index:2;text-align:center;min-height:185px}
.psmyo-kicker{font-size:12px;letter-spacing:.20em;font-weight:500;text-transform:uppercase;margin-bottom:14px}
.psmyo-title{font-size:clamp(28px,4vw,54px);font-weight:500;line-height:1.08;letter-spacing:-.045em;margin:0 auto 13px;max-width:1000px}
.psmyo-desc{font-size:clamp(15px,1.25vw,18px);line-height:1.45;max-width:740px;margin:0 auto;color:#333}
.psmyo-visual{flex:1;min-height:0;width:100%;position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto}
.psmyo-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transform:scale(.975) translateY(5px);transition:opacity .55s ease,transform .55s ease;pointer-events:none;user-select:none}
.psmyo-photo.current{opacity:1;transform:scale(1) translateY(0)}
.psmyo-bottom{z-index:2;flex-shrink:0;display:flex;justify-content:center;align-items:center;gap:15px;padding:16px 15px 30px}
.psmyo-dot{width:10px;height:10px;flex:none;background:#c3c3c3;border:0;border-radius:50%;padding:0;cursor:pointer;position:relative}
.psmyo-dot.active{background:#212121}
.psmyo-dot.active:after{content:"";position:absolute;inset:-6px;border:1.5px solid #222;border-radius:50%}
.psmyo-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#e4e4e4;z-index:4}
.psmyo-progress-bar{height:100%;background:#292929;width:0%}
@media(max-width:700px){.psmyo-track{height:480vh}.psmyo-fixed{min-height:500px}.psmyo-copy{padding:35px 15px 0;min-height:165px}.psmyo-title{font-size:clamp(27px,7vw,37px)}.psmyo-desc{font-size:14px}.psmyo-bottom{padding-bottom:22px}.psmyo-photo{width:110%;left:-5%}}
@media(prefers-reduced-motion:reduce){.psmyo-photo{transition:none}}

/* Pinning independent of Elementor ancestor overflow/transform. */
.psmyo-story .psmyo-track{position:relative;isolation:auto}
.psmyo-fixed.psmyo-pin-active{position:fixed!important;top:0!important;bottom:auto!important;margin:0!important;z-index:9999!important;max-width:none!important}
.psmyo-fixed.psmyo-pin-bottom{position:absolute!important;top:auto!important;bottom:0!important;left:0!important;width:100%!important}
.psmyo-fixed.psmyo-pin-top{position:absolute!important;top:0!important;bottom:auto!important;left:0!important;width:100%!important}

/* 1.3 scene always travels to document.body; CSS specificity for Elementor themes */
body > .psmyo-fixed.psmyo-portal { position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;min-height:0!important;max-width:none!important;margin:0!important;padding:0!important;display:flex!important;visibility:visible!important;opacity:1!important;z-index:2147483000!important;pointer-events:auto!important;transform:none!important; }
.psmyo-fixed.psmyo-hidden { visibility:hidden!important;pointer-events:none!important; }
.psmyo-fixed.psmyo-pin-top,.psmyo-fixed.psmyo-pin-bottom { visibility:visible!important; }
