/* Discovery interludes: contained scenes, seamless canvas, theme-aware artwork and motion. */
.discovery-bridge {
 --bridge-accent:var(--studio-color-accent); --bridge-glow:var(--studio-color-accent); --bridge-ink:var(--studio-color-text); --bridge-muted:var(--studio-color-text-muted);
 position:relative; isolation:isolate; display:block;
 width:100%; max-width:1600px; box-sizing:border-box;
 margin:0 auto; padding:38px clamp(16px,4vw,60px); min-width:0; border:0; border-radius:0; background:transparent; color:var(--bridge-ink);
}
.discovery-bridge button,.discovery-bridge a {font:inherit;cursor:pointer;text-decoration:none}
.discovery-bridge :is(button,a):focus-visible {outline:3px solid var(--studio-color-accent);outline-offset:4px}
.discovery-bridge [data-bridge-panel][hidden] {display:none!important}
.bridge-body {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,64px);align-items:center;min-width:0;padding:18px 0}
.bridge-intro {min-width:0;position:relative;z-index:2}



.bridge-intro>p {font-size:20px;line-height:1.9;margin:0 0 25px;max-width:420px;color:var(--bridge-muted)}
.bridge-atmosphere {position:absolute;inset:65px clamp(16px,4vw,60px) 0;z-index:-1;pointer-events:none;overflow:hidden;border-radius:50%;mask-image:radial-gradient(ellipse,#000 35%,transparent 73%)}
.bridge-atmosphere>span {position:absolute;width:70%;height:80%;top:10%;left:0;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--bridge-glow) 23%,transparent),transparent 70%);animation:bridge-tide 16s ease-in-out infinite alternate}
.bridge-atmosphere>span:nth-child(2) {left:auto;right:0;top:30%;width:55%;height:65%;opacity:.55;animation-delay:-9s}
.bridge-atmosphere svg {position:absolute;width:100%;height:100%;inset:0;color:var(--bridge-accent);overflow:visible;opacity:.4}
.bridge-atmosphere path {stroke-width:1;animation:bridge-current 18s linear infinite;stroke-dasharray:240 380;stroke-linecap:round}
.bridge-atmosphere path:nth-child(2) {opacity:.5;animation-delay:-6s}.bridge-atmosphere path:nth-child(3) {opacity:.3;animation-delay:-12s}
.bridge-destinations {display:flex;flex-direction:column;gap:5px;max-width:340px}
.bridge-destinations button {display:flex;align-items:center;gap:15px;padding:10px 13px;min-height:46px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--bridge-ink);text-align:start;font-size:14px;transition:background .25s,border-color .25s}
.bridge-destinations button>b {font:10px Arial,sans-serif;color:var(--bridge-muted)}
.bridge-destinations button>span {margin-inline-start:auto;font-size:20px;opacity:0;transition:.25s}
.bridge-destinations button[aria-selected=true] {border-color:color-mix(in srgb,var(--bridge-accent) 30%,transparent);background:linear-gradient(110deg,color-mix(in srgb,var(--bridge-accent) 15%,transparent),color-mix(in srgb,var(--bridge-accent) 3%,transparent));box-shadow:0 8px 30px color-mix(in srgb,var(--bridge-glow) 5%,transparent)}
.bridge-destinations button[aria-selected=true]>span {opacity:1;color:var(--studio-color-accent)}
.bridge-passport {min-width:0;position:relative;padding:25px 18px 0;color:var(--bridge-ink)}
.bridge-orbit {position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.bridge-orbit>i {position:absolute;width:320px;height:320px;left:-5px;top:20px;border:1px solid color-mix(in srgb,var(--bridge-accent) 13%,transparent);border-radius:50%;transform:rotate(-28deg) scaleY(.75)}
.bridge-orbit>i:nth-child(2) {width:370px;height:370px;left:-30px;top:-5px;opacity:.6}
.bridge-orbit>span {position:absolute;bottom:25px;inset-inline-start:12px;font:900 76px Arial,sans-serif;letter-spacing:-6px;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--bridge-accent) 12%,transparent)}
.bridge-orbit>b {position:absolute;left:225px;top:15px;color:var(--bridge-accent);font-size:25px;animation:bridge-star 7s ease-in-out infinite}
.bridge-orbit>em {position:absolute;width:6px;height:6px;background:var(--bridge-accent);border-radius:50%;left:100px;bottom:32px;box-shadow:0 0 18px var(--bridge-accent);animation:bridge-star 8s ease-in-out -4s infinite}
.bridge-passport-panel {position:relative;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:25px;align-items:center;min-height:320px;padding-bottom:20px}
.bridge-passport-copy {min-width:0;z-index:2}.bridge-passport-copy>small {display:block;color:var(--bridge-muted);font-size:10px;line-height:1.6}
.bridge-passport-copy h3 {margin:6px 0;font-size:26px;line-height:1.5;color:var(--bridge-ink)}
.bridge-passport-copy>strong {display:block;font-size:16px;line-height:1.7;margin:5px 0;color:var(--bridge-ink)}
.bridge-secondary {display:block;font-size:11px;line-height:1.7;color:var(--bridge-muted);overflow-wrap:anywhere}
.bridge-flight-path {display:flex;align-items:center;gap:10px;max-width:125px;margin:16px 0;color:var(--bridge-accent)}
.bridge-flight-path i {height:1px;flex:1;background:linear-gradient(90deg,transparent,currentColor)}.bridge-flight-path i:last-child {transform:rotate(180deg)}.bridge-flight-path b {font-size:16px}
.bridge-passport-copy>a {display:flex;align-items:center;gap:12px;min-height:44px;margin-top:8px;color:var(--studio-color-accent);font-size:11px;font-weight:750}.bridge-passport-copy>a>span {font-size:20px}
.bridge-poster-stack {position:relative;width:185px;height:274px;margin:0 auto;perspective:900px;isolation:isolate}
.bridge-poster-halo {position:absolute;inset:-25px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--bridge-accent) 24%,transparent),transparent 70%);animation:bridge-tide 12s ease-in-out infinite alternate;z-index:-3}
.bridge-poster-echo {position:absolute;inset:8px 5px;border:1px solid color-mix(in srgb,var(--bridge-accent) 30%,transparent);border-radius:15px;overflow:hidden;pointer-events:none;box-shadow:0 12px 24px #0002;z-index:-1}
.bridge-poster-echo img {width:100%;height:100%;object-fit:cover;filter:saturate(.75) brightness(.75)}
.bridge-poster-echo-1 {transform:translateX(20px) rotate(9deg) scale(.91);opacity:.65}
.bridge-poster-echo-2 {transform:translateX(-20px) rotate(-12deg) scale(.91);opacity:.4;z-index:-2}
.bridge-passport-poster {display:block;position:relative;width:100%;height:100%;padding:0;border:1px solid #ffffff30;border-radius:15px;overflow:hidden;background:#0b1d29;box-shadow:0 22px 35px #0004;transform:rotate(-3deg);transition:transform .4s,box-shadow .4s;animation:bridge-float 9s ease-in-out infinite}
.bridge-passport-poster:hover {box-shadow:0 26px 45px #0005}
.bridge-passport-poster::after {content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 25%,#ffffff24 45%,transparent 65%);transform:translateX(-150%);animation:bridge-sheen 12s ease-in-out infinite}
.bridge-passport-poster img,.bridge-ticket-art img {display:block;width:100%;height:100%;object-fit:cover}
.bridge-passport-poster>span:last-child:not([data-vip-badge]) {position:absolute;bottom:9px;inset-inline-end:9px;width:29px;height:29px;display:grid;place-items:center;background:var(--studio-color-control);color:var(--bridge-accent);border-radius:50%}
.bridge-passport-footer {position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;font-size:8px;color:var(--bridge-muted)}
.bridge-passport-footer>span {letter-spacing:.08em;direction:ltr}.bridge-passport-footer>b {font-weight:500}
.bridge-destination-progress {display:flex;gap:5px}.bridge-destination-progress span {width:6px;height:6px;border-radius:9px;background:var(--studio-color-border);transition:width .4s,background .4s}.bridge-destination-progress .is-active {width:25px;background:var(--bridge-accent)}
.bridge-cinema 
.bridge-length {display:flex;flex-wrap:wrap;gap:7px;margin-bottom:17px}
.bridge-length button {border:1px solid var(--studio-color-border);border-radius:999px;min-height:40px;padding:7px 14px;background:transparent;color:var(--bridge-muted);font-size:11px}
.bridge-length button[aria-pressed=true] {background:color-mix(in srgb,var(--bridge-accent) 12%,transparent);border-color:color-mix(in srgb,var(--bridge-accent) 50%,var(--studio-color-border));color:var(--bridge-ink)}
.bridge-shuffle {display:inline-flex;gap:10px;align-items:center;min-height:46px;border:0;padding:7px 0;background:transparent;color:var(--bridge-ink);font-size:13px;font-weight:750}
.bridge-shuffle svg {width:20px;height:20px;transition:transform .35s}.bridge-shuffle:hover svg {transform:rotate(-20deg)}.bridge-shuffle:disabled {opacity:.5;cursor:default}
.bridge-ticket-stage {position:relative;min-width:0;isolation:isolate;padding:10px 0}
.bridge-projector {position:absolute;inset:-40px -15px;z-index:-1;pointer-events:none;overflow:hidden;mask-image:radial-gradient(ellipse,#000 35%,transparent 72%)}
.bridge-projector i {position:absolute;width:70%;height:160%;top:-30%;left:35%;transform:rotate(-30deg);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--bridge-accent) 12%,transparent),transparent);animation:bridge-project 14s ease-in-out infinite alternate}
.bridge-projector i:nth-child(2) {left:15%;width:30%;animation-delay:-9s;opacity:.65}.bridge-projector span {position:absolute;top:17px;left:15%;color:var(--bridge-accent);font-size:20px;animation:bridge-star 7s ease-in-out infinite}
.bridge-ticket {position:relative;display:grid;grid-template-columns:185px minmax(0,1fr) 48px;min-height:320px;background:linear-gradient(125deg,color-mix(in srgb,var(--studio-color-surface) 86%,var(--studio-color-canvas)),color-mix(in srgb,var(--bridge-accent) 9%,var(--studio-color-canvas)));color:var(--bridge-ink);border-radius:20px;box-shadow:0 18px 42px #0002;overflow:hidden;border:0}
.bridge-ticket-art {position:relative;border:0;padding:0;background:#18212c;overflow:hidden}
.bridge-ticket-art img {transition:transform .8s}.bridge-ticket-art:hover img {transform:scale(1.045)}
.bridge-ticket-art::after {content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,#07152044)}
.bridge-ticket-copy {min-width:0;padding:25px 20px;display:flex;flex-direction:column;align-items:flex-start}
.bridge-ticket-copy>small {font-size:10px;color:var(--bridge-muted);line-height:1.7}.bridge-ticket-copy h3 {font-size:22px;line-height:1.6;margin:10px 0 4px;color:var(--bridge-ink)}
.bridge-ticket-facts {display:flex;flex-wrap:wrap;gap:8px;margin-top:13px;font-size:11px;color:var(--bridge-muted)}.bridge-ticket-facts span+span:before {content:'·';margin-inline-end:8px;color:var(--bridge-accent)}
.bridge-ticket-copy p {font-size:11px;line-height:1.6;color:var(--bridge-muted);margin:7px 0 14px}
.bridge-ticket-copy .bridge-ticket-synopsis {font-size:11px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 14px}
.bridge-ticket-open {display:flex;align-items:center;gap:18px;justify-content:space-between;width:100%;margin-top:auto;border:0;background:transparent;color:var(--bridge-ink);font-size:12px;font-weight:800;min-height:46px;padding:10px 0 0}
.bridge-ticket-stub {position:relative;border-inline-start:1px dashed color-mix(in srgb,var(--bridge-accent) 25%,transparent);display:flex;align-items:center;justify-content:center;gap:15px;flex-direction:column;padding:14px 8px;color:var(--bridge-accent)}
.bridge-ticket-stub>span {writing-mode:vertical-rl;font-size:8px;letter-spacing:.1em;max-height:110px}.bridge-ticket-stub>strong {font:900 28px Georgia,serif;color:var(--bridge-ink)}.bridge-ticket-stub>i {font:15px Arial,sans-serif;writing-mode:vertical-rl;font-style:normal}.bridge-ticket-stub>small {font-size:6px;letter-spacing:.06em}
.bridge-ticket-caption {display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:18px;font-size:10px;color:var(--bridge-muted)}.bridge-ticket-caption>b {font:11px Arial,sans-serif;letter-spacing:.1em}
.bridge-motion-toggle {display:flex;align-items:center;gap:6px;min-height:34px;margin-top:12px;padding:4px 0;background:none;border:0;color:var(--bridge-muted);font-size:9px!important;opacity:.75}
.bridge-motion-toggle svg {width:12px;height:12px}
.discovery-bridge :is(.bridge-atmosphere>span,.bridge-atmosphere path,.bridge-orbit>b,.bridge-orbit>em,.bridge-poster-halo,.bridge-passport-poster,.bridge-projector i,.bridge-projector span) {animation-play-state:paused}
.discovery-bridge.is-in-view:not(.is-motion-paused) :is(.bridge-atmosphere>span,.bridge-atmosphere path,.bridge-orbit>b,.bridge-orbit>em,.bridge-poster-halo,.bridge-passport-poster,.bridge-projector i,.bridge-projector span) {animation-play-state:running}
@keyframes bridge-tide {from {transform:translate(-4%,-3%) scale(.92)}to {transform:translate(5%,6%) scale(1.1)}}
@keyframes bridge-current {to {stroke-dashoffset:-1240}}
@keyframes bridge-star {50% {transform:translateY(-7px) rotate(12deg);opacity:.4}}
@keyframes bridge-float {50% {transform:translateY(-7px) rotate(-1deg)}}
@keyframes bridge-sheen {0%,65% {transform:translateX(-150%)}85%,100% {transform:translateX(150%)}}
@keyframes bridge-project {to {transform:translateX(-15%) rotate(-15deg);opacity:.4}}
@media(max-width:1100px) {
 .bridge-body {gap:28px;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
 .bridge-passport-panel {grid-template-columns:minmax(0,1fr) 160px;gap:18px}.bridge-poster-stack {width:137px;height:213px}.bridge-passport-copy h3 {font-size:24px}.bridge-passport {padding-inline:10px}
 .bridge-ticket {grid-template-columns:135px minmax(0,1fr) 40px}.bridge-ticket-copy {padding:22px 15px}.bridge-ticket-copy h3 {font-size:20px}
}
@media(max-width:820px) {
 .bridge-body {grid-template-columns:minmax(0,1fr);gap:24px;max-width:620px;margin-inline:auto;padding:12px 0}
 .bridge-intro>p {max-width:none;margin-bottom:16px}.bridge-destinations {flex-direction:row;max-width:none;flex-wrap:wrap}.bridge-destinations button {font-size:12px;gap:8px;flex:1;white-space:nowrap}.bridge-destinations button>span {display:none}
 .bridge-passport-panel {grid-template-columns:minmax(0,1fr) 225px;gap:30px;min-height:310px}.bridge-poster-stack {width:185px;height:274px}.bridge-passport {padding:12px 24px 0}.bridge-passport-copy h3 {font-size:26px}
 .bridge-ticket {grid-template-columns:175px minmax(0,1fr) 48px;min-height:305px}.bridge-ticket-copy h3 {font-size:22px}
 .bridge-length {display:inline-flex;margin:0 0 10px}.bridge-shuffle {display:flex}.bridge-motion-toggle {position:absolute;bottom:-3px;inset-inline-end:0}
 .bridge-atmosphere {inset:18% 16px 0}.bridge-passport-footer {min-height:35px}
}
@media(max-width:480px) {
 .discovery-bridge {width:100%;padding:24px 16px}.bridge-body {gap:26px}
 .bridge-intro>p {font-size:15px;padding-inline-end:0}
 .bridge-destinations {gap:5px}.bridge-destinations button {padding:8px;font-size:11px;gap:5px;justify-content:center}.bridge-destinations button>b {display:none}
 .bridge-passport {padding:10px 6px 0}.bridge-passport-panel {grid-template-columns:minmax(0,1fr) 118px;gap:14px;min-height:240px}.bridge-poster-stack {width:99px;height:161px}
 .bridge-passport-copy h3 {font-size:20px}.bridge-passport-copy>strong {font-size:13px}.bridge-passport-copy>small {font-size:9px}.bridge-secondary {font-size:10px}.bridge-passport-copy>a {font-size:10px;gap:6px}
 .bridge-orbit>i {width:220px;height:220px;left:-40px}.bridge-orbit>i:nth-child(2) {width:255px;height:255px;left:-57px}.bridge-orbit>b {left:90px;top:0}.bridge-orbit>span {font-size:58px}.bridge-flight-path {margin:12px 0}
 .bridge-passport-footer>b {display:none}.bridge-poster-echo-1 {transform:translateX(10px) rotate(10deg) scale(.9)}.bridge-poster-echo-2 {transform:translateX(-10px) rotate(-12deg) scale(.9)}
 .bridge-ticket {grid-template-columns:100px minmax(0,1fr);min-height:260px;border-radius:16px}.bridge-ticket-copy {padding:17px 12px}.bridge-ticket-copy h3 {font-size:18px}.bridge-ticket-copy .bridge-ticket-synopsis {display:none}
 .bridge-ticket-stub {grid-column:1/-1;border-inline-start:0;border-top:1px dashed color-mix(in srgb,var(--bridge-accent) 25%,transparent);flex-direction:row;justify-content:space-between;gap:7px;padding:9px 15px}.bridge-ticket-stub>span,.bridge-ticket-stub>i {writing-mode:horizontal-tb}.bridge-ticket-stub>strong {font-size:19px}.bridge-ticket-stub>small {display:none}
 .bridge-ticket-caption {font-size:9px}.bridge-ticket-open {font-size:11px;gap:6px}.bridge-ticket-facts {font-size:10px}.bridge-motion-toggle {font-size:8px!important;bottom:-20px}
}
@media(prefers-reduced-motion:reduce) {
 .discovery-bridge *,.discovery-bridge *::after {animation:none!important;transition:none!important}.bridge-motion-toggle {display:none}
}
[dir=rtl] .discovery-bridge .bridge-secondary {text-align:right}[dir=ltr] .discovery-bridge .bridge-secondary {text-align:left}


.discovery-bridge .bridge-passport-poster::after {animation-play-state:paused}
.discovery-bridge.is-in-view:not(.is-motion-paused) .bridge-passport-poster::after {animation-play-state:running}
