/* Curtain page transitions: red panel + ink panel sweep up with the destination name; lift away on arrival */
html.pt-cover::before{content:"";position:fixed;inset:0;background:#0E0203;z-index:9998}
.pt{position:fixed;inset:0;z-index:9999;pointer-events:none;visibility:hidden;overflow:hidden}
.pt.on{visibility:visible;pointer-events:auto}
.pt i{position:absolute;inset:0;transform:translateY(100%);will-change:transform}
.pt .pt-red{background:var(--pt-red,#F01923)}
.pt .pt-ink{background:#0E0203}
.pt.covered i{transform:none}
.pt.in .pt-red{animation:ptUp .62s cubic-bezier(.76,0,.24,1) forwards}
.pt.in .pt-ink{animation:ptUp .66s cubic-bezier(.76,0,.24,1) .14s forwards}
.pt.out i{transform:none}
.pt.out .pt-ink{animation:ptLift .7s cubic-bezier(.76,0,.24,1) forwards}
.pt.out .pt-red{animation:ptLift .72s cubic-bezier(.76,0,.24,1) .12s forwards}
.pt-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:0;z-index:2;text-align:center;padding:0 5vw;font-family:'Clash Display','Anton',sans-serif;font-weight:500;font-size:clamp(40px,9vw,140px);line-height:1.05;color:#F6F1E8;letter-spacing:-.01em;pointer-events:none}
.pt-label .l{display:inline-block;overflow:visible;transform:translateY(120%);opacity:0}
.pt-label .sp2{display:inline-block;width:.3em}
.pt.in .pt-label .l{animation:ptLet .55s cubic-bezier(.2,.75,.25,1) calc(.42s + var(--i)*34ms) forwards}
.pt.covered .pt-label .l{transform:none;opacity:1}
.pt.out .pt-label .l{animation:ptLetOut .35s ease forwards}
.pt-dot{position:absolute;left:50%;bottom:9vh;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--pt-red,#F01923);z-index:2;opacity:0}
.pt.in .pt-dot,.pt.covered .pt-dot{opacity:1}
@keyframes ptUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes ptLift{from{transform:translateY(0)}to{transform:translateY(-101%)}}
@keyframes ptLet{from{transform:translateY(120%);opacity:0}to{transform:none;opacity:1}}
@keyframes ptLetOut{from{transform:none;opacity:1}to{transform:translateY(-60%);opacity:0}}
/* page content eases in after the curtain lifts */
html.pt-reveal .case-hero h1,html.pt-reveal .case-hero .lede,html.pt-reveal .case-meta,html.pt-reveal .case-actions,html.pt-reveal .mock-hero{animation:ptRise .9s cubic-bezier(.2,.7,.2,1) both}
html.pt-reveal .case-hero .lede{animation-delay:.08s}html.pt-reveal .case-meta{animation-delay:.14s}html.pt-reveal .case-actions{animation-delay:.2s}html.pt-reveal .mock-hero{animation-delay:.28s}
@keyframes ptRise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pt{display:none}html.pt-cover::before{display:none}html.pt-reveal *{animation:none !important}}
