/* One instant photograph, a light CSS opening, then a native, deferred film. */
.px-hero{min-height:max(760px,100svh)}
.px-tour-media,.px-tour-poster,.px-tour-poster img,.px-tour-video{position:absolute;inset:0;width:100%;height:100%}
.px-tour-poster img,.px-tour-video{object-fit:cover;object-position:50% 48%}
.px-tour-video{opacity:0;transition:opacity .9s ease}
.px-tour-playing .px-tour-video,.px-tour-has-frame .px-tour-video{opacity:1}
.px-hero::after{background:linear-gradient(90deg,rgba(18,13,10,.72),rgba(18,13,10,.15) 85%),linear-gradient(180deg,rgba(18,13,10,.3),transparent 40%,rgba(18,13,10,.8))}
.px-hero-txt{padding-top:200px;padding-bottom:150px;max-width:1180px}
.px-hero h1{max-width:17ch}
.px-portal{display:none;position:absolute;inset:0;overflow:hidden;perspective:1200px}
.px-door{position:absolute;top:0;bottom:0;width:50%;background:linear-gradient(110deg,#281810f2,#140e0ce8);backface-visibility:hidden}
.px-door::after{content:'';position:absolute;inset:38px 28px;border:1px solid #e7c89440;border-radius:200px 200px 0 0;box-shadow:inset 0 0 0 8px #e7c89406}
.px-door-left{left:0;transform-origin:left center;border-right:1px solid #f0d9a880}
.px-door-right{right:0;transform-origin:right center;border-left:1px solid #f0d9a880}
.px-door-light{position:absolute;left:50%;top:0;width:1px;height:100%;box-shadow:0 0 35px 7px #f3ca8666;background:#f0d9a8;opacity:0}
.px-tour-invitation{display:none;position:absolute;left:0;right:0;top:22%;text-align:center;color:#f0d9a8;pointer-events:none}
.px-tour-invitation span{display:block;font-family:var(--font-titulares);font-size:clamp(22px,3vw,40px);letter-spacing:.3em}
.px-tour-invitation small{display:block;font-size:12px;letter-spacing:.14em;margin-top:12px}
.px-tour-intro .px-portal{display:block;animation:px-portal-out 2.5s both}
.px-tour-intro .px-door-left{animation:px-door-left 2.2s cubic-bezier(.22,.7,.2,1) .25s both}
.px-tour-intro .px-door-right{animation:px-door-right 2.2s cubic-bezier(.22,.7,.2,1) .25s both}
.px-tour-intro .px-door-light{animation:px-door-light 1.6s both}
.px-tour-intro .px-tour-invitation{display:block;animation:px-invitation 2.3s both}
.px-tour-controls{position:absolute;z-index:3;bottom:65px;left:6vw;right:6vw;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#fff}
.px-tour-chapter{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.06em}
.px-tour-number{font-family:var(--font-titulares);font-size:20px;color:#f0d9a8}
.px-tour-progress{width:85px;height:1px;background:#ffffff45;overflow:hidden}
.px-tour-progress i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:#f0d9a8}
@keyframes px-door-left{0%,10%{transform:rotateY(0)}100%{transform:rotateY(100deg);opacity:0}}
@keyframes px-door-right{0%,10%{transform:rotateY(0)}100%{transform:rotateY(-100deg);opacity:0}}
@keyframes px-door-light{0%{opacity:0;transform:scaleY(.05)}30%,55%{opacity:1;transform:scaleY(1)}100%{opacity:0}}
@keyframes px-invitation{0%{opacity:0;transform:translateY(10px)}20%,45%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-10px)}}
@keyframes px-portal-out{0%,85%{visibility:visible}100%{visibility:hidden}}
@media(max-width:900px){.px-hero-txt{padding-top:190px;padding-bottom:170px}.px-tour-controls{bottom:75px}.px-tour-progress{width:45px}.px-tour-invitation{top:18%}}
@media(max-width:650px){
 .px-hero{min-height:max(800px,100svh)}.px-hero-txt{padding:180px 7vw 185px}.px-hero h1{font-size:clamp(2.1rem,8.5vw,3rem);max-width:17ch}
 .px-eyebrow{font-size:10px;line-height:1.7;letter-spacing:.12em;margin-bottom:16px}.px-sub{font-size:15px;margin-bottom:22px}
 .px-cta{gap:10px}.px-btn{padding:12px 16px}.px-tour-controls{left:7vw;right:7vw;bottom:82px;flex-direction:column;align-items:stretch;gap:14px}
 .px-tour-chapter{font-size:11px}.px-tour-progress{flex:1} .px-tour-invitation{top:14%}.px-tour-invitation span{font-size:20px}.px-tour-invitation small{font-size:10px}.px-door::after{inset:20px 12px}
}
@media(prefers-reduced-motion:reduce){.px-portal,.px-tour-invitation{display:none!important}.px-tour-video{transition:none}}
