:root{--bg:#190d31;--ink:#fff3d8;--muted:#a899c1;--pink:#f24d8a;--gold:#f4d28b;--teal:#60d8c8;--cream:#fcebcf;--line:rgba(240,209,170,.19);--control:#26143e;--glass:rgba(30,15,52,.77)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--teal);outline-offset:4px}::selection{background:#f24d8a;color:#180d2d}a{color:var(--gold)}
.museum{min-height:100vh;position:relative;isolation:isolate;background:radial-gradient(ellipse at 80% 32%,rgba(99,46,120,.23),transparent 50%),linear-gradient(125deg,#180c2d 0%,#1f1039 45%,#140a2b 100%)}
.exhibition-stage{position:absolute;inset:0 0 auto 0;height:min(1080px,108vh);min-height:730px;overflow:hidden;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 77% 36%,rgba(114,44,122,.34),transparent 41%),radial-gradient(ellipse at 52% 90%,rgba(64,31,120,.24),transparent 50%)}
.stage-shapes,.viewport{position:absolute;inset:0;pointer-events:none}.viewport{pointer-events:none}.viewport canvas{display:block;width:100%;height:100%;pointer-events:auto;outline:none;touch-action:none;cursor:grab}.viewport canvas:active{cursor:grabbing}
.halo{position:absolute;left:calc(67% - 395px);top:calc(43% - 395px);width:790px;height:790px;border-radius:50%;border:1px solid rgba(238,169,171,.11);background:radial-gradient(circle,rgba(234,109,119,.047) 0 41%,transparent 65%);box-shadow:0 0 170px 46px rgba(146,57,134,.09),inset 0 0 135px rgba(245,118,168,.04)}
.halo--inner{left:calc(67% - 282px);top:calc(43% - 282px);width:564px;height:564px;border-color:rgba(238,178,197,.08);box-shadow:inset 0 0 95px rgba(254,167,163,.08)}
.orbit{position:absolute;border:1px solid rgba(222,160,166,.10);border-radius:50%;transform:rotate(-24deg) scaleY(.72)}.orbit--one{width:650px;height:650px;top:calc(44% - 325px);left:calc(67% - 325px)}.orbit--two{width:1000px;height:1000px;top:calc(45% - 500px);left:calc(67% - 500px);transform:rotate(21deg) scaleY(.63)}.orbit--three{width:1180px;height:1180px;top:calc(45% - 590px);left:calc(67% - 590px);transform:rotate(-12deg) scaleY(.54);border-style:dashed;border-color:rgba(174,103,147,.06)}
.light-sweep{position:absolute;width:100%;height:100%;background:linear-gradient(105deg,transparent 33%,rgba(244,127,169,.037) 58%,transparent 78%);opacity:.9}.pedestal-light{position:absolute;left:47%;top:84%;width:42%;height:17%;background:radial-gradient(ellipse,rgba(243,152,123,.13),transparent 70%);transform:rotate(-7deg)}
.topbar{height:112px;position:relative;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;padding:29px 5.2% 0;pointer-events:none}.topbar button{pointer-events:auto}.brand{display:flex;align-items:center;gap:17px}.brand-symbol{width:43px;height:43px;position:relative;transform:rotate(45deg);border:1.4px solid var(--gold)}.brand-symbol i{position:absolute;background:var(--gold);width:1px;height:100%;left:50%;top:0}.brand-symbol i:nth-child(2){transform:rotate(90deg)}.brand-symbol i:nth-child(3){transform:rotate(45deg)}.brand-symbol i:nth-child(4){transform:rotate(-45deg)}.brand-main{display:block;font-weight:800;letter-spacing:.18em;font-size:12px}.brand-main em{font-style:normal;color:var(--pink)}.brand-secondary{font-size:8px;color:#b4a3ba;letter-spacing:.22em;margin-top:8px;display:block}.topbar-right{display:flex;align-items:center;gap:33px}.collection{font-size:9px;letter-spacing:.19em;color:#d1bed1}.collection-spark{color:var(--pink);font-size:18px;margin:0 6px}.language-switch{background:rgba(37,24,58,.6);border:1px solid var(--line);color:var(--cream);border-radius:22px;padding:10px 17px;font-size:10px;font-weight:700;letter-spacing:.17em;transition:.2s}.language-switch:hover{background:#423055;border-color:var(--pink)}
.editorial{position:relative;z-index:2;pointer-events:none;width:min(425px,39vw);margin:70px 0 0 5.2%;padding-bottom:22px}.editorial button{pointer-events:auto}.eyebrow{display:flex;gap:11px;align-items:center;color:#e4bc9c;font-size:10px;font-weight:800;letter-spacing:.21em}.signal-dot{width:7px;height:7px;border-radius:50%;background:#f26488;box-shadow:0 0 0 4px rgba(242,100,136,.10)}.hero-title-wrap{margin-top:28px}.hero-title{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.064em;line-height:.95;margin:0;font-size:clamp(65px,7.2vw,117px);font-weight:400;position:relative}.hero-title span:first-child{display:block;max-width:100%;font-size:.76em;letter-spacing:-.073em;white-space:nowrap}.hero-title em{display:block;font-style:italic;color:#f6d792;font-weight:400;transform:translateX(19px);margin-top:10px;font-size:1.06em;text-shadow:0 0 55px rgba(244,175,105,.13)}.hero-title .title-star{position:absolute;color:#f35f91;font-style:normal;font-size:32px;top:-18px;right:-2px;letter-spacing:0}.hero-subtitle{font-size:13px;letter-spacing:.055em;margin:29px 0 0;color:#f7d9c6}.hero-divider{width:56px;height:2px;background:var(--pink);margin:40px 0 33px}.description-small{font-size:10px;font-weight:700;letter-spacing:.18em;color:var(--pink);margin-bottom:14px}.description p{font-family:Georgia,serif;font-size:21px;line-height:1.48;color:#e8dce5;max-width:345px;margin:0}.facts{display:flex;flex-direction:column;gap:19px;margin-top:36px}.fact{display:flex;flex-direction:column;gap:8px}.fact span{font-size:8px;font-weight:800;color:#997ca8;letter-spacing:.18em}.fact strong{font-weight:500;font-size:11px;letter-spacing:.04em;color:#ecdcca}.explore-prompt{display:flex;align-items:center;gap:16px;margin-top:39px;padding:0;border:0;background:transparent;color:var(--gold);font-size:12px;font-weight:650;letter-spacing:.08em}.explore-glyph{display:grid;place-items:center;border:1px solid rgba(250,210,153,.50);width:36px;height:36px;border-radius:50%;font-size:19px;transition:.2s}.explore-prompt:hover .explore-glyph{background:var(--pink);color:#24102e;transform:rotate(45deg)}
.stage-number{position:absolute;right:5.2%;top:150px;font-family:Georgia,serif;font-size:12px;letter-spacing:.12em;color:#ddbdcd;z-index:1}.stage-number span{color:var(--pink);margin:0 8px}.hero-right-label{position:absolute;right:2.3%;top:48%;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:.31em;color:rgba(248,183,197,.39)}.stage-caption{position:absolute;top:76%;left:65%;display:flex;align-items:center;gap:13px;transform:translateX(-50%);font-size:8px;letter-spacing:.19em;color:#c2a1b5;line-height:1.65}.stage-caption-line{width:39px;height:1px;background:#ec9d8d}
.hotspot{position:absolute;z-index:7;transform:translate(-50%,-50%);width:31px;height:31px;border-radius:50%;border:1px solid rgba(255,227,178,.80);background:rgba(36,14,58,.74);color:#fff4cb;display:grid;place-items:center;pointer-events:auto;font-size:10px;font-weight:800;box-shadow:0 0 0 7px rgba(232,134,162,.11),0 0 22px 4px rgba(241,143,137,.20);animation:hotspotPulse 3.8s ease-in-out infinite;transition:opacity .2s}.hotspot:hover{transform:translate(-50%,-50%) scale(1.25);background:#f36a90;color:#24112e}.hotspot.hidden{opacity:0;pointer-events:none}.hotspot:nth-child(3){animation-delay:.55s}.hotspot:nth-child(4){animation-delay:1s}@keyframes hotspotPulse{50%{box-shadow:0 0 0 10px rgba(232,134,162,.04),0 0 28px 7px rgba(241,143,137,.25)}}
.control-dock{z-index:5;position:relative;width:min(825px,58vw);margin:13px 4.3% 0 auto;border:1px solid rgba(233,167,180,.19);background:linear-gradient(110deg,rgba(48,27,67,.96),rgba(27,14,49,.93));box-shadow:0 22px 70px rgba(10,5,28,.35);backdrop-filter:blur(20px);padding:25px 27px 22px;border-radius:18px}.controls-top{display:flex;align-items:center;justify-content:space-between}.dock-title{font-size:10px;font-weight:800;letter-spacing:.2em;color:#edc8c6;display:flex;gap:10px;align-items:center}.dock-accent{width:7px;height:7px;background:var(--teal);transform:rotate(45deg)}.tool-zoom{display:flex;gap:7px}.icon-button{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,219,195,.22);background:transparent;color:var(--cream);font-size:18px;line-height:1;display:grid;place-items:center;transition:.2s}.icon-button:hover{background:#614067;transform:translateY(-2px)}.home-button{font-size:23px}.control-row{display:grid;grid-template-columns:1.33fr 1fr 1fr 1fr;gap:7px;margin-top:19px}.action-button{border:1px solid rgba(253,219,195,.17);border-radius:9px;background:#352245;color:#e8d2db;min-height:51px;padding:9px 7px;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .17s,transform .17s,color .17s}.action-button:hover{background:#523254;transform:translateY(-2px)}.action-button.active{border-color:rgba(94,211,195,.43);background:rgba(55,106,115,.28)}.action-button--primary{background:#e46b7b;color:#25122e;border:1px solid #fa91a3}.action-button--primary:hover{background:#f798a1}.action-glyph{font-size:19px;font-weight:400;line-height:1}.timeline{margin-top:20px}.timeline-label,.timeline-ends{display:flex;align-items:center;justify-content:space-between}.timeline-label{font-size:9px;letter-spacing:.15em;color:#c1a9c9}.timeline-label strong{font-family:Georgia,serif;font-size:15px;color:#ffe3a8;font-weight:400;letter-spacing:.1em}.timeline input{display:block;appearance:none;width:100%;margin:17px 0 12px;height:3px;border-radius:6px;outline:none;background:linear-gradient(90deg,var(--teal) 0 100%,rgba(255,255,255,.15) 100%)}.timeline input::-webkit-slider-thumb{appearance:none;width:17px;height:17px;border:3px solid var(--bg);border-radius:50%;background:var(--teal);box-shadow:0 0 0 2px var(--teal);cursor:pointer}.timeline input::-moz-range-thumb{width:13px;height:13px;border:2px solid var(--bg);border-radius:50%;background:var(--teal);cursor:pointer}.timeline-ends{color:#a58fb9;font-size:9px;letter-spacing:.13em}.timeline-ends>span:last-child{color:#edc5b9}
.inspect-panel{position:fixed;z-index:8;top:28%;right:4.6%;width:min(310px,28vw);padding:23px 25px;border:1px solid rgba(255,208,146,.35);background:rgba(35,18,53,.94);backdrop-filter:blur(23px);box-shadow:0 30px 90px #10052277;transform:translateX(calc(100% + 80px));opacity:0;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .4s;pointer-events:none;border-radius:14px}.inspect-panel.visible{transform:none;opacity:1;pointer-events:auto}.inspect-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.13em;color:var(--pink);font-weight:750}.inspect-top button{margin-left:14px;background:none;border:0;color:var(--cream);font-size:23px}.inspect-panel p{font-family:Georgia,serif;font-size:16px;line-height:1.48;color:#f6e2d1;margin:23px 0 0}
.cultural-info{z-index:4;position:relative;margin:64px 4.3% 0 auto;width:min(825px,58vw);border-top:1px solid var(--line);padding:25px 0 26px}.info-label{font-size:10px;font-weight:750;letter-spacing:.16em;color:#e8bfbf;display:flex;align-items:center;gap:11px;margin-bottom:21px}.small-cross{color:var(--teal);font-size:18px}.accordion-item{border-top:1px solid rgba(255,255,255,.105)}.accordion-item:last-child{border-bottom:1px solid rgba(255,255,255,.105)}.accordion-trigger{color:#ead9df;background:transparent;width:100%;border:0;padding:15px 3px;display:grid;grid-template-columns:32px 1fr 26px;text-align:left;align-items:center;gap:17px;font-size:12px;font-weight:600}.accordion-trigger span:first-child{font-family:Georgia,serif;color:var(--pink);font-size:12px}.accordion-trigger b{font-size:20px;font-weight:300;color:var(--gold);text-align:right;transition:.2s}.accordion-trigger[aria-expanded="true"] b{transform:rotate(45deg)}.accordion-body{padding:0 50px 19px;color:#d8c8d5}.accordion-body p{max-width:650px;font-size:12px;line-height:1.75;margin:0}.source-note{font-size:10px;color:#a08daa;margin:20px 0 0;line-height:1.6}
.museum-footer{position:relative;z-index:5;margin:49px 5.2% 0;min-height:75px;border-top:1px solid rgba(244,178,204,.13);display:flex;align-items:center;justify-content:space-between;gap:20px;color:rgba(235,210,217,.46);font-size:8px;letter-spacing:.095em}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,16px);z-index:30;padding:12px 20px;border:1px solid rgba(239,190,186,.34);border-radius:40px;background:rgba(43,21,60,.97);color:#ffdbb8;opacity:0;pointer-events:none;transition:.28s;font-size:12px}.toast.show{opacity:1;transform:translate(-50%,0)}.error-layer{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);z-index:10;text-align:center;min-width:220px;padding:30px;background:#27133eec;border:1px solid #ffb3a955;border-radius:15px;pointer-events:auto}.error-layer[hidden]{display:none}.error-icon{font-size:50px;color:var(--pink)}.error-layer strong{display:block;font-size:15px}.error-layer p{font-size:12px;opacity:.76;line-height:1.5}
.candle .exhibition-stage{background:radial-gradient(ellipse at 70% 33%,rgba(160,57,70,.35),transparent 42%),radial-gradient(ellipse at 65% 82%,rgba(242,114,48,.16),transparent 46%)}.candle .halo{border-color:rgba(249,169,89,.20);box-shadow:0 0 125px 20px rgba(240,92,43,.12)}
@media(max-width:1200px){.editorial{width:43vw}.hero-title{font-size:clamp(58px,7.6vw,92px)}.description p{font-size:19px}.control-dock,.cultural-info{width:58vw}.stage-caption{left:74%}}
@media(max-width:900px){.topbar{padding:26px 4% 0;height:95px}.editorial{margin-left:4%;margin-top:47px;width:42vw}.hero-title{font-size:clamp(52px,8vw,77px)}.hero-title .title-star{display:none}.description p{font-size:17px}.facts{gap:14px;margin-top:22px}.explore-prompt{margin-top:25px}.control-dock{width:59vw;margin-right:3%;padding:20px 17px}.cultural-info{width:59vw;margin-right:3%}.control-row{grid-template-columns:1fr 1fr}.action-button{min-height:43px}.halo{left:calc(73% - 395px)}.halo--inner{left:calc(73% - 282px)}.orbit--one{left:calc(73% - 325px)}.orbit--two{left:calc(73% - 500px)}.orbit--three{left:calc(73% - 590px)}.stage-caption{left:72%}}
@media(max-width:720px){.museum{min-height:100vh}.topbar{height:73px;padding:18px 19px 0}.brand-symbol{width:31px;height:31px}.brand{gap:10px}.brand-main{font-size:9px}.brand-secondary{font-size:6px;letter-spacing:.11em}.topbar-right{gap:0}.collection{display:none}.language-switch{padding:8px 11px;font-size:9px}.exhibition-stage{height:810px;min-height:0}.halo{left:calc(50% - 290px);top:115px;width:580px;height:580px}.halo--inner{left:calc(50% - 216px);top:189px;width:432px;height:432px}.orbit--one{left:calc(50% - 275px);top:120px;width:550px;height:550px}.orbit--two{left:calc(50% - 380px);top:20px;width:760px;height:760px}.orbit--three{display:none}.pedestal-light{left:5%;width:90%;top:75%}.editorial{margin:20px 24px 0;width:calc(100% - 48px);padding-bottom:0}.eyebrow{font-size:8px}.hero-title-wrap{margin-top:14px}.hero-title{font-size:clamp(49px,11vw,76px);line-height:.87}.hero-title span:first-child{font-size:.75em}.hero-title em{margin-top:6px;transform:translateX(15px)}.hero-subtitle{font-size:10px;letter-spacing:.025em;margin-top:17px}.hero-divider{display:none}.description,.facts,.explore-prompt{display:none}.stage-number{right:24px;top:295px}.hero-right-label{right:9px;top:60%;font-size:7px}.stage-caption{top:710px;left:50%;font-size:7px}.viewport{top:100px;height:660px;bottom:auto}.hotspot{width:28px;height:28px}.control-dock{width:calc(100% - 30px);margin:490px 15px 0;padding:17px 17px 16px;border-radius:13px}.dock-title{font-size:8px}.controls-top{min-height:32px}.icon-button{width:30px;height:30px}.control-row{margin-top:12px;grid-template-columns:1fr 1fr;gap:7px}.action-button{min-height:43px;font-size:10px}.timeline{margin-top:13px}.timeline input{margin:14px 0 10px}.cultural-info{width:calc(100% - 44px);margin:34px 22px 0}.museum-footer{margin:25px 20px 0;padding:20px 0;flex-wrap:wrap;font-size:7px;line-height:1.7}.museum-footer span:nth-child(2){order:3;width:100%}.inspect-panel{top:auto;bottom:25px;left:15px;right:15px;width:auto;transform:translateY(calc(100% + 60px));border-radius:13px}.inspect-panel.visible{transform:none}.inspect-panel p{font-size:14px}.accordion-body{padding:0 20px 18px 49px}.source-note{font-size:9px}}
@media(max-width:395px){.hero-title{font-size:49px}.editorial{margin-left:19px}.brand-secondary{display:none}.action-button{font-size:9px}.control-dock{margin-top:480px}.stage-caption{top:710px}}
@media(min-width:721px) and (max-height:760px){.exhibition-stage{height:925px}.editorial{margin-top:33px}.hero-title{font-size:clamp(65px,6vw,93px)}.description p{font-size:17px}.hero-divider{margin:29px 0 23px}.facts{margin-top:23px}.control-dock{margin-top:0}.stage-caption{top:78%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important}}

/* Reserve a complete cinematic scene on wide screens while keeping controls in view. */
@media(min-width:721px){.editorial{min-height:820px}.control-dock{position:absolute;top:672px;right:4.3%;margin:0}.cultural-info{margin-top:44px}}
@media(min-width:721px) and (max-width:900px){.editorial{min-height:765px}.control-dock{top:620px}}
