.gallery-experience{position:relative;display:grid;grid-template-columns:minmax(0,1.28fr) minmax(390px,.72fr);min-height:min(900px,calc(100svh - 76px));border-block:1px solid #f12cff44;background:#08050d;overflow:hidden}
.gallery-visual{position:relative;isolation:isolate;min-height:680px;display:grid;place-items:center;overflow:hidden;background:#08060d;--rx:0deg;--ry:0deg}
.gallery-visual:after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(90deg,transparent 72%,#08050d22),linear-gradient(0deg,#08050d77,transparent 38%);box-shadow:inset -1px 0 #ffffff12}
.gallery-atmosphere{position:absolute;inset:-20%;z-index:-2;background:radial-gradient(ellipse at 49% 47%,#8b22ff26,transparent 26%),radial-gradient(ellipse at 70% 60%,#f12cff17,transparent 29%),radial-gradient(ellipse at 24% 65%,#34d8e814,transparent 26%);filter:blur(22px);animation:gallery-breathe 12s ease-in-out infinite alternate}
.gallery-grid{position:absolute;inset:0;z-index:-1;opacity:.33;background-image:linear-gradient(#c5a5ff15 1px,transparent 1px),linear-gradient(90deg,#c5a5ff15 1px,transparent 1px);background-size:64px 64px;transform:perspective(740px) rotateX(57deg) scale(1.75) translateY(22%);transform-origin:center bottom;mask-image:linear-gradient(transparent 14%,#000 70%,transparent)}
.gallery-orbit{position:absolute;z-index:0;left:50%;top:48%;width:min(48vw,680px);aspect-ratio:1;border:1px solid #f12cff1c;border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg);box-shadow:0 0 65px #9d23ff0c,inset 0 0 55px #64f1eb08;pointer-events:none}
.gallery-orbit:before,.gallery-orbit:after{content:"";position:absolute;inset:11%;border:1px dashed #64f1eb27;border-radius:50%}
.gallery-orbit:after{inset:23%;border-style:solid;border-color:#ffffff12}
.orbit-b{width:min(34vw,490px);border-color:#64f1eb21;transform:translate(-50%,-50%) rotateX(68deg) rotateZ(42deg);animation:gallery-orbit 46s linear infinite}
.gallery-object{position:absolute;z-index:2;inset:9% 7% 17%;display:grid;place-items:center;perspective:1100px;transform:rotateY(var(--ry)) rotateX(var(--rx));transition:transform .24s ease-out}
#galleryModel{position:absolute;inset:0;width:100%;height:100%;z-index:3;background:transparent;--poster-color:transparent;--progress-bar-color:var(--pink);--progress-bar-height:2px}
.gallery-placeholder{position:relative;width:min(48%,410px);height:min(67%,520px);display:grid;place-items:center;animation:specimen-float 6.5s ease-in-out infinite}
.gallery-placeholder-glyph{position:relative;z-index:1;display:grid;place-items:center;width:100%;height:100%;filter:drop-shadow(0 0 24px #f12cff55)}
.gallery-placeholder-glyph svg{width:58%;height:72%;overflow:visible;filter:drop-shadow(0 0 10px #64f1eb3b)}
.gallery-rings{position:absolute;left:50%;top:51%;width:138%;aspect-ratio:1;border:1px solid #f12cff35;border-radius:50%;transform:translate(-50%,-50%) rotateX(67deg);box-shadow:0 0 50px #d329ff18,inset 0 0 30px #64f1eb0b;animation:gallery-ring 18s linear infinite}
.gallery-rings:before,.gallery-rings:after{content:"";position:absolute;inset:12%;border:1px dashed #64f1eb40;border-radius:50%}.gallery-rings:after{inset:25%;border-style:solid;border-color:#f12cff2d}
.gallery-placeholder-label{position:absolute;z-index:2;bottom:-15px;color:#9e91ae;font:8px monospace;letter-spacing:.18em;text-align:center;white-space:nowrap}
.gallery-visual-top,.gallery-visual-bottom{position:absolute;z-index:5;left:clamp(24px,4vw,64px);right:clamp(24px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:25px}
.gallery-visual-top{top:28px;color:#a498b3;font:8px monospace;letter-spacing:.15em}
.gallery-live{display:flex;align-items:center;gap:9px;color:#d8d0df}.gallery-live i,.gallery-eyebrow i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.gallery-visual-bottom{bottom:30px;align-items:flex-end}
.gallery-current{min-width:0}.gallery-current>span{color:var(--cyan);font:8px monospace;letter-spacing:.18em}.gallery-current h2{max-width:620px;margin:9px 0 0;color:#faf7ff;font-size:clamp(33px,4.5vw,68px);font-weight:800;letter-spacing:-.07em;line-height:.95;text-shadow:0 0 35px #d52aff34;overflow-wrap:anywhere}
.gallery-switcher{display:flex;align-items:center;gap:14px;flex:0 0 auto}.gallery-switcher>button{width:40px;height:40px;border:1px solid #ffffff40;border-radius:50%;background:#0906119c;font-size:19px;transition:.2s}.gallery-switcher>button:hover{border-color:var(--pink);color:var(--pink);box-shadow:0 0 22px #f12cff34}.gallery-rail{display:flex;align-items:center;gap:8px}.gallery-rail-dot{display:flex;align-items:center;gap:5px;border:0;background:none;color:#80758d;padding:7px 0;font:7px monospace}.gallery-rail-dot i{display:block;width:5px;height:5px;border-radius:50%;background:#61566c;transition:.2s}.gallery-rail-dot.active{color:#fff}.gallery-rail-dot.active i{width:17px;border-radius:5px;background:var(--pink);box-shadow:0 0 12px var(--pink)}
.gallery-drag-hint{position:absolute;z-index:5;left:clamp(24px,4vw,64px);top:51%;color:#9b90a5;font:7px monospace;letter-spacing:.16em;writing-mode:vertical-rl;transform:rotate(180deg)}.gallery-drag-hint span{color:var(--cyan)}.gallery-drag-hint b{color:var(--pink);padding:8px 0}
.gallery-panel{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;min-width:0;padding:clamp(30px,4.2vw,72px);background:radial-gradient(ellipse at 90% 20%,#8220b51c,transparent 38%),linear-gradient(135deg,#100b17,#08060d 70%)}
.gallery-panel:before{content:"";position:absolute;top:16%;right:-120px;width:270px;aspect-ratio:1;border:1px solid #f12cff18;border-radius:50%;box-shadow:0 0 0 25px #f12cff05,0 0 0 55px #64f1eb04;pointer-events:none}
.gallery-panel-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#93889e;font:8px monospace;letter-spacing:.14em}
.sound-toggle{display:flex;align-items:center;gap:9px;border:1px solid #ffffff27;border-radius:30px;padding:9px 12px;background:#ffffff04;color:#a59bad;font:8px monospace;letter-spacing:.1em;transition:.2s}.sound-toggle:hover,.sound-toggle.is-on{border-color:#64f1eb77;color:#fff;box-shadow:0 0 22px #64f1eb16}.sound-toggle b{color:#776c81}.sound-toggle.is-on b{color:var(--cyan);text-shadow:0 0 10px var(--cyan)}.sound-bars{height:13px;display:flex;align-items:center;gap:2px}.sound-bars i{width:2px;height:4px;background:var(--pink);border-radius:2px}.sound-toggle.is-on .sound-bars i{animation:sound-wave .8s ease-in-out infinite alternate}.sound-toggle.is-on .sound-bars i:nth-child(2){animation-delay:-.25s}.sound-toggle.is-on .sound-bars i:nth-child(3){animation-delay:-.5s}.sound-toggle.is-on .sound-bars i:nth-child(4){animation-delay:-.1s}
.sound-toggle.needs-gesture{border-color:#d6ef3180}.sound-toggle.needs-gesture b{color:var(--acid);text-shadow:0 0 10px #d6ef3177}
.gallery-panel-main{position:relative;z-index:1;margin:auto 0;padding:65px 0 45px}.gallery-eyebrow{display:flex;align-items:center;gap:10px;color:var(--cyan);font:8px monospace;letter-spacing:.16em}.gallery-number{position:absolute;right:0;top:40px;color:#ffffff08;font:clamp(100px,15vw,230px)/.8 monospace;letter-spacing:-.13em;pointer-events:none}.gallery-panel-main h1{position:relative;max-width:650px;margin:24px 0 20px;font-size:clamp(43px,5.3vw,78px);line-height:.92;letter-spacing:-.075em;overflow-wrap:anywhere;text-shadow:0 0 28px #a51dff2b}.gallery-panel-main>p{position:relative;max-width:440px;margin:0;color:#a99eb4;font-size:12px;line-height:1.85}
.gallery-spec-row{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:34px;padding:17px 0;border-block:1px solid #ffffff1a}.gallery-spec-row div{display:grid;gap:7px}.gallery-spec-row span{color:#756a7e;font:7px monospace;letter-spacing:.16em}.gallery-spec-row b{color:#e8e0ee;font:9px monospace;letter-spacing:.04em}
.gallery-motto{display:flex;flex-wrap:wrap;gap:7px 10px;margin-top:30px;color:#a89db2;font-size:18px;font-weight:700;letter-spacing:-.05em}.gallery-motto em{color:var(--pink);font-style:normal;text-shadow:0 0 18px #f12cff4d}.gallery-note{max-width:430px;margin-top:12px!important;color:#82788c!important;font-size:10px!important}
.gallery-panel-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid #ffffff1b}.gallery-panel-bottom .button{min-height:39px;font:8px monospace}.gallery-all{display:flex;align-items:center;gap:10px;color:#c9bdcf;font:8px monospace;letter-spacing:.1em}.gallery-all b{color:var(--pink);font-size:16px}.gallery-all:hover{color:#fff}
.open-card{color:#d8cadd}.open-card:hover{color:var(--cyan)}
@keyframes gallery-breathe{from{transform:translate3d(-2%,0,0) scale(.98)}to{transform:translate3d(3%,-2%,0) scale(1.06)}}@keyframes gallery-orbit{to{transform:translate(-50%,-50%) rotateX(68deg) rotateZ(360deg)}}@keyframes gallery-ring{to{transform:translate(-50%,-50%) rotateX(67deg) rotateZ(360deg)}}@keyframes specimen-float{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-13px) rotate(2deg)}}@keyframes sound-wave{from{height:3px}to{height:12px}}
@media(max-width:950px){.gallery-experience{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr)}.gallery-panel{padding:34px}.gallery-visual{min-height:650px}.gallery-visual-top,.gallery-visual-bottom{left:24px;right:24px}.gallery-current h2{font-size:clamp(32px,5vw,53px)}.gallery-drag-hint{left:17px}}
@media(max-width:700px){.gallery-experience{display:flex;flex-direction:column;min-height:0}.gallery-visual{min-height:72svh;min-height:max(590px,72svh);border-bottom:1px solid #f12cff40}.gallery-object{inset:10% 4% 18%}.gallery-visual-top{top:19px;left:18px;right:18px;font-size:7px}.gallery-visual-top>span:last-child{max-width:145px;text-align:right;font-size:6px}.gallery-visual-bottom{bottom:20px;left:18px;right:18px;align-items:flex-end;gap:10px}.gallery-current h2{max-width:220px;font-size:34px}.gallery-switcher{gap:8px}.gallery-switcher>button{width:34px;height:34px}.gallery-rail{gap:5px}.gallery-rail-dot{font-size:6px}.gallery-rail-dot span{display:none}.gallery-rail-dot i{width:4px;height:4px}.gallery-rail-dot.active i{width:14px}.gallery-drag-hint{top:48%;left:12px;font-size:6px}.gallery-panel{min-height:540px;padding:26px 22px 24px}.gallery-panel-main{padding:50px 0 36px}.gallery-panel-main h1{font-size:clamp(44px,12vw,66px)}.gallery-number{font-size:110px;top:42px}.gallery-motto{font-size:16px}.gallery-panel-bottom .button{padding:0 10px;font-size:7px}.gallery-all{font-size:7px}.gallery-orbit{width:82vw}.gallery-placeholder{width:53%;height:63%}}
@media(prefers-reduced-motion:reduce){.gallery-atmosphere,.orbit-b,.gallery-rings,.gallery-placeholder,.sound-bars i{animation:none!important}.gallery-object{transition:none}}
