/* OUTBOX CONCEPT V5 — cinematic scroll gallery. Palette, typography & other sections unchanged. */
.guests.guest-experience {
  padding:0; isolation:isolate; position:relative; background:linear-gradient(145deg,#292929 0%,#303030 50%,#262626 100%);
  overflow:visible;
}
.guest-experience .guest-sticky{position:relative;min-height:680px;display:flex;flex-direction:column;justify-content:space-between;gap:0;padding:85px 0 42px;overflow:hidden;isolation:isolate}
.guest-experience .guest-sticky::before{content:"";position:absolute;inset:-20%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse 38% 42% at 52% 58%,rgba(251,175,42,.10),transparent 84%)}
.guest-experience .guest-sticky::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='2' seed='6'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E")}
.guest-experience .guest-top{margin:0 auto;z-index:6;position:relative;align-items:flex-end;gap:26px;width:100%;}
.guest-experience .guest-top h2{font-size:clamp(3.8rem,5.8vw,7.1rem);line-height:.84;margin:0;letter-spacing:-.025em}
.guest-experience .guest-top p{font-size:13px;line-height:1.8;max-width:265px;margin:0 0 4px}
.guest-eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.25em;color:var(--gold);margin-bottom:21px;text-transform:uppercase;font-family:'Space Grotesk',sans-serif;font-weight:700}
.guest-eyebrow:before{content:"";width:21px;height:1px;background:var(--gold)}
.guest-experience .guest-stage{flex:1;min-height:430px;display:flex;align-items:center;justify-content:center;position:relative;perspective:1400px;outline-offset:-8px;touch-action:pan-y}
.guest-experience .guest-three{position:absolute;width:100%;height:100%;inset:0;z-index:0;opacity:.65;pointer-events:none;mix-blend-mode:screen}
.guest-stage::before{content:"";position:absolute;inset:14% 0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 28% 62% at 50% 55%,rgba(251,175,42,.13),transparent 100%)}
.guest-stage::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(90deg,#2c2c2c 0%,transparent 10%,transparent 90%,#2b2b2b 100%);opacity:.68}
.guest-experience .guest-track-clip{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;mask-image:none;-webkit-mask-image:none;position:relative;z-index:2;padding:18px 0 24px;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
.guest-experience .guest-track{display:flex;gap:15px;width:max-content;padding:0 max(18px,calc((100vw - 1300px)/2));animation:none!important;align-items:center}
.guest-experience .guest{display:block;border:1px solid rgba(255,255,255,.12);padding:0;position:relative;flex:0 0 auto;width:clamp(168px,16vw,224px);height:auto;aspect-ratio:237/339;scroll-snap-align:center;overflow:hidden;border-radius:11px;background:#111;box-shadow:0 24px 65px rgba(0,0,0,.32);transform-style:preserve-3d;transform-origin:center;backface-visibility:hidden;isolation:isolate;cursor:pointer;appearance:none;text-align:left}
.guest-experience .guest img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.045);transform:scale(1.005);transition:filter .5s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.guest-experience .guest:hover img,.guest-experience .guest:focus-visible img{transform:scale(1.08);filter:saturate(1.05) brightness(1.1)}
.guest-experience .guest::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.8));pointer-events:none}
.guest-experience .guest .guest-num{position:absolute;top:13px;left:13px;z-index:3;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.14em;color:white;background:rgba(24,24,24,.56);border:1px solid rgba(255,255,255,.35);padding:5px 7px;backdrop-filter:blur(8px)}
.guest-experience .guest .guest-caption{position:absolute;bottom:14px;left:15px;right:15px;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:5px;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.1em;color:white;text-transform:uppercase}
.guest-experience .guest .guest-caption b{font-weight:700;color:var(--gold)}
.guest-experience .guest-controls{z-index:6;position:relative;display:grid;align-items:center;grid-template-columns:125px 1fr auto;gap:32px;width:100%;}
.guest-count{display:flex;align-items:baseline;gap:9px;font:600 12px 'Space Grotesk',sans-serif;letter-spacing:.1em;color:#c4c4c4;font-variant-numeric:tabular-nums}
.guest-count strong{color:var(--gold);font:900 32px/.9 'Barlow Condensed',Impact,sans-serif;letter-spacing:0}
.guest-count .counter-slash{font-size:13px;opacity:.5}
.guest-progress-outer{height:2px;background:rgba(255,255,255,.19);position:relative;width:100%;max-width:720px;overflow:hidden}
.guest-progress-inner{width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:var(--gold);box-shadow:0 0 10px rgba(251,175,42,.6)}
.guest-buttons{display:flex;align-items:center;gap:8px}
.guest-step{background:rgba(255,255,255,.03);color:white;border:1px solid rgba(255,255,255,.26);border-radius:50%;width:43px;height:43px;display:grid;place-items:center;transition:color .2s,background .25s,border .25s,transform .25s}
.guest-step svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.guest-step:hover:not(:disabled){background:var(--gold);color:#171717;border-color:var(--gold);transform:scale(1.065)}
.guest-step:disabled{opacity:.35;cursor:default}
.guest-scroll-label{position:absolute;right:0;top:-32px;color:#bdbdbd;font:600 9px 'Space Grotesk',sans-serif;letter-spacing:.24em;text-transform:uppercase;display:flex;align-items:center;gap:12px}
.guest-scroll-label:before{content:"";width:24px;height:1px;background:var(--gold)}
.guest-experience .guest-rail-hint{display:none}
/* Progressive enhancement turns the gallery into a pinning 3D coverflow. */
.guest-experience.is-enhanced .guest-sticky{position:sticky;top:0;height:100svh;min-height:590px;padding:clamp(76px,11vh,118px) 0 clamp(22px,4vh,44px)}
.guest-experience.is-enhanced .guest-top{flex-shrink:0}
.guest-experience.is-enhanced .guest-stage{min-height:0;flex:1}
.guest-experience.is-enhanced .guest-track-clip{position:absolute;inset:0;overflow:visible;display:block;padding:0;z-index:2;pointer-events:none}
.guest-experience.is-enhanced .guest-track{position:absolute;inset:0;width:100%;display:block;padding:0;transform-style:preserve-3d;}
.guest-experience.is-enhanced .guest{position:absolute;left:50%;top:50%;width:clamp(185px,16.7vw,247px);height:min(36vh,365px);min-height:200px;aspect-ratio:237 / 339;will-change:transform,opacity;pointer-events:auto}
.guest-experience.is-enhanced .guest:not(.is-near){pointer-events:none}
.guest-experience.is-enhanced .guest.is-current{border-color:rgba(251,175,42,.79);box-shadow:0 26px 70px rgba(0,0,0,.60),0 0 0 1px rgba(251,175,42,.27),0 0 48px rgba(251,175,42,.11)}
.guest-experience.is-enhanced .guest.is-current .guest-num{color:var(--gold)}
.guest-experience.is-enhanced .guest img{will-change:transform}
.guest-experience.is-enhanced .guest-controls{flex-shrink:0}
@media (min-width:1600px){.guest-experience.is-enhanced .guest{width:255px;height:min(38vh,395px)}}
@media (max-width:850px){.guest-experience .guest-top h2{font-size:clamp(3.3rem,7vw,5.3rem)}.guest-experience .guest-sticky{padding:70px 0 38px;min-height:575px}.guest-experience.is-enhanced .guest-sticky{padding:clamp(65px,9vh,95px) 0 25px;min-height:500px}.guest-experience .guest-stage{min-height:300px}.guest-experience.is-enhanced .guest{width:clamp(155px,26vw,210px);height:min(38vh,320px)}.guest-experience .guest-controls{grid-template-columns:85px 1fr auto;gap:15px}}
@media (max-width:600px){.guest-experience .guest-sticky{padding:73px 0 28px;min-height:540px}.guest-experience .guest-top{gap:15px;align-items:flex-start;flex-direction:column}.guest-experience .guest-top h2{font-size:clamp(3.1rem,12vw,4.6rem)}.guest-experience .guest-top p{font-size:12px;line-height:1.5}.guest-eyebrow{margin-bottom:13px;font-size:9px}.guest-experience.is-enhanced .guest-sticky{min-height:0;height:100svh;padding:clamp(64px,10vh,88px) 0 19px}.guest-experience .guest-stage{min-height:280px}.guest-experience.is-enhanced .guest-stage{min-height:0}.guest-experience.is-enhanced .guest{width:clamp(152px,46vw,195px);height:min(35vh,280px);min-height:170px}.guest-experience .guest-track{padding:0 18px}.guest-experience .guest-controls{grid-template-columns:auto 1fr auto;gap:14px}.guest-count{gap:5px;font-size:10px}.guest-count strong{font-size:28px}.guest-step{width:36px;height:36px}.guest-step svg{width:16px;height:16px}.guest-scroll-label{display:none}.guest-experience .guest-track-clip{padding:18px 0}.guest-experience .guest-three{opacity:.3}.guest-experience .guest-stage::after{opacity:.3}}
@media (max-width:400px){.guest-experience .guest-top h2{font-size:clamp(2.9rem,12vw,3.8rem)}.guest-experience .guest-top p{font-size:11px}.guest-experience.is-enhanced .guest{width:156px;height:min(32vh,230px)}.guest-experience .guest-controls{gap:8px}.guest-count strong{font-size:26px}.guest-step{width:32px;height:32px}}
@media (max-height:680px) and (min-width:601px){.guest-experience.is-enhanced .guest-sticky{padding-top:64px;padding-bottom:19px;min-height:0}.guest-experience .guest-top h2{font-size:clamp(3rem,5vw,4.5rem)}.guest-experience .guest-eyebrow{margin-bottom:8px}.guest-experience.is-enhanced .guest{height:min(42vh,280px)}}
@media(prefers-reduced-motion:reduce){.guest-experience .guest img,.guest-step{transition:none!important}.guest-experience .guest-three{display:none}}

/* Preserve the site's content gutter when child also carries .container */
.guest-experience .guest-top,.guest-experience .guest-controls{width:min(calc(100% - 88px),var(--max));margin-inline:auto}
@media(max-width:600px){.guest-experience .guest-top,.guest-experience .guest-controls{width:calc(100% - 36px)}}

.guest-in-view .concept-indicator,.guest-in-view .motion-index{opacity:0!important;pointer-events:none!important}
