/* Shared visual language for the exhibition, its room readers and the spatial visit. */
:root{--fr-blue:#173c68;--fr-blue-dark:#102a4c;--fr-red:#aa333d;--fr-white:#f7f5ee;--museum-gold:#9d7742;--museum-ink:#1c344f;--museum-muted:#576b7c;--museum-line:#c8d2da;--tricolour:linear-gradient(90deg,#173c68 0 33.333%,#f7f5ee 33.333% 66.666%,#aa333d 66.666%)}
body{color:var(--museum-ink);background:#dfe5ea}
#scene-fallback{background:linear-gradient(90deg,#dce7f0a1,transparent 66%),url('assets/facade.jpg') center/cover}.flat-consultation.has-room-background #scene-fallback{background:linear-gradient(90deg,#122c4cd9,#253f5f42),var(--room-background) center/cover}.flat-consultation.has-room-background .room-intro{background:#fbfaf5f3}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc8343;outline-offset:4px}
.masthead{height:81px;padding:16px 27px;background:linear-gradient(105deg,#fbfaf5f7,#edf2f6ef);border:0;box-shadow:0 2px 18px #102a4c16}
.masthead:after{position:absolute;content:"";left:0;right:0;bottom:0;height:4px;background:var(--tricolour)}
.brand{color:var(--fr-blue)}.brand-mark{color:var(--fr-blue)}.brand strong{letter-spacing:2px}.brand small{color:#60758a}.top-nav{gap:22px}.top-nav button{color:var(--fr-blue);font-size:12px;padding:10px 0}.top-nav button:hover{color:var(--fr-red)}.help-mark{border-color:#9aaec0}
.welcome{left:24px;top:105px;bottom:auto;width:clamp(285px,28vw,330px);max-height:calc(100dvh - 230px);overflow:auto;padding:25px 25px 20px;background:#fbfaf5f3;border:1px solid #ffffffb3;border-top:4px solid var(--fr-blue);border-radius:4px;box-shadow:0 10px 38px #0a254c2e;backdrop-filter:blur(10px);scrollbar-width:thin}
.welcome:before{position:absolute;content:"";height:4px;top:-4px;left:0;right:0;background:var(--tricolour)}
.welcome h1{font-size:clamp(37px,3.6vw,46px);line-height:1.05;letter-spacing:-1.4px;margin:0 0 15px;color:var(--fr-blue);text-wrap:balance}.welcome h1 em{color:var(--fr-red)}.welcome .eyebrow{font-size:8px;line-height:1.6;letter-spacing:1.1px;margin:0 0 17px;padding-right:9px;color:#4c6378}.small-rule{background:var(--fr-red);width:17px;margin-right:6px}.welcome-subtitle{font-size:17px;line-height:1.4;margin-bottom:14px;color:var(--fr-blue)}.welcome-subtitle span{font-size:11px;color:#66798b;letter-spacing:.2px}.welcome-copy{font-size:11px;line-height:1.7;margin-bottom:18px;color:#52687c}.welcome-actions{gap:8px}.welcome .primary{font-size:11px;padding:12px 14px}.welcome .secondary{font-size:11px;padding:10px 14px}.welcome-coq,.welcome-rooms{font-size:10px;line-height:1.55;color:var(--fr-blue)}.welcome-coq{margin-top:10px}.welcome-detail{gap:7px;margin-top:14px;font-size:8px;color:#61768a;flex-wrap:wrap}.welcome-detail i{background:var(--fr-red)}
#collapse-welcome{position:absolute;right:8px;top:7px;width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e7edf2;color:var(--fr-blue);font-size:20px;padding:0}
.welcome.compact{padding:17px 23px;width:290px;max-height:none}.welcome.compact h1{font-size:28px;letter-spacing:-.7px;margin:0}.welcome.compact .eyebrow,.welcome.compact .welcome-subtitle,.welcome.compact .welcome-copy,.welcome.compact .welcome-coq,.welcome.compact .welcome-rooms,.welcome.compact .welcome-detail{display:none}.welcome.compact h1{font-size:25px;line-height:1.1}.welcome.compact .welcome-actions{display:flex;flex-direction:row;gap:7px;margin-top:12px}.welcome.compact .welcome-actions button{flex:1;padding:9px 10px;font-size:10px;line-height:1.4}.welcome.compact .primary{gap:8px}.welcome.compact .primary span{font-size:15px}
.primary{background:var(--fr-blue);border-color:var(--fr-blue);color:#fff;padding:14px 19px;border-radius:3px}.primary:hover{background:#244e7d;border-color:#244e7d}.secondary{border-color:#b4c3d0;color:var(--fr-blue);background:#fff9}.secondary:hover{background:#e7edf3}.text-link{color:#294d75}.coq-room-link{background:var(--fr-blue);color:#fff}.coq-room-link:hover{background:#285582}
.room-intro{top:102px;left:24px;width:310px;max-width:calc(100vw - 48px);padding:20px 23px;background:#fbfaf5f0;border:1px solid #ffffffa8;border-left:4px solid var(--fr-blue);border-radius:3px;box-shadow:0 8px 28px #102a4c20}
.room-intro h1{font-size:27px;line-height:1.13;letter-spacing:-.4px;color:var(--fr-blue);text-wrap:balance}.room-intro>p:not(.eyebrow){color:#52697e;line-height:1.7}.room-intro .eyebrow{color:#7d4d40;font-size:8px;letter-spacing:1px}.room-intro #collapse-intro{right:7px;top:7px;width:26px;height:26px;border-radius:50%;background:#e8eef3;color:var(--fr-blue);font-size:19px}.room-intro.compact{padding:15px 24px 15px 19px;width:285px}.room-intro.compact h1{font-size:23px;line-height:1.14}.room-intro.compact .eyebrow{margin-bottom:7px}
.visit-footer{bottom:18px;padding:7px 9px;gap:5px;background:#fbfaf5f5;border:1px solid #c0cbd4;border-radius:5px;box-shadow:0 7px 24px #0d2b4b35;max-width:calc(100vw - 32px)}.visit-footer:before{position:absolute;content:"";top:0;left:8px;right:8px;height:3px;background:var(--tricolour)}.visit-footer nav{gap:3px;scrollbar-color:#6582a0 transparent}.room-pill{--pill-accent:var(--fr-blue);width:74px;min-width:74px;padding:8px 4px 6px;border-top:2px solid transparent}.room-pill .room-num{font-size:19px;color:var(--pill-accent)}.room-pill .room-name{font-size:9px;color:#395773}.room-pill:hover{background:#e4edf5}.room-pill.active{background:var(--pill-accent);border-top-color:#fff;color:white;box-shadow:0 2px 5px #173c6824}.room-pill.active .room-num,.room-pill.active .room-name{color:#fff}.room-pill[data-room=guerre],.room-pill[data-room=prison]{--pill-accent:#9d3542}.room-pill[data-room=coq],.room-pill[data-room=messages]{--pill-accent:#315a57}.room-pill[data-room=chants],.room-pill[data-room=transmission]{--pill-accent:#4d5e8c}.room-pill[data-room=victoire]{--pill-accent:#a03843}.footer-entry,.footer-cinema{width:56px;color:var(--fr-blue);border-color:#becbd5}.footer-entry.active,.footer-cinema.active{color:var(--fr-red)}
.right-tools{right:22px;bottom:113px}.right-tools button{background:#f7f8f5f2;border-color:#b9c8d3;color:var(--fr-blue);box-shadow:0 4px 14px #102a4c2b}.right-tools button:hover{background:#fff}.right-tools #reset-view{font-size:12px;white-space:nowrap;padding:0 13px}.interaction-tip{background:#102f52e6;color:#f8f7ee;font-size:10px;border:1px solid #f6f5ee3b;bottom:103px}.toast{background:#102e50f5;color:#fff;border-left:4px solid var(--fr-red);top:96px}
#sound-controls{position:fixed;z-index:4;right:22px;top:101px;display:flex;align-items:center;gap:10px;padding:8px 11px;background:#112f51eb;border:1px solid #e8eff62e;border-radius:4px;box-shadow:0 5px 22px #102a4c24;color:white;backdrop-filter:blur(10px);max-width:calc(100vw - 44px)}
#sound-controls button{color:#fff;min-height:30px;padding:4px 7px;font-size:11px;white-space:nowrap;border-radius:2px}#sound-controls button:hover{background:#ffffff17}#sound-controls button[aria-pressed=true]{background:#fff;color:var(--fr-blue)}#sound-controls label{display:flex;align-items:center;gap:6px;font-size:9px;color:#d6e2ef}#ambience-volume{accent-color:#e8b77c;width:72px;min-width:50px;cursor:pointer}#sound-controls output,#ambience-status{font-size:9px;color:#d7e0e9}#sound-controls #reset-view{border-left:1px solid #d9e3eb44;padding-left:12px}
body.xr-active #sound-controls{visibility:hidden}body.in-cinema #sound-controls{display:none}
dialog{background:var(--fr-white);border-color:#aebdca;color:var(--museum-ink);box-shadow:0 24px 90px #071c3970}dialog::backdrop{background:#0b2547dc}.dialog-heading h2,.document-heading h2,.info-dialog h2{color:var(--fr-blue);text-wrap:balance}.close-button{border-color:#a7b9c9;color:var(--fr-blue)}.close-button:hover{background:#dfe8f0}.document-heading{background:#f8f7f1;border-bottom:3px solid var(--fr-blue)}.document-view{background:#dfe5e8}.document-toolbar{background:#eef2f4;border-color:#bfcbd5}.document-toolbar button{border-color:#c1cdd6;background:#fffdf7;color:var(--fr-blue)}.document-cartel{color:#405b72;border-color:#bdc9d4}.document-note{color:#785a46}.document-cartel a,.document-cartel .text-link{color:#315a83}.source-label{color:#667d90}.archive-card{background:#fffdf7;border-color:#c3cdd5}.archive-card h3{color:var(--fr-blue)}.archive-card .card-date{color:#9b4845}.archive-card .archive-thumb{background:#e5e9ed}.collection-intro,.collection-meta,.info-dialog p,.info-dialog li{color:#586e82}.search-field,.collection-filters select{border-color:#b9c7d2;color:var(--fr-blue)}
.rooms-dialog,.experience-dialog,.coq-dialog{background:var(--fr-white);border-color:#b5c4d0}.experience-bar,.coq-dialog-bar{background:var(--fr-blue-dark);color:#fff;border-bottom:3px solid transparent;border-image:var(--tricolour) 1}.experience-bar .close-button,.coq-dialog-bar .close-button{border-color:#8299b2;color:#fff}.experience-bar .close-button:hover,.coq-dialog-bar .close-button:hover{background:#315579}.experience-bar-separator,.coq-bar-divider{color:#d9b98d}.rooms-overview-heading h2{color:var(--fr-blue)}.rooms-overview-heading>.eyebrow{color:var(--fr-red)}.rooms-overview-heading>p:last-child{color:#556d82}.room-overview-card{border-color:#c4ced6;border-top:4px solid var(--fr-blue);background:#fffdf8}.room-overview-card:nth-child(3n+2){border-top-color:var(--fr-red)}.room-overview-card:nth-child(3n){border-top-color:#7593ac}.room-overview-card h3{color:var(--fr-blue);line-height:1.17;text-wrap:balance}.room-overview-card p{color:#5a7083}.room-overview-period{color:#914743}.room-overview-enter{color:#274e79;border-color:#d2dbe2}.room-overview-picture>span{background:#173c68ed;border-color:#e7edf4;color:#fff}.room-overview-card:nth-child(3n+2) .room-overview-picture>span{background:#a73843ef}
.experience-dialog{--room-ink:#173c68;--room-accent:#984039;--room-dark:#16375b;--room-pale:#e4ecf2}.experience-dialog[data-theme=war]{--room-ink:#243f5b;--room-accent:#9c3842;--room-dark:#243b50;--room-pale:#e3e7eb}.experience-dialog[data-theme=appeal]{--room-ink:#173c68;--room-accent:#8f5540;--room-dark:#173c68;--room-pale:#e1ebf4}.experience-dialog[data-theme=messages]{--room-ink:#2d4a56;--room-accent:#8b4e3e;--room-dark:#244652;--room-pale:#e9e7dc}.experience-dialog[data-theme=songs]{--room-ink:#314471;--room-accent:#98404e;--room-dark:#263b69;--room-pale:#e7eaf4}.experience-dialog[data-theme=recognition]{--room-ink:#173c68;--room-accent:#aa333d;--room-dark:#173c68;--room-pale:#e6edf3}.experience-dialog[data-theme=victory]{--room-ink:#173c68;--room-accent:#aa333d;--room-dark:#173c68;--room-pale:#e5edf4}
.experience-opening{background:linear-gradient(120deg,var(--room-pale),#fffdf7);border-color:#c9d2d9}.experience-opening h2{font-size:clamp(34px,4vw,54px);line-height:1.09;letter-spacing:-1px;text-wrap:balance}.experience-lead{font-size:23px;line-height:1.4}.experience-intro,.experience-panel>p:not(.eyebrow),.room-photograph figcaption p,.room-media-caption>p{color:#546b7e}.experience-player-section{background:#f1f3f3;border-color:#c7d1d9}.experience-panels,.room-photographs-section,.room-timeline-section{border-color:#c7d1d9}.room-photo-button{background:#dce4eb;border-color:#aebfcd}.room-photo-button>span{color:#25496c;border-color:#b6c5d1;background:#fffdf3ed}.room-source,.room-source a{color:#62758a}.room-media-choice{background:#fffdf7;border-color:#b6c5d2;border-radius:3px;color:var(--fr-blue)}.room-media-choice>span{color:#974548}.room-media-choice small{color:#63788b}.room-media-choice:hover{background:#e7edf3}.room-media-choice.active{background:var(--room-dark);color:#fff;border-color:var(--room-dark)}.room-media-choice.active span,.room-media-choice.active small{color:#e0c7a1}.room-player{background:#102a48;border-color:#7089a1;box-shadow:0 14px 30px #102a4c25}.room-media-stage,.room-media-stage video{background:#0a1729}.room-player-controls{background:#163859;color:#fff;border-top:3px solid transparent;border-image:var(--tricolour) 1}.room-player-controls button{background:#ffffff0d;border-color:#b5c5d34d;color:#fff}.room-player-controls input{accent-color:#e3b976}.room-media-status{background:#163859;color:#cfdeeb}.room-audio-visual{background:radial-gradient(ellipse at 75% 5%,#607eac55,transparent 70%),linear-gradient(120deg,#102b4a,#244d77);color:#fff}.room-audio-hint{color:#c1d1df}.room-sound-bars i{background:#f3f0e7}.room-sound-bars i:nth-child(3n+1){background:#6f9dc5}.room-sound-bars i:nth-child(3n){background:#d97276}.room-external-prompt{background:#163859}.room-external-prompt .primary{background:#f5eee0;color:var(--fr-blue);border-color:#f5eee0}.room-external-prompt a{color:#d2dfeb}
.room-message-workshop{background:#e6e8e4;border-color:#bec9cc}.room-message-workshop h3{color:#244652}.room-message-workshop>div>p:not(.eyebrow){color:#506970}.room-secret-card{background:#fffaf0;border-color:#b5b9ad}.room-secret-card .primary{background:#244652;border-color:#244652}.room-secret-card blockquote{color:#294e5b}.room-timeline li{border-top:3px solid var(--room-accent)}.room-timeline p,.room-links p{color:#5e7282}.room-links>a,.room-links>button{background:#fffdf7;border-color:#bfccd6;color:var(--fr-blue)}.room-links>a:hover,.room-links>button:hover{background:#e9eff5;border-color:#8da7bf}.experience-footer{border-top:3px solid transparent;border-image:var(--tricolour) 1}.experience-plan{color:#e4c69b}.coq-opening{background:linear-gradient(120deg,#e2ebf1,#fffaf0)}.coq-opening h2,.coq-section-heading h3,.coq-photo h3,.coq-panel-section h3{color:var(--fr-blue)}.coq-opening h2{font-size:clamp(40px,4.8vw,60px);line-height:1.08;letter-spacing:-1.2px}.coq-subtitle,.coq-photo-date,.coq-action-number{color:#9c3a45}.coq-introduction,.coq-actions p,.coq-photo figcaption p,.coq-panel-section article>p:not(.eyebrow),.coq-timeline p{color:#506c81}.coq-pictures-section{background:#e5ecf1}.coq-photo-open{background:#dde5eb;border-color:#b0c1cf}.coq-photo-portrait .coq-photo-open,.coq-photo-context .coq-photo-open{background:#173c68}.coq-photo-symbol .coq-photo-open{background:#e5e2d7}.coq-actions article{border-left:3px solid var(--fr-red)}.coq-actions h4{color:var(--fr-blue)}.coq-timeline li>span{color:#963d43}.coq-closing{background:var(--fr-blue-dark)}.coq-closing p:not(.eyebrow){color:#d0dce7}.coq-closing-actions .primary{background:#fff6e7;color:var(--fr-blue);border-color:#fff6e7}.coq-closing-actions .secondary{border-color:#8fa5bb;color:#fff}.coq-closing-actions .secondary:hover{background:#2b527b}
.cinema-controls{background:#0f2a49ed;border-color:#8299ae66}.cinema-controls p{color:#d2dce6}.cinema-row input{accent-color:#e0b789}.cinema-row>button[aria-pressed=true]{background:#f0dfbe;color:#15375a}
@media(max-width:1000px){.masthead{padding:14px 22px}.top-nav{gap:16px}.welcome{left:20px;width:300px;padding:23px}.welcome h1{font-size:40px}.room-intro{left:20px;width:290px}.room-intro h1{font-size:25px}.room-pill{width:70px;min-width:70px}#sound-controls{right:20px;gap:7px}#ambience-volume{width:60px}}
@media(max-width:700px){.masthead{height:72px;padding:13px 15px}.brand{gap:9px}.brand strong{font-size:10px;letter-spacing:1.5px}.brand small{font-size:9px}.top-nav{gap:12px}.welcome{left:14px;right:auto;top:92px;bottom:auto;width:calc(100vw - 28px);max-width:340px;max-height:calc(100dvh - 300px);padding:22px 23px}.welcome h1{font-size:40px;line-height:1.04}.welcome .eyebrow{font-size:7.5px;margin-bottom:12px;letter-spacing:.9px}.welcome-subtitle{font-size:16px;margin-bottom:11px}.welcome-copy{font-size:11px;line-height:1.65;margin-bottom:15px}.welcome-detail{font-size:8px;margin-top:12px}.welcome.compact{width:275px;padding:16px 22px}.welcome.compact h1{font-size:27px}.room-intro{top:88px;left:14px;width:calc(100vw - 28px);max-width:320px;padding:17px 21px}.room-intro h1{font-size:25px}.room-intro.compact{width:270px;padding:14px 23px 14px 17px}.room-intro.compact h1{font-size:22px}.room-intro.compact .eyebrow{font-size:7.5px}.visit-footer{bottom:11px;left:8px;right:8px;max-width:calc(100vw - 16px);padding:7px 5px;gap:2px}.room-pill{min-width:65px;width:65px;padding:7px 3px 5px}.room-pill .room-num{font-size:17px}.room-pill .room-name{font-size:8px}.footer-entry,.footer-cinema{width:44px}.right-tools{right:13px;bottom:97px;gap:4px}.right-tools button{height:34px;min-width:34px}.right-tools #reset-view{font-size:10px;padding:0 9px}.interaction-tip{bottom:87px;font-size:8px;max-width:90vw;white-space:normal;text-align:center}.toast{top:82px}#sound-controls{top:auto;bottom:144px;right:13px;padding:6px 8px;gap:6px;max-width:calc(100vw - 26px)}#sound-controls button{min-height:27px;font-size:10px;padding:3px 6px}#sound-controls label{font-size:0}#ambience-volume{width:60px}#sound-controls output,#ambience-status{display:none}.experience-opening h2{font-size:38px;line-height:1.1;letter-spacing:-.8px}.experience-lead{font-size:22px}.room-overview-card h3{font-size:23px;line-height:1.13}.coq-opening h2{font-size:45px;letter-spacing:-1px}.room-player-controls{gap:6px}.room-media-status{font-size:9px}}
@media(max-height:680px) and (min-width:701px){.masthead{height:70px}.welcome{top:89px;width:285px;max-height:calc(100dvh - 192px);padding:20px}.welcome h1{font-size:36px;margin-bottom:13px}.welcome-copy{font-size:10px;margin-bottom:12px}.welcome-subtitle{font-size:15px;margin-bottom:10px}.welcome .eyebrow{margin-bottom:11px;font-size:7.5px}.welcome-detail{margin-top:10px}.room-intro{top:89px}#sound-controls{top:89px}.visit-footer{bottom:10px}.right-tools{bottom:97px}.interaction-tip{bottom:88px}}
@media(prefers-reduced-motion:reduce){.welcome,.room-intro,.room-overview-card{scroll-behavior:auto;transition:none}}
