@font-face{font-family:Manrope;src:url('assets/Manrope-Variable.ttf') format('truetype');font-weight:200 800;font-display:swap}
@font-face{font-family:Prata;src:url('assets/Prata-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--ink:#211039;--muted:#6d6185;--purple:#6438b6;--lavender:#ede7f7;--paper:#faf8fd;--gold:#d4b887;--line:#dcd3e8;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;scrollbar-color:#a899c6 #f3eff8}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif;font-size:15px;line-height:1.65}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}button,svg{flex-shrink:0}button{border:0}a{color:inherit;text-decoration:none}button:active,.button:active{transform:scale(.975)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #7c45cb;outline-offset:6px}::selection{background:#dac8fa;color:#211039}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Prata,Georgia,serif;font-weight:400}button[hidden],[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0}.skip-link{position:fixed;z-index:100;top:-100px;left:20px;padding:12px;background:white}.skip-link:focus{top:15px}
.header{height:128px;padding:0 3.7%;display:flex;align-items:center;gap:55px;position:absolute;left:0;top:0;width:100%;z-index:20}.brand{display:inline-flex;align-items:center;gap:17px;white-space:nowrap;font-size:26px;font-weight:600;letter-spacing:.005em}.brand b{font-weight:500}.brand img{transition:transform .7s var(--ease)}.nav{display:flex;gap:34px;font-size:14px;font-weight:550}.nav a{position:relative;padding:10px 0}.nav a:after{content:'';position:absolute;left:0;bottom:3px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}.menu-toggle,.mobile-menu{display:none}
.hero{height:max(740px,100svh);max-height:1100px;position:relative;overflow:hidden;isolation:isolate;background:#efedf9}.gallery-backdrop{position:absolute;inset:0;background:url('assets/gallery.webp') right center/cover no-repeat;z-index:-3}.hero-veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,248,255,.32),rgba(250,248,255,.05) 43%,transparent 60%);z-index:-2}.hero-content{position:relative;z-index:4;width:49%;padding:clamp(180px,23vh,265px) 0 120px 3.7%;pointer-events:none}.hero-content a{pointer-events:auto}.intro-line{display:flex;align-items:center;gap:20px;font-size:clamp(12px,1.05vw,17px);letter-spacing:.14em;color:#74658f;margin-bottom:24px}.intro-line span{width:36px;height:1px;background:#8255c8}.hero h1{font-size:clamp(46px,4.6vw,82px);line-height:1.16;letter-spacing:-.035em;white-space:nowrap;text-wrap:balance}.hero-description{font-size:clamp(16px,1.3vw,22px);line-height:1.6;color:#6c6082;margin-top:24px}.hero-actions{display:flex;gap:16px;margin-top:34px;align-items:center}.button{min-height:54px;border-radius:40px;padding:14px 25px;display:inline-flex;align-items:center;justify-content:center;gap:20px;white-space:nowrap;font-size:clamp(12px,.94vw,16px);font-weight:600;transition:transform .3s var(--ease),box-shadow .3s,background .3s}.button-primary{background:linear-gradient(145deg,#9166d5 0%,#6435ad 48%,#3e237b 100%);box-shadow:inset 0 1px 3px #e4ccff,0 5px 16px #5e3b9c24;color:white}.button-primary svg{width:23px}.button-outline{border:1px solid #875ec0;background:#fbf8fe60;font-weight:500}.categories{display:flex;align-items:center;margin-top:70px;gap:0;font-size:clamp(10px,.78vw,13px);white-space:nowrap}.categories a{display:flex;align-items:center;gap:9px;padding:0 15px;border-right:1px solid #c9bddb;min-height:44px}.categories a:first-child{padding-left:0}.categories a:last-child{border:0}.categories svg{width:21px;height:21px}.hero-bottom{position:absolute;z-index:6;bottom:26px;left:3.7%;right:3.7%;display:flex;justify-content:space-between;align-items:center}.scroll-cue{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.025em;color:#5d526c}.scroll-cue span{display:block;border:1px solid #8e7ca2;width:17px;height:26px;border-radius:12px;position:relative}.scroll-cue span:after{content:'';position:absolute;left:7px;top:5px;width:1px;height:5px;background:#5f417f;animation:scroll-down 2s infinite}.motion-toggle{background:#ffffffa8;border:1px solid #d8cfe3;border-radius:30px;min-height:42px;padding:9px 15px;display:flex;align-items:center;gap:7px;font-size:11px}.motion-toggle svg{height:17px;width:17px}
.scene{position:absolute;right:0;top:0;width:66%;height:100%;z-index:3;perspective:1200px}.scene-parallax{position:absolute;inset:0;transform-style:preserve-3d;transition:transform 1.4s var(--ease)}.exhibit{position:absolute;padding:0;background:transparent;isolation:isolate;aspect-ratio:1/1.12;width:27%;overflow:visible}.exhibit-float{position:absolute;inset:0;display:block;animation:levitate 7s ease-in-out infinite;transform-origin:center 80%}.exhibit-muse{left:11%;top:10%;width:26%}.exhibit-palace{right:2%;top:12%;width:30%}.exhibit-headphones{left:12%;top:49%;width:25%;aspect-ratio:1.1}.exhibit-ribbon{right:1%;top:47%;width:27%;aspect-ratio:1.1}.exhibit-palace .exhibit-float{animation-duration:8.8s;animation-delay:-2.8s}.exhibit-headphones .exhibit-float{animation-duration:7.7s;animation-delay:-4.1s}.exhibit-ribbon .exhibit-float{animation-duration:9.5s;animation-delay:-1.7s}.sprite{display:block;background-image:url('assets/exhibits.webp');background-repeat:no-repeat;position:absolute;background-size:200% auto;pointer-events:none}.sprite-muse{background-position:0 0;aspect-ratio:627/692}.sprite-palace{background-position:100% 0;aspect-ratio:627/692}.sprite-headphones{background-position:0 100%;aspect-ratio:627/562}.sprite-ribbon{background-position:100% 100%;aspect-ratio:627/562}.exhibit .sprite{width:100%;top:0;left:0;filter:drop-shadow(0 12px 10px #3226601e)}.holo-base{position:absolute;display:block;bottom:-1%;width:106%;height:19%;left:-3%;border-radius:50%;border:1px solid #f8f7ffdd;background:radial-gradient(ellipse,transparent 28%,#aeaaff55 58%,#e7e9ff99 61%,transparent 66%);box-shadow:0 9px 13px #a9b6ff66,inset 0 -2px 4px white;transform:rotate(-4deg)}.holo-base:after{content:'';position:absolute;inset:9% -2%;border:1px solid #c8c7ff;border-radius:50%;transform:translateY(8px)}.holo-base i{width:7px;height:3px;position:absolute;left:45%;top:2%;background:white;border-radius:50%;box-shadow:0 0 8px 3px #b2b2ff;offset-path:ellipse(48% 42% at 50% 50%);animation:orbit-dot 5s linear infinite}.holo-base i:nth-child(2){animation-delay:-1.7s;width:4px}.holo-base i:nth-child(3){animation-delay:-3.4s}.exhibit-caption{position:absolute;bottom:-43px;left:50%;transform:translate(-50%,5px);display:flex;align-items:center;gap:15px;font-size:11px;white-space:nowrap;border-radius:22px;padding:8px 12px;background:#faf8fded;box-shadow:0 6px 20px #31154a16;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}.exhibit-caption svg{height:14px;width:14px}.exhibit:focus-visible .exhibit-caption,.exhibit.selected .exhibit-caption{opacity:1;transform:translate(-50%,0)}.core-wrap{position:absolute;width:48%;height:53%;left:28%;top:22%;pointer-events:none}#core-canvas{width:100%;height:100%;display:block;position:absolute;inset:0;opacity:0;transition:opacity 1s}.webgl-ready #core-canvas{opacity:1}.core-fallback{position:absolute;inset:19%;display:grid;place-items:center;animation:levitate 6s ease-in-out infinite;transition:opacity .5s}.core-fallback img{width:72%;filter:drop-shadow(0 0 20px #9182ff)}.core-fallback i{position:absolute;width:140%;height:43%;border:2px solid #dbc093;border-radius:50%;transform:rotate(-20deg)}.core-fallback i:last-child{transform:rotate(50deg)}.webgl-ready .core-fallback{opacity:0}.scene-light{position:absolute;left:45%;top:10%;height:67%;width:12%;background:linear-gradient(90deg,transparent,#c8bfff33,transparent);animation:beam-breathe 5s ease-in-out infinite;pointer-events:none}.scan-beam{position:absolute;left:43%;top:12%;height:52%;width:16%;background:linear-gradient(transparent 44%,#eeedff77 49%,transparent 52%);transform:scaleY(.3);opacity:0;animation:scan 12s ease-in-out infinite;pointer-events:none}.floating-dust{position:absolute;left:32%;top:25%;width:38%;height:45%;pointer-events:none}.floating-dust i{position:absolute;width:3px;height:3px;border-radius:50%;background:#fff1c9;box-shadow:0 0 5px #ebd7ff;animation:dust 8s ease-in-out infinite}.scene-note{position:absolute;bottom:15%;left:38%;padding:15px 38px 15px 20px;background:#faf7fcef;border-radius:14px;box-shadow:0 10px 30px #35204a22;font-size:13px;min-width:190px}.scene-note-label{display:block;font-family:Prata,serif;font-size:17px;margin-bottom:4px}.scene-note a{display:flex;gap:12px;align-items:center;color:var(--purple);font-size:11px}.scene-note svg{width:14px;height:14px}.scene-note button{position:absolute;right:5px;top:5px;display:grid;place-items:center;background:transparent;width:30px;height:30px}
.section{padding:108px max(4.5%,calc((100vw - 1480px)/2));scroll-margin-top:25px}.collection{background:linear-gradient(#fcfaff,#f3eff9)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}h2{font-size:clamp(34px,3.4vw,58px);line-height:1.25;letter-spacing:-.025em}.section-heading p{font-size:15px;line-height:1.8;color:var(--muted);padding-bottom:6px}.filter-row{display:flex;gap:9px;margin-bottom:34px;flex-wrap:wrap}.filter-row button{background:transparent;border-radius:24px;padding:10px 19px;min-height:44px;color:#746780;font-size:12px;transition:background .2s,color .2s}.filter-row button[aria-pressed=true]{background:#362346;color:white}.filter-row span{margin-left:7px;opacity:.65}.collection-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.art-card{text-align:left;padding:0;background:transparent;min-width:0}.art-image{height:330px;position:relative;display:block;border-radius:12px;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#fff9ff,#ded6ed);isolation:isolate}.art-palace{background:radial-gradient(ellipse at 40% 15%,#fffbf1,#e5deeb)}.art-headphones{background:radial-gradient(ellipse at 50% 20%,#f8f7ff,#dbd8ef)}.art-ribbon{background:radial-gradient(ellipse at 50% 20%,#ede5ff,#c6b8e2)}.art-image .sprite{width:85%;left:7.5%;top:6%;transition:transform .7s var(--ease)}.art-headphones .sprite,.art-ribbon .sprite{top:18%;width:90%;left:5%}.art-orbit{position:absolute;left:10%;right:10%;bottom:8%;height:13%;border-radius:50%;background:radial-gradient(ellipse,#4c376332,transparent 70%);z-index:-1}.art-meta{display:flex;justify-content:space-between;align-items:center;padding:20px 1px}.art-meta small{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.art-meta strong{font-weight:500;font-size:18px}.art-meta>svg{width:20px}.collection-disclaimer{font-size:11px;color:#756984;margin-top:24px}.collection-grid.filtered{grid-template-columns:minmax(250px,400px)}.detail-view{margin-top:35px;background:#ede6f6;border-radius:14px;position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:440px;overflow:hidden}.detail-art{position:relative;min-height:380px;background:radial-gradient(#fcfaff,#e6dff1)}.detail-art .sprite{width:76%;max-width:390px;left:50%;top:50%;transform:translate(-50%,-50%)}.detail-copy{padding:55px 55px 45px}.detail-category{font-size:12px;color:var(--muted);margin-bottom:15px}.detail-copy h3{font-size:36px;line-height:1.3;margin-bottom:20px}.detail-description{font-size:14px;color:var(--muted);line-height:1.8}.detail-copy dl{margin:26px 0;font-size:12px}.detail-copy dl div{display:flex;border-bottom:1px solid #d8cee3;padding:10px 0;gap:20px}.detail-copy dt{width:90px;color:var(--muted)}.detail-copy dd{margin:0}.detail-x{position:absolute;right:10px;top:10px;width:42px;height:42px;background:#ffffff99;border-radius:50%;display:grid;place-items:center}.text-button{display:inline-flex;gap:17px;align-items:center;padding:10px 0;background:none;border-bottom:1px solid #a99aba;font-size:13px;min-height:44px}.text-button svg{width:19px;height:19px}.detail-close svg{transform:rotate(180deg)}
.motion-section{display:grid;grid-template-columns:1.12fr 1fr;min-height:640px;background:#e9e1f3;overflow:hidden;scroll-margin-top:0}.motion-art{position:relative;min-height:600px;background:radial-gradient(ellipse at 50% 38%,#ded3f2,#c6b7de 60%,#e6daef);overflow:hidden;isolation:isolate}.motion-sculpture{position:absolute;left:22%;top:10%;width:58%;aspect-ratio:627/562;animation:sculpture 9s ease-in-out infinite}.motion-sculpture .sprite{inset:0;width:100%}.motion-floor{position:absolute;left:9%;bottom:19%;width:83%;height:15%;border-radius:50%;background:radial-gradient(ellipse,#48345735,transparent 65%);z-index:-1}.motion-rings{position:absolute;inset:4% 0 5%;transform:rotate(-14deg);pointer-events:none;z-index:-1}.motion-rings i{display:block;position:absolute;left:12%;top:10%;width:76%;height:72%;border:1px solid #ffffff70;border-radius:50%;transform:rotateY(55deg);animation:ring-drift 15s linear infinite}.motion-rings i:nth-child(2){transform:rotateY(40deg) rotateZ(55deg);animation-delay:-5s;border-color:#fff1cb80}.motion-rings i:nth-child(3){transform:rotateY(50deg) rotateZ(-55deg);animation-delay:-10s}.motion-controls{position:absolute;bottom:35px;left:10%;right:10%;display:flex;align-items:center;gap:18px;font-size:12px}.motion-controls input{width:100%;min-width:30px;accent-color:#6d3daa}.motion-controls output{min-width:30px;font-variant-numeric:tabular-nums}.motion-copy{padding:90px 12%;align-self:center}.motion-copy h2{margin-bottom:28px}.motion-copy p{max-width:38ch;color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:16px}.motion-copy .text-button{margin-top:25px}.about{text-align:center;max-width:100%;padding-top:120px;padding-bottom:120px;background:radial-gradient(ellipse at 50% 100%,#eae2f7,transparent 60%)}.about-mark{margin-bottom:28px}.about h2{margin-bottom:28px}.about>p{max-width:680px;margin:0 auto 35px;color:var(--muted);font-size:16px;line-height:1.9}.about .button{font-size:14px;padding:16px 27px}footer{padding:34px 4.5%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid var(--line);font-size:12px}footer .brand{font-size:21px;gap:12px}footer p{color:var(--muted)}footer>a:last-child{display:flex;align-items:center;gap:13px}footer svg{height:17px;width:17px;transform:rotate(-90deg)}
@keyframes levitate{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-17px) rotate(.8deg)}}
@keyframes sculpture{0%,100%{transform:translateY(8px) rotate(-5deg) scale(.98)}50%{transform:translateY(-15px) rotate(5deg) scale(1.02)}}
@keyframes orbit-dot{to{offset-distance:100%}}@keyframes beam-breathe{0%,100%{opacity:.45}50%{opacity:1}}@keyframes scan{0%,30%,100%{opacity:0;transform:translateY(-35%) scaleY(.3)}40%{opacity:.7}70%{opacity:0;transform:translateY(75%) scaleY(.3)}}@keyframes dust{0%,100%{transform:translateY(10px);opacity:0}40%,65%{opacity:.85}85%{transform:translateY(-55px);opacity:0}}@keyframes scroll-down{0%{transform:translateY(0);opacity:0}40%{opacity:1}100%{transform:translateY(8px);opacity:0}}@keyframes ring-drift{to{transform:rotateY(55deg) rotateZ(360deg)}}
.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .scene-parallax{transform:none!important}
.is-offscreen *,.is-offscreen *:before,.is-offscreen *:after{animation-play-state:paused!important}
.sprite-muse{clip-path:inset(0 5% 0 0)}
.viewer-open{overflow:hidden}.object-viewer{border:0;border-radius:20px;width:min(820px,calc(100% - 36px));max-height:94svh;padding:0;background:#f7f3fc;color:var(--ink);box-shadow:0 24px 100px #24123755;overflow:auto}.object-viewer::backdrop{background:#21113696;backdrop-filter:blur(8px)}.viewer-header{display:flex;justify-content:space-between;align-items:center;padding:25px 30px 0}.viewer-header p{font-size:10px;color:var(--muted);margin-bottom:5px}.viewer-header h2{font-size:29px}.viewer-close{width:44px;height:44px;border-radius:50%;background:#e9e0f1;display:grid;place-items:center}.viewer-stage{height:min(49svh,450px);position:relative;cursor:grab;touch-action:none;background:radial-gradient(ellipse,#fffafc 0%,#ece4f6 60%,#f7f3fc 75%);margin:0 25px;outline-offset:-3px}.viewer-stage.dragging{cursor:grabbing}#viewer-canvas{display:block;position:absolute;inset:0;width:100%;height:100%}.viewer-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:13px}.viewer-fallback{position:absolute;inset:0}.viewer-fallback .sprite{width:50%;left:25%;top:1%}.viewer-hint{text-align:center;color:var(--muted);font-size:11px;padding:6px 20px 16px}.viewer-controls{display:flex;gap:25px;align-items:center;padding:0 30px 22px}.viewer-controls label{flex:1;font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:10px}.viewer-controls input{width:100%;accent-color:var(--purple);height:20px;min-width:50px}.viewer-reset{padding:10px 16px;background:#ebe3f4;border-radius:24px;font-size:11px;min-height:44px}.viewer-footer{border-top:1px solid var(--line);padding:20px 30px;display:flex;justify-content:space-between;align-items:center;gap:25px}.viewer-footer>p{font-size:10px;color:var(--muted);line-height:1.8}.viewer-footer .text-button{font-size:12px}.motion-paused .light-column{opacity:.45}
@media(max-width:600px){.object-viewer{width:calc(100% - 22px);border-radius:15px;max-height:94svh}.viewer-header{padding:20px 20px 5px}.viewer-header h2{font-size:24px}.viewer-stage{height:43svh;margin:0 10px}.viewer-controls{padding:0 20px 18px;gap:15px;flex-wrap:wrap}.viewer-controls label{min-width:100px}.viewer-reset{padding:8px 12px}.viewer-footer{padding:17px 20px;gap:15px}.viewer-footer .text-button{font-size:10px;gap:6px}.viewer-hint{font-size:9px}.viewer-footer>p{font-size:9px}}
.light-column{position:absolute;left:44%;top:6%;width:16%;height:65%;pointer-events:none;isolation:isolate;z-index:-1}.column-flow{position:absolute;inset:0;overflow:hidden;border-radius:40% 40% 10% 10%/4% 4% 2% 2%;background:linear-gradient(90deg,transparent 1%,#b9a5ff14 12%,#c7b7ff44 46%,#f4f3ff5c 50%,#a9a0ff2b 57%,transparent 100%)}.column-flow:after{content:'';position:absolute;inset:-100% 0;background:linear-gradient(0deg,transparent 0%,transparent 20%,#c5bfff55 23%,#f6f4ff99 24%,transparent 26%,transparent 46%,#e7ddff66 49%,transparent 52%,transparent 72%,#cdc2ff77 74%,transparent 78%);animation:column-current 7s linear infinite}.column-filaments{position:absolute;inset:0;overflow:hidden}.column-filaments i{position:absolute;top:0;left:16%;width:2px;height:34%;background:linear-gradient(transparent,#fff,transparent);opacity:.85;box-shadow:0 0 8px 2px #a99aff;animation:column-stream 4.4s linear infinite}.column-filaments i:nth-child(2){left:38%;animation-delay:-1.3s;animation-duration:5.2s;height:25%}.column-filaments i:nth-child(3){left:54%;animation-delay:-2.6s;animation-duration:3.7s;width:3px}.column-filaments i:nth-child(4){left:72%;animation-delay:-.7s;animation-duration:6s}.column-filaments i:nth-child(5){left:89%;animation-delay:-3.5s;height:19%}.column-rings{position:absolute;inset:0}.column-rings i{position:absolute;top:0;left:-5%;width:110%;height:5%;border:1.5px solid #f7f5ff;border-radius:50%;box-shadow:0 0 8px #b3b9ff,inset 0 0 6px #b3b9ff;animation:column-lift 8s linear infinite;opacity:0}.column-rings i:nth-child(2){animation-delay:-2.67s}.column-rings i:nth-child(3){animation-delay:-5.33s}.column-crown,.column-foot{position:absolute;left:-9%;width:118%;height:8%;border-radius:50%;background:radial-gradient(ellipse,transparent 30%,#f6f4ff80 48%,#9b94ff55 55%,transparent 65%);animation:column-pulse 5s ease-in-out infinite}.column-crown{top:0}.column-foot{bottom:-2%;height:10%;animation-delay:-2.5s}
@keyframes column-current{from{transform:translateY(0)}to{transform:translateY(33.333%)}}@keyframes column-stream{0%{transform:translateY(300%);opacity:0}15%,85%{opacity:.85}100%{transform:translateY(-110%);opacity:0}}@keyframes column-lift{0%{transform:translateY(1800%) scale(.9);opacity:0}12%,80%{opacity:.75}100%{transform:translateY(0) scale(1);opacity:0}}@keyframes column-pulse{0%,100%{opacity:.35;transform:scale(.97)}50%{opacity:1;transform:scale(1.04)}}
@media(min-width:801px){.gallery-backdrop{background-size:100% 100%}}
@media(max-width:800px){.light-column{left:44%;top:1%;height:83%;width:16%}.column-filaments i{width:1px}.column-rings i{border-width:1px}}
@media(hover:hover) and (pointer:fine){.brand:hover img{transform:rotate(60deg)}.nav a:hover:after{transform:scaleX(1)}.button-primary:hover{transform:translateY(-3px);box-shadow:inset 0 1px 3px #e4ccff,0 9px 25px #5e3b9c40}.button-outline:hover{background:#fff9;transform:translateY(-3px)}.categories a:hover{color:var(--purple)}.exhibit:hover .exhibit-caption{opacity:1;transform:translate(-50%,0)}.art-card:hover .sprite{transform:translateY(-9px) rotate(2deg)}.art-card:hover .art-meta>svg{transform:translateX(4px)}.filter-row button:hover{background:#dfd4ed;color:#3a234f}.filter-row button[aria-pressed=true]:hover{background:#362346;color:white}}
@media(min-width:1700px){.hero-content{padding-top:22vh}.hero-actions{gap:20px}.button{min-height:58px;padding:15px 29px}.categories{margin-top:80px}.art-image{height:380px}}
@media(max-width:1200px) and (min-width:801px){.header{gap:35px;height:105px}.brand{font-size:23px}.brand img{width:37px;height:37px}.nav{gap:24px;font-size:12px}.hero{height:800px;min-height:100svh}.hero-content{width:53%;padding-top:215px}.hero h1{font-size:4.5vw}.hero-actions{gap:10px}.button{padding:13px 17px;font-size:11px;gap:10px}.categories{font-size:10px;margin-top:45px}.categories a{padding:0 9px;gap:5px}.scene{width:67%}.exhibit-muse{top:16%;left:15%;width:26%}.exhibit-palace{top:19%}.exhibit-headphones{top:53%;left:15%}.exhibit-ribbon{top:52%}.core-wrap{top:28%;left:30%;width:46%;height:44%}.art-image{height:255px}.art-meta strong{font-size:15px}.motion-copy{padding:70px 9%}.motion-art{min-height:520px}.motion-section{min-height:520px}}
@media(max-width:800px){html{scroll-padding-top:20px}.header{position:absolute;height:91px;padding:0 6%;justify-content:space-between;gap:20px}.brand{font-size:22px;gap:12px}.brand img{width:37px;height:37px}.nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:#ffffff73;border-radius:50%;padding:12px}.menu-toggle span{height:1px;width:20px;background:var(--ink);transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu:not([hidden]){position:absolute;top:78px;right:6%;left:6%;display:flex;flex-direction:column;background:#fbf8fffa;padding:20px 27px;border-radius:14px;box-shadow:0 15px 40px #34204d25}.mobile-menu a{padding:11px 0;font-size:15px}.hero{height:auto;max-height:none;min-height:980px;padding-bottom:60px;background:#f4f0fa}.gallery-backdrop{inset:auto 0 30px;height:535px;background-position:77% center;background-size:auto 100%;z-index:-3;mask-image:linear-gradient(transparent,black 15%,black 90%,transparent)}.hero-veil{background:linear-gradient(#f8f5fd 0%,#f8f5fd00 65%)}.hero-content{width:100%;padding:135px 6% 0;pointer-events:auto}.intro-line{font-size:11px;letter-spacing:.1em;gap:12px;margin-bottom:20px}.intro-line span{width:25px}.hero h1{font-size:clamp(35px,6.7vw,55px);line-height:1.2;white-space:normal;letter-spacing:-.035em}.hero-description{font-size:15px;line-height:1.7;margin-top:20px;max-width:400px}.desktop-break{display:none}.hero-actions{gap:11px;margin-top:27px;flex-wrap:wrap}.button{min-height:49px;padding:13px 19px;font-size:12px;gap:12px}.hero-actions .button-outline{font-size:11px}.categories{margin-top:29px;flex-wrap:wrap;row-gap:8px;font-size:10px}.categories a{padding:0 13px;gap:7px;min-height:34px}.categories svg{width:17px;height:17px}.scene{position:relative;width:100%;height:450px;margin-top:18px;right:auto;top:auto}.scene-parallax{transform:none!important}.exhibit-muse{top:0;left:7%;width:27%}.exhibit-palace{top:3%;right:2%;width:30%}.exhibit-headphones{top:47%;left:5%;width:28%}.exhibit-ribbon{top:45%;right:0;width:31%}.core-wrap{left:27%;top:15%;width:52%;height:67%}.scene-light{left:43%;top:4%;height:80%;width:15%}.scan-beam{left:46%;height:70%}.hero-bottom{left:6%;right:6%;bottom:21px}.scroll-cue{font-size:10px}.exhibit-caption{display:none}.scene-note{bottom:5%;left:30%;padding:12px 35px 12px 16px}.scene-note-label{font-size:16px}.section{padding:70px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading p{font-size:13px;margin-top:23px}h2{font-size:36px}.filter-row{gap:6px;margin-bottom:25px}.filter-row button{padding:8px 13px;font-size:10px;min-height:40px}.collection-grid{grid-template-columns:1fr 1fr;gap:18px}.art-image{height:280px}.art-meta{padding:14px 1px}.art-meta strong{font-size:15px}.art-meta small{font-size:10px}.collection-disclaimer{font-size:10px;line-height:1.8}.detail-view{grid-template-columns:1fr}.detail-art{min-height:330px}.detail-art .sprite{max-width:270px}.detail-copy{padding:30px}.detail-copy h3{font-size:29px}.motion-section{grid-template-columns:1fr}.motion-art{min-height:500px;order:2}.motion-copy{padding:65px 8%;order:1}.motion-copy p{font-size:14px}.motion-copy .text-button{margin-top:10px}.motion-sculpture{width:50%;left:25%;top:5%}.motion-controls{left:8%;right:8%;bottom:28px}.about{padding:80px 8%}.about>p{font-size:14px}.about-mark img{width:52px;height:52px}footer{padding:30px 6%;flex-wrap:wrap}footer .brand{font-size:19px}footer p{order:3;width:100%;font-size:11px}}
@media(max-width:480px){.hero{min-height:940px}.hero h1{font-size:8.5vw}.hero-content{padding-top:126px}.hero-description{font-size:14px;max-width:340px}.hero-actions{gap:12px}.hero-actions .button-primary{padding:13px 18px}.hero-actions .button-outline{padding:13px 16px}.categories{gap:0;margin-top:24px;font-size:9px;justify-content:space-between}.categories a{padding:0 8px;gap:5px}.categories a:last-child{padding-right:0}.categories svg{width:15px}.scene{height:390px;margin-top:27px}.gallery-backdrop{height:450px;bottom:25px}.exhibit-muse{top:6%;width:29%;left:6%}.exhibit-palace{top:9%;right:0%;width:33%}.exhibit-headphones{top:48%;width:28%;left:5%}.exhibit-ribbon{top:46%;right:0%;width:32%}.core-wrap{top:21%;left:27%;height:57%;width:50%}.holo-base i{width:3px;box-shadow:0 0 4px 1px #c4c4ff}.holo-base{height:17%;box-shadow:0 4px 8px #a9b6ff66}.art-image{height:210px}.art-image .sprite{width:94%;left:3%;top:6%}.art-headphones .sprite,.art-ribbon .sprite{top:22%}.art-meta strong{font-size:13px}.art-meta>svg{width:16px}.collection-grid{gap:14px}.motion-art{min-height:410px}.motion-sculpture{width:70%;left:15%;top:5%}.motion-copy{padding:60px 8%}.scroll-cue{max-width:200px}.hero-bottom .motion-toggle{min-height:38px;padding:7px 11px}.detail-copy{padding:28px 23px}h2{font-size:31px}.filter-row{gap:4px}.filter-row button{padding:8px 10px}}
@media(max-width:360px){.intro-line{font-size:9px}.hero-actions .button{width:100%;min-height:46px;font-size:12px}.categories{font-size:8px}.categories a{padding:0 5px}.hero{min-height:1010px}.hero h1{font-size:8.2vw}.scene{height:360px}.art-image{height:170px}.motion-controls{gap:10px}.motion-controls .motion-toggle{padding:7px 9px}footer p{max-width:250px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.scene-parallax{transform:none!important}.scroll-cue span:after{opacity:1}}
.viewer-auto{padding:10px 16px;background:#e6dbf3;border-radius:24px;font-size:11px;min-height:44px}.viewer-auto[aria-pressed=true]{background:#624497;color:white}.viewer-auto:disabled{opacity:.45;cursor:default}.viewer-footer>p{max-width:340px}.viewer-download{white-space:nowrap}.viewer-stage:focus-visible{outline:2px solid #9270bd;outline-offset:-2px}@media(max-width:600px){.viewer-controls{gap:12px}.viewer-auto{font-size:10px}.viewer-footer{flex-wrap:wrap}.viewer-footer>p{width:100%;max-width:none}.viewer-download{font-size:11px}}
.viewer-header p{font-size:12px;margin:7px 0 4px;color:#685377}@media(max-width:600px){.viewer-header p{font-size:11px}.viewer-hint{font-size:10px;line-height:1.7}}

/* The stage follows both dimensions: a short laptop is not a tall desktop. */
@media(min-width:801px){
  .hero{height:100svh;min-height:680px;max-height:1050px}
  .header{height:104px;gap:42px}
  .brand{font-size:23px;gap:13px}.brand img{width:39px;height:39px}
  .nav{font-size:13px;gap:29px}
  .hero-content{width:48%;padding-top:clamp(160px,23svh,240px)}
  .hero h1{font-size:clamp(40px,4.05vw,72px);line-height:1.2}
  .intro-line{font-size:clamp(11px,.95vw,16px);margin-bottom:21px}
  .hero-description{font-size:clamp(15px,1.15vw,20px);margin-top:22px}
  .hero-actions{margin-top:29px;gap:14px}
  .hero-actions .button{min-height:49px;padding:12px 22px;gap:14px;font-size:clamp(11px,.86vw,15px)}
  .categories{margin-top:48px;font-size:clamp(10px,.73vw,12px)}
  .categories a{padding:0 12px;gap:8px}.categories a:first-child{padding-left:0}
  .scene{width:64%}
  .exhibit-muse{left:13%;top:13%;width:22%}
  .exhibit-palace{right:5%;top:15%;width:25%}
  .exhibit-headphones{left:13%;top:53%;width:22%}
  .exhibit-ribbon{right:5%;top:51%;width:24%}
  .core-wrap{left:31%;top:26%;width:42%;height:44%}
  .light-column{left:43%;width:16%;height:66%}
  .holo-base{width:102%;left:-1%;height:16%}
  .hero-bottom{bottom:23px}
}
@media(min-width:801px) and (max-width:1500px){
  .art-image{height:280px}.art-meta strong{font-size:16px}
  .section{padding-top:88px;padding-bottom:88px}
}
@media(min-width:801px) and (max-height:800px){
  .hero-content{padding-top:clamp(150px,22svh,176px)}
  .header{height:90px}
  .exhibit-muse{top:14%;width:20.5%;left:14%}
  .exhibit-palace{top:15%;width:23%;right:6%}
  .exhibit-headphones{top:55%;width:20.5%;left:14%}
  .exhibit-ribbon{top:53%;width:22%;right:6%}
  .categories{margin-top:36px}
  .core-wrap{top:27%;height:43%}
}
@media(min-width:801px) and (max-width:1100px){
  .hero-content{width:50%}.hero h1{font-size:4.2vw}
  .hero-actions{gap:9px}.hero-actions .button{padding:11px 14px;font-size:10px;gap:9px}
  .hero-description{font-size:14px}.categories a{padding:0 8px;gap:5px}
  .nav{gap:21px;font-size:12px}.header{gap:30px}
}
@media(max-width:800px){
  .exhibit-muse{width:25%;left:8%}
  .exhibit-palace{width:28%;right:3%}
  .exhibit-headphones{width:25%;left:7%}
  .exhibit-ribbon{width:28%;right:2%}
  .core-wrap{left:29%;width:46%}
}
/* The gallery keeps the original pavilion; closer views share a pearl studio. */
.art-image{isolation:isolate;transform-origin:50% 65%;transition:transform 220ms var(--ease)}
.art-image:before{content:'';position:absolute;left:19%;right:19%;bottom:5%;height:9%;border-radius:50%;background:radial-gradient(ellipse,#64517e26,transparent 70%);z-index:0;pointer-events:none}
.art-image .sprite{z-index:1;filter:drop-shadow(0 14px 9px #38215016)}
@media(hover:hover) and (pointer:fine){.art-card:hover .sprite{transform:translate3d(0,-4px,18px) scale(1.02)}}
.motion-art{background:radial-gradient(ellipse at 36% 28%,#f8f3fc 0%,#e4daed 60%,#d6c9e3 100%)}
#motion-canvas{position:absolute;inset:0;width:100%;height:calc(100% - 70px);display:block;opacity:0;pointer-events:none}
.ribbon-webgl-ready #motion-canvas{opacity:1}
.ribbon-webgl-ready .motion-sculpture,.ribbon-webgl-ready .motion-floor,.ribbon-webgl-ready .motion-rings{visibility:hidden}
.motion-controls{z-index:3}
.object-viewer{width:min(1040px,calc(100% - 44px));background:#f8f4fc}
.viewer-stage{background:radial-gradient(ellipse at 45% 35%,#faf7fd,#e9e1f1);border-radius:15px;overflow:hidden}
.viewer-stage[data-model=image-relief]{background:radial-gradient(ellipse at 50% 40%,#faf7fd,#ede6f5)}
@media(min-width:801px){.viewer-stage{height:clamp(340px,53svh,555px);margin:0 24px}.viewer-header{padding-top:24px}.viewer-controls{padding-bottom:20px}.viewer-footer{padding-top:17px;padding-bottom:17px}}
@media(max-width:600px){.object-viewer{width:calc(100% - 22px)}.viewer-stage{border-radius:11px}#motion-canvas{height:calc(100% - 65px)}}
@media(prefers-reduced-motion:reduce){.art-image{transform:none!important}}
@media(min-width:801px){.object-viewer{width:min(960px,calc(100% - 44px))}.viewer-stage{height:clamp(340px,56svh,555px)}}
