/* First screen only. These selectors never match the service landing. */
.atelier-standalone{--digital-gold:#d8b77d;--digital-ivory:#f8edda;--digital-red:#b72346}
.atelier-standalone .development-dialog{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow:hidden}
.atelier-standalone .development-body{padding-top:0;padding-bottom:180px;flex:1;min-height:0;height:auto;scroll-behavior:smooth;scroll-padding-top:26px}
.digital-header{flex:none;position:relative;z-index:25;background:#17130fec;color:var(--digital-ivory);border-bottom:1px solid #ad8d5945}
.digital-bar{height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:0 4%}
.digital-bar button,.digital-bar a{color:inherit;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer}
.digital-bar svg{width:21px;height:21px;flex:none}.digital-bar #digital-menu-toggle{justify-self:start;border:1px solid #dac49b35;border-radius:26px;padding:0 17px;font:11px var(--body)}
.digital-wordmark{flex-direction:column;gap:0!important;line-height:1;min-width:0}.digital-wordmark b{font:600 32px/.9 var(--display);letter-spacing:-.07em}.digital-wordmark>span{font:8px/1.8 var(--mono);letter-spacing:.13em;margin-top:5px}
.digital-header-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;min-width:0}.digital-header #locale-select{font:11px var(--mono);background:transparent;color:inherit;border:0;min-height:44px;width:48px;padding:0 4px}.digital-header option{background:#1d1710}.digital-icon-button{width:44px;border:1px solid #dac49b35;border-radius:50%}.digital-service-link{font:11px var(--body);padding-left:12px;border-left:1px solid #dac49b35}.digital-service-link svg{width:20px}
.digital-ribbon{height:64px;position:relative;overflow:hidden;background:linear-gradient(#d2bea0,#b89a76 70%,#7b6043);border-top:1px solid #f7e7c344;isolation:isolate}.digital-ribbon:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 -5px 10px #4c321a45}
.digital-ribbon-track{display:flex;width:max-content;height:100%;gap:clamp(28px,5vw,80px);align-items:flex-end;animation:digital-parade 44s linear infinite;will-change:transform}
.digital-ribbon-track>button{flex:none;display:block;width:48px;height:45px;padding:0;border:0;position:relative}.digital-ribbon .digital-toy{width:48px;height:45px;filter:drop-shadow(0 2px 2px #20100966);animation:digital-step 1.1s ease-in-out infinite alternate}
.digital-toy{display:block;background-image:var(--toy);background-size:400% 100%;background-position:0 0;background-repeat:no-repeat;width:78px;height:84px;flex:none}
.digital-menu-item:hover .digital-toy,.digital-menu-item:focus-visible .digital-toy{animation:digital-turn 1.8s steps(1,end) infinite}
@keyframes digital-turn{0%,24%{background-position:0 0}25%,49%{background-position:33.333% 0}50%,74%{background-position:66.666% 0}75%,100%{background-position:100% 0}}
@keyframes digital-step{to{transform:translateY(-2px) rotate(2deg)}}
@keyframes digital-parade{to{transform:translateX(-50%)}}
.digital-ribbon:hover .digital-ribbon-track,.digital-ribbon:focus-within .digital-ribbon-track,.digital-ribbon.is-paused .digital-ribbon-track,.digital-ribbon.is-paused .digital-toy{animation-play-state:paused}
#digital-ribbon-pause{position:absolute;right:8px;top:7px;z-index:3;width:32px;height:32px;border:1px solid #fff4;border-radius:50%;background:#21150dbf;color:#fff0d5;font:12px var(--body)}
.digital-menu{position:absolute;inset:142px 0 0;z-index:24;overflow:auto;overscroll-behavior:contain;background:linear-gradient(120deg,#17130ffb,#2a1c13fa);color:var(--digital-ivory);padding:26px 5% 55px;box-shadow:0 25px 80px #0008}.digital-menu[hidden]{display:none}.digital-menu-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8b77d33;padding-bottom:15px}.digital-menu-heading>span{font:10px var(--mono);letter-spacing:.12em;color:#c5a67a}.digital-menu-heading button{width:44px;height:44px;font-size:27px;color:inherit}.digital-menu nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 35px}.digital-menu-item{display:flex;align-items:center;gap:15px;min-width:0;min-height:134px;padding:18px 0;text-align:left;border-bottom:1px solid #d8b77d26;color:inherit}.digital-menu-item>span:nth-child(2){display:flex;flex-direction:column;gap:7px;min-width:0;flex:1}.digital-menu-item small{font:8px var(--mono);letter-spacing:.08em;color:#b79b75}.digital-menu-item strong{font:400 20px/1.25 var(--body);letter-spacing:-.035em}.digital-menu-item em{font:9px var(--mono);color:#a58b6b;font-style:normal}.digital-menu-item>span:last-child{font:20px var(--body);color:#d8b77d}.digital-menu>p{font:10px/1.8 var(--body);color:#a68d70;margin-top:28px;max-width:75ch}
.digital-opening{position:relative;isolation:isolate;overflow:hidden;margin:0 -4.348%;padding:clamp(42px,7vw,100px) 7% 28px;min-height:max(650px,calc(100dvh - 124px));display:flex;flex-direction:column;justify-content:space-between;color:var(--digital-ivory);background:#1e1710}
.digital-cinema{position:absolute;inset:0;z-index:-3;overflow:hidden}.digital-cinema>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.75) saturate(.86)}
#digital-louvre-host{position:absolute;inset:0;opacity:0;transition:opacity 1.3s ease;overflow:hidden}.digital-opening.has-louvre #digital-louvre-host{opacity:1}#digital-louvre-host iframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,calc(var(--film-height,760px)*1.77778));height:max(100%,calc(var(--film-width,1200px)*.5625));border:0;pointer-events:none}
.digital-opening:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#100c09bd 0%,#17100b55 70%,#0c080622),linear-gradient(0deg,#110c09df,transparent 50%,#1b130c22)}
.digital-opening-copy{position:relative;max-width:860px}.digital-edition{font:9px/1.8 var(--mono);letter-spacing:.16em;color:#e1c394}.digital-opening h1{font:400 clamp(64px,7.3vw,120px)/.94 var(--body);letter-spacing:-.075em;margin:35px 0;max-width:13ch}.digital-opening h1 em{font-style:normal;color:#e2bf83;display:block}.digital-opening-copy>p{font:17px/1.75 var(--body);max-width:34ch;color:#f3dfbd}.digital-opening-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-top:30px}.digital-opening-actions button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;min-height:50px;color:inherit;font:12px var(--body)}.digital-primary{padding:0 22px;border:1px solid #dbc09288;background:#d1af7130;backdrop-filter:blur(8px)}.digital-primary:hover{background:#d1af7155}.digital-next{border-bottom:1px solid #d5bd9588;padding:0 0 0}
.digital-film-footer{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:64px;border-top:1px solid #e6c89742;padding-top:20px}.digital-film-footer>div>span{font:9px var(--mono);letter-spacing:.13em;color:#d3b584}.digital-film-footer p{font:12px/1.7 var(--body);color:#e5cfac;margin-top:8px}.digital-film-footer button{display:flex;align-items:center;gap:12px;font:11px var(--body);min-height:44px;color:#f8e5c4}.digital-film-footer button>span:first-child{border:1px solid #e2c69666;border-radius:50%;width:38px;height:38px;display:grid;place-items:center}.digital-film-status{font:11px/1.7 var(--body);color:#e9cdad;min-height:0;margin-top:8px}.digital-film-status:empty{display:none}.digital-film-source{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:20px 0 48px;font:10px/1.8 var(--body);color:#aa875d}.digital-film-source a{min-height:30px;display:inline-flex;align-items:center}
.digital-dock{position:absolute;z-index:30;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(540px,calc(100% - 28px));height:80px;border:1px solid #d5bd8e77;border-radius:14px;isolation:isolate;color:#fff3d9;box-shadow:0 12px 40px #0007;display:flex;align-items:center;justify-content:space-between;padding:9px 15px 23px;gap:20px;background:#21160b}
.digital-dock-art{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:13px;background:#604122}.digital-dock-art video{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(1.4);opacity:.9}.digital-dock-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#160d06c9,transparent 45%,#160d0688)}.digital-dock-art i{position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#ffe0a344 45%,transparent 70%);transform:translateX(-100%);animation:digital-light 9s ease-in-out infinite}
@keyframes digital-light{50%,100%{transform:translateX(100%)}}
.digital-dock-title{display:flex;flex-direction:column;gap:6px;align-items:start;text-align:left;color:inherit;min-width:0;max-width:43%;min-height:40px;justify-content:center}.digital-dock-title b{font:500 11px/1.3 var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.digital-dock-title small{font:7px var(--mono);letter-spacing:.07em;color:#e4d4b7}.digital-dock-mascot{position:absolute;left:51%;bottom:6px;transform:translateX(-50%);width:101px;height:101px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 4px 5px #0008)}.digital-dock-buttons{display:flex;gap:10px}.digital-dock-buttons button{width:40px;height:40px;border-radius:50%;border:1px solid #e6d0a555;color:inherit;background:#f5dfba0c;font:15px var(--body)}.digital-track-pips{position:absolute;left:14px;bottom:3px;display:flex;gap:20px}.digital-track-pips button{font:7px var(--mono);min-width:20px;height:17px;color:#d6c3a4;border-top:1px solid transparent}.digital-track-pips button[aria-pressed=true]{border-color:#f1dbb6;color:#fff}
.digital-music-panel{position:absolute;z-index:32;right:max(18px,calc((100% - 720px)/2));bottom:calc(110px + env(safe-area-inset-bottom));width:min(390px,calc(100% - 32px));max-height:calc(100dvh - 260px);overflow:auto;background:#1d150eee;color:#f1dfbf;backdrop-filter:blur(22px);border:1px solid #b393624d;border-radius:13px;padding:16px;box-shadow:0 20px 70px #0009}.digital-music-panel[hidden]{display:none}.digital-music-panel header{display:flex;align-items:center;justify-content:space-between;font:8px var(--mono);letter-spacing:.1em}.digital-music-panel header button{width:40px;height:40px;font-size:24px;color:inherit}#digital-music-host{aspect-ratio:16/9;background:#0c0906;margin-top:10px;border-radius:6px;overflow:hidden}#digital-music-host:empty{display:none}#digital-music-host iframe{display:block;width:100%;height:100%;min-height:200px;border:0}.digital-music-tracklist{display:grid;margin-top:15px}.digital-music-tracklist button{color:inherit;text-align:left;display:flex;gap:15px;min-height:48px;align-items:center;border-bottom:1px solid #c29d6133;font:12px/1.5 var(--body)}.digital-music-tracklist button small{font:8px var(--mono);color:#aa8a60}.digital-music-tracklist button[aria-pressed=true]{color:#e8bd78}.digital-music-panel>p{font:11px/1.75 var(--body);color:#cfb897;margin:16px 0 10px}.digital-music-panel>a,.digital-music-panel>button{display:block;font:10px/1.6 var(--body);color:#d9bd91;min-height:36px;padding:8px 0}
.digital-header :focus-visible,.digital-menu :focus-visible,.digital-opening :focus-visible,.digital-dock :focus-visible,.digital-music-panel :focus-visible{outline:2px solid #e4c38d;outline-offset:4px}
@media(max-width:900px){.digital-menu nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.digital-menu-item strong{font-size:18px}}
@media(max-width:767.98px){
 .digital-bar{height:68px;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:0 14px}.digital-bar #digital-menu-toggle{padding:0 10px;width:44px}.digital-bar #digital-menu-toggle>span{display:none}.digital-wordmark b{font-size:27px}.digital-wordmark>span{font-size:6px;letter-spacing:.05em;white-space:nowrap}.digital-header-actions{gap:4px}.digital-header #locale-select{width:41px;font-size:10px}.digital-icon-button{display:none!important}.digital-service-link{padding:0 0 0 5px;border:0;width:36px}.digital-service-link>span{display:none}.digital-ribbon{height:56px}.digital-ribbon-track{gap:31px}.digital-ribbon-track>button,.digital-ribbon .digital-toy{width:44px;height:41px}#digital-ribbon-pause{width:28px;height:28px;top:6px;right:6px}.digital-menu{inset:124px 0 0;padding:15px 22px 110px}.digital-menu nav{grid-template-columns:minmax(0,1fr)}.digital-menu-item{min-height:112px;gap:18px;padding:12px 0}.digital-menu-item strong{font-size:20px}.digital-menu-item small{font-size:9px}.digital-menu-item em{font-size:9px}.digital-menu-item .digital-toy{width:72px;height:82px}
 .digital-opening{margin:0 -22px;padding:44px 22px 24px;min-height:max(620px,calc(100dvh - 124px))}.digital-opening h1{font-size:clamp(46px,12.5vw,76px);margin:28px 0;line-height:.98;max-width:100%}.digital-opening h1 em{letter-spacing:-.08em;white-space:nowrap}.digital-edition{font-size:8px}.digital-opening-copy>p{font-size:16px;max-width:28ch}.digital-opening-actions{gap:20px;margin-top:25px}.digital-opening-actions button{font-size:11px;gap:20px;min-height:46px}.digital-primary{padding:0 15px}.digital-film-footer{margin-top:40px;gap:15px;align-items:start}.digital-film-footer>div{max-width:55%}.digital-film-footer>div>span{font-size:8px}.digital-film-footer p{font-size:11px}.digital-film-footer button{font-size:10px;gap:7px;max-width:42%;text-align:left}.digital-film-footer button>span:first-child{width:32px;height:32px;flex:none}.digital-film-source{font-size:10px;gap:10px;margin-bottom:32px}.digital-dock{height:72px;padding:5px 10px 20px;bottom:calc(8px + env(safe-area-inset-bottom));width:calc(100% - 22px);gap:10px}.digital-dock-mascot{width:87px;height:87px;left:51%;bottom:6px}.digital-dock-title{max-width:39%}.digital-dock-title b{font-size:9px}.digital-dock-title small{font-size:6px;max-width:110px;line-height:1.4;letter-spacing:0}.digital-dock-buttons{gap:5px}.digital-dock-buttons button{width:34px;height:34px;font-size:13px}.digital-track-pips{gap:14px;bottom:2px}.digital-music-panel{right:11px;width:calc(100% - 22px);bottom:calc(91px + env(safe-area-inset-bottom));max-height:calc(100dvh - 216px)}
}
@media(max-width:359.98px){.digital-wordmark>span{font-size:5px}.digital-opening h1{font-size:44px}.digital-dock-mascot{width:73px;height:73px}.digital-dock-buttons button{width:32px;height:32px}.digital-opening-actions{gap:14px}.digital-opening-actions button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.digital-ribbon-track,.digital-ribbon .digital-toy,.digital-menu-item:hover .digital-toy,.digital-dock-art i{animation:none!important}.atelier-standalone .development-body{scroll-behavior:auto}#digital-louvre-host{transition:none}}
.digital-ribbon-track{--parade-gap:clamp(28px,5vw,80px);gap:var(--parade-gap);padding-right:var(--parade-gap)}
.digital-menu-item[data-digital-route="louvre"] .digital-toy{animation:none!important}
@media(max-width:767.98px){.digital-ribbon-track{--parade-gap:31px}}
.digital-reference-credit a{color:inherit;font:9px/1.8 var(--mono)}
@media(max-width:767.98px){.digital-opening h1 em{font-size:.87em;letter-spacing:-.055em}}
@media(max-width:767.98px){.digital-dock-buttons button{width:44px;height:44px;min-width:44px}.digital-dock-buttons{gap:0}.digital-service-link{width:44px;min-width:44px}}
.digital-media-credit{border-top:1px solid #c29d6133;margin-top:14px;padding-top:12px;color:#b69c78}.digital-media-credit summary{font:10px/1.6 var(--body);min-height:36px;cursor:pointer}.digital-media-credit p{font:10px/1.8 var(--body);margin-top:8px}

/* The service collector parade: individual actors wrap; the band never translates. */
.digital-ribbon-track{position:relative;display:block;width:100%;height:100%;gap:0;padding:0;animation:none;transform:none;will-change:auto}
.digital-ribbon-track>button{position:absolute;left:0;top:0;width:54px;height:80px;min-width:0;padding:0;display:block;transform-origin:0 0;will-change:transform}
.digital-ribbon .digital-toy{position:absolute;left:-13px;top:0;width:80px;height:80px;animation:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.digital-ribbon-track>button{will-change:auto}}

/* Live 2D fallback uses the same screen clock when WebGL is unavailable. */
.studio-flat-ready #studio-device{background:linear-gradient(135deg,#f3f3f0,#a4a6a5);padding:7px 7px 30px;border-radius:9px;box-shadow:2px 4px 0 #999b9a,15px 25px 40px #0005}
.studio-flat-ready #studio-device .device-screen{padding:0!important;border-radius:3px;background:#efe2d0;height:100%;isolation:auto}
.studio-flat-ready .device-screen canvas{display:block;width:100%;height:100%;object-fit:fill}
.studio-flat-ready .device-stand{height:30%;bottom:-29%;background:linear-gradient(90deg,#a9abaa,#e2e3e1,#979998);clip-path:polygon(38% 0,62% 0,70% 89%,100% 94%,100% 100%,0 100%,0 94%,30% 89%)}
.studio-flat-ready #studio-device.stage-app{background:linear-gradient(120deg,#905360,#3d1e28);padding:4px;border:1px solid #b37c87;border-radius:27px;aspect-ratio:71.9/150}
.studio-flat-ready #studio-device.stage-app .device-screen{border:2px solid #080808;border-radius:22px}
.studio-flat-ready .stage-app .device-camera{top:12px;width:23%;height:7px;background:#080808}
.studio-flat-ready #studio-device.stage-platform{background:linear-gradient(120deg,#52565a,#202326);border:1px solid #666b70;padding:7px 7px 11px;border-radius:9px}
.studio-flat-ready .stage-platform .device-stand{opacity:1;clip-path:polygon(2% 0,98% 0,100% 75%,98% 100%,2% 100%,0 75%);width:114%;height:6%;left:-7%;bottom:-6%;background:linear-gradient(#8b8e90,#4a4d50)}
.studio-flat-ready .stage-platform .device-camera{top:7px;height:5px;width:8%;border-radius:0 0 3px 3px;background:#080808}
.studio-flat-ready #studio-device.stage-tablet{padding:6px;background:#4b4e50;border:1px solid #95989a;border-radius:14px}
.studio-flat-ready #studio-device.stage-tablet .device-screen{border-radius:8px}
.studio-flat-ready .stage-tablet .device-stand{display:none}

@media(max-width:767.98px){#studio-experience.studio-flat-ready #studio-device.stage-web{height:215px;top:255px}.studio-flat-ready .device-stand{height:24%;bottom:-23%}.studio-flat-ready #device-caption{max-width:100%;font-size:8px}.studio-flat-ready #studio-device.stage-app{height:303px}.studio-flat-ready #studio-device.stage-tablet{height:239px}}
