*{box-sizing:border-box}
.psmkt-story{--bg:#f5f5f4;position:relative;background:var(--bg);color:#141414;font-family:Arial,Helvetica,sans-serif}
.psmkt-track{height:475vh;position:relative;min-height:2300px}
.psmkt-fixed{position:absolute;top:0;left:0;width:100%;height:100vh;height:100dvh;min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;overflow:hidden;background:var(--bg)}
.psmkt-copy{width:100%;padding:clamp(14px,3.1vh,28px) 20px 2px;z-index:2;text-align:center;min-height:132px}
.psmkt-kicker{font-size:11px;letter-spacing:.18em;font-weight:600;text-transform:uppercase;margin-bottom:10px}
.psmkt-title{font-size:clamp(26px,3.3vw,44px);font-weight:500;line-height:1.04;letter-spacing:-.05em;margin:0 auto 9px;max-width:980px}
.psmkt-desc{font-size:clamp(13px,1.02vw,16px);line-height:1.42;max-width:760px;margin:0 auto;color:#333}
.psmkt-visual{flex:1;min-height:0;width:min(100%,1280px);max-height:calc(100dvh - 205px);position:relative;display:flex;align-items:center;justify-content:center;margin:0 auto;overflow:hidden;padding:0 3vw 0.5vh}
.psmkt-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transform:scale(.94) translateY(7px);transition:opacity .7s ease,transform .7s ease;pointer-events:none;user-select:none;padding:0 2vw 0.5vh}
.psmkt-photo.current{opacity:1;transform:scale(.94) translateY(0)}
.psmkt-bottom{z-index:2;flex-shrink:0;display:flex;justify-content:center;align-items:center;gap:14px;padding:10px 14px 18px;background:linear-gradient(to top,#f5f5f4 65%,transparent)}
.psmkt-dot{width:10px;height:10px;flex:none;background:#c8c8c8;border:0;border-radius:50%;padding:0;cursor:pointer;position:relative}
.psmkt-dot.active{background:#1a1a1a}
.psmkt-dot.active:after{content:"";position:absolute;inset:-6px;border:1.5px solid #242424;border-radius:50%}
.psmkt-dot:focus-visible{outline:2px solid #222;outline-offset:7px}
.psmkt-progress{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#e4e4e4;z-index:4}
.psmkt-progress-bar{height:100%;background:#242424;width:0%}
@media(max-width:760px){.psmkt-track{height:410vh;min-height:1800px}.psmkt-fixed{min-height:500px}.psmkt-copy{padding:18px 13px 4px;min-height:136px}.psmkt-title{font-size:clamp(24px,7vw,34px);margin-bottom:10px}.psmkt-desc{font-size:13px;line-height:1.38;max-width:92vw}.psmkt-visual{width:100%;max-height:calc(100dvh - 190px);padding:0 2vw 0}.psmkt-bottom{padding:10px 12px 18px}.psmkt-photo{object-position:center;padding:0 1vw 0}}
@media(prefers-reduced-motion:reduce){.psmkt-photo{transition:none}}

.psmkt-story .psmkt-track{position:relative;isolation:auto}
.psmkt-fixed.psmkt-pin-active{position:fixed!important;top:0!important;bottom:auto!important;margin:0!important;z-index:9999!important;max-width:none!important}
.psmkt-fixed.psmkt-pin-bottom{position:absolute!important;top:auto!important;bottom:0!important;left:0!important;width:100%!important}
.psmkt-fixed.psmkt-pin-top{position:absolute!important;top:0!important;bottom:auto!important;left:0!important;width:100%!important}
body > .psmkt-fixed.psmkt-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}
.psmkt-fixed.psmkt-hidden{visibility:hidden!important;pointer-events:none!important}
.psmkt-fixed.psmkt-pin-top,.psmkt-fixed.psmkt-pin-bottom{visibility:visible!important}

/* v1.0.2: Compact scene. Reserve room for the fixed WordPress/site navigation,
   keep the headings visible and cap the image independently of window width. */
.psmkt-story .psmkt-fixed,
body > .psmkt-fixed.psmkt-portal {
  box-sizing:border-box!important;
  min-height:0!important;
  padding-top:clamp(80px, 11vh, 116px)!important;
  height:100vh!important;
  height:100dvh!important;
}
.psmkt-story .psmkt-copy,
body > .psmkt-fixed.psmkt-portal .psmkt-copy {
  flex:0 0 auto;
  min-height:0;
  padding:10px 20px 5px;
}
.psmkt-story .psmkt-visual,
body > .psmkt-fixed.psmkt-portal .psmkt-visual {
  flex:1 1 0%;
  min-height:0;
  max-height:52vh;
  max-height:52dvh;
  width:min(94%,1040px);
  padding:0;
  margin:0 auto;
}
.psmkt-story .psmkt-photo,
body > .psmkt-fixed.psmkt-portal .psmkt-photo {
  box-sizing:border-box;
  object-fit:contain;
  object-position:center;
  padding:0;
  transform:scale(.92) translateY(6px);
}
.psmkt-story .psmkt-photo.current,
body > .psmkt-fixed.psmkt-portal .psmkt-photo.current {
  transform:scale(.92) translateY(0);
}
.psmkt-story .psmkt-bottom,
body > .psmkt-fixed.psmkt-portal .psmkt-bottom {
  margin-top:0;
  padding:9px 14px 17px;
}
@media(max-width:760px){
  .psmkt-story .psmkt-fixed,
  body > .psmkt-fixed.psmkt-portal {padding-top:clamp(58px, 9vh, 86px)!important;}
  .psmkt-story .psmkt-copy,
  body > .psmkt-fixed.psmkt-portal .psmkt-copy {padding:8px 12px 3px;}
  .psmkt-story .psmkt-visual,
  body > .psmkt-fixed.psmkt-portal .psmkt-visual {
    width:96%;max-height:48vh;max-height:48dvh;
  }
}
@media(max-height:720px) and (min-width:761px){
  .psmkt-story .psmkt-fixed,
  body > .psmkt-fixed.psmkt-portal {padding-top:76px!important;}
  .psmkt-story .psmkt-visual,
  body > .psmkt-fixed.psmkt-portal .psmkt-visual {max-height:45vh;max-height:45dvh;}
  .psmkt-story .psmkt-kicker {font-size:10px;margin-bottom:6px;}
  .psmkt-story .psmkt-title {font-size:clamp(23px,3vw,38px);margin-bottom:6px;}
}
