@font-face{font-family:LucieSerif;src:url(assets/serif.otf) format('opentype');font-display:swap}
:root{--paper:#f6f2e9;--ink:#183d3b;--muted:#6e756e;--gold:#b68b48;--line:#dcd7ca;--white:#fffdf7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b68b48;outline-offset:4px}button:disabled{opacity:.4;cursor:default}button:hover:not(:disabled){filter:brightness(.92)}[hidden]{display:none!important}.masthead{padding:22px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);font-size:12px;font-weight:650;letter-spacing:.18em}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:.27em;margin-top:4px}.monogram{font:44px/1 LucieSerif,Georgia,serif;color:#96523f;position:relative;padding-right:8px}.monogram span{font:25px Georgia,serif;color:var(--gold);position:absolute;bottom:-5px;right:0}.header-actions{display:flex;align-items:center;gap:25px}.quiet{font-size:12px;padding:7px 5px}.ar-button{border:1px solid #315654;border-radius:4px;padding:10px 17px;font-size:12px;font-weight:600}.ar-button span{margin-right:8px;color:var(--gold)}main{max-width:1600px;margin:auto;padding:34px 5vw 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:650;margin:0 0 12px}.intro h1{font:clamp(34px,4vw,57px)/1.1 LucieSerif,Georgia,serif;letter-spacing:-.025em;font-weight:400;margin:0}.intro h1 em{font-weight:400;color:#a2723b}.intro-copy{font-size:13px;line-height:1.8;color:var(--muted);margin:0;max-width:360px}.chapters{display:flex;border-bottom:1px solid var(--line);margin-bottom:20px}.chapters button{flex:1;text-align:left;padding:13px 10px 15px;border-bottom:2px solid transparent;font-size:12px}.chapters span{font-size:9px;color:var(--gold);margin-right:12px}.chapters .active{border-bottom-color:var(--ink);font-weight:650}.experience{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:490px;border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--white)}.stage{position:relative;min-height:490px;overflow:hidden;background:#e5dfd1;isolation:isolate}canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}.stage-tag{position:absolute;left:19px;top:17px;z-index:2;font-size:8px;letter-spacing:.14em;color:#2d4e49;background:#f7f2e6d9;padding:5px 8px;border-radius:2px}.reframe{position:absolute;right:15px;top:12px;z-index:3;background:#f7f2e6d9;border:1px solid #cfc7b7;border-radius:50%;width:33px;height:33px;font-size:22px;line-height:1}.stage-hint{position:absolute;left:18px;bottom:14px;font-size:9px;color:#374b44;background:#f7f2e6d9;padding:5px 9px;border-radius:3px;pointer-events:none}.welcome{position:absolute;inset:0;z-index:4;display:flex;align-items:center;background:linear-gradient(90deg,#142d2ce8,#142d2c65),url(assets/hl21/accueil-1925.webp) center/cover}.welcome-content{max-width:380px;color:#fff9e8;padding:35px}.welcome .eyebrow{color:#dcc28c;font-size:8px}.welcome h2{font:35px/1.2 LucieSerif,Georgia,serif;margin:0 0 22px}.welcome p:not(.eyebrow){font-size:12px;line-height:1.9;color:#eee6d2;margin-bottom:25px}.primary{background:#e7d8b3;color:#173c39;display:flex;justify-content:space-between;gap:35px;align-items:center;border-radius:3px;font-weight:650;padding:13px 18px;font-size:12px}.welcome small{display:block;color:#ded7c4;font-size:10px;margin-top:13px}.story-panel{padding:28px 24px 16px;display:flex;flex-direction:column;border-left:1px solid var(--line)}.story-panel .eyebrow{font-size:8px;color:#8c774d}.year{font:39px/1 LucieSerif,Georgia,serif;color:#ad884f;margin:0 0 17px}.story-panel h2{font:25px/1.25 LucieSerif,Georgia,serif;font-weight:400;margin:0 0 15px}.story-panel>p:not(.eyebrow):not(.year):not(.note){font-size:12px;line-height:1.85;margin:0 0 18px;color:#52615b}.archive-list{margin:3px 0 18px;display:grid;gap:9px}.archive-button{display:flex;text-align:left;align-items:center;gap:10px;padding:10px;border:1px solid #ded7c7;border-radius:3px;font-size:10px;line-height:1.5;background:#f9f6ef}.archive-button img{width:34px;height:44px;object-fit:contain;background:#ebe4d5}.archive-button b{display:block;font-weight:600}.archive-button small{color:#7e806f}.chapter-navigation{margin-top:auto;display:flex;align-items:center;gap:18px;padding-top:12px;border-top:1px solid var(--line)}.chapter-navigation button{font-size:20px;padding:2px 6px}.chapter-navigation span{flex:1;text-align:center;font-size:10px;color:#737a6e}.note{font-size:8px;line-height:1.65;color:#86877b;margin:16px 0 0}.subtitle{position:absolute;z-index:3;bottom:53px;left:10%;right:10%;font-size:14px;line-height:1.5;text-align:center;pointer-events:none;color:#fffaf0;text-shadow:0 1px 3px #000;white-space:pre-line}.subtitle:not(:empty){padding:8px 12px;background:#142d2cd6;border-radius:3px}.player{display:flex;align-items:center;gap:14px;padding:16px 0 0;font-size:10px;color:#6e756e}.play{color:#f7f2e7;background:#173f3b;width:36px;height:36px;border-radius:50%;font-size:12px;flex-shrink:0}.player input{flex:1;accent-color:#a7834c;height:4px;min-width:30px}.player .quiet{font-size:10px}.status{min-height:22px;font-size:10px;color:#6e756e;margin:8px 0 0}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:17px;padding:13px 0 18px;gap:16px}footer>span{font-size:8px;letter-spacing:.11em;color:#929084}dialog{border:1px solid #d2c7b2;border-radius:6px;background:var(--paper);color:var(--ink);padding:35px;max-width:650px;width:calc(100% - 32px);max-height:90dvh;overflow:auto}dialog::backdrop{background:#122c2ac9;backdrop-filter:blur(5px)}dialog h2{font:30px/1.2 LucieSerif,Georgia,serif;font-weight:400}dialog h3{font-size:14px}dialog p,dialog li{font-size:13px;line-height:1.8}dialog a{color:var(--ink)}.close{position:absolute;right:9px;top:4px;font-size:28px}.archive-heading{padding-right:15px}.archive-heading h2{margin-bottom:8px}.archive-heading p:not(.eyebrow){font-size:12px;color:#6b736b}#archive-dialog{max-width:1100px}#archive-image{display:block;max-width:100%;max-height:65vh;margin:auto;object-fit:contain;background:#eee7d8}#archive-source{font-size:10px;color:#6b736b}#xr-dom{display:none}body.xr #xr-dom{display:flex;position:fixed;inset:auto 15px 15px;justify-content:space-between;pointer-events:none;z-index:30;color:white}#xr-exit{pointer-events:auto;background:#163f3d;border:1px solid #e4d4a6;border-radius:5px;padding:8px 14px}#xr-message{font-size:12px;background:#163f3d;padding:8px;max-width:60%}
@media(max-width:950px){.experience{grid-template-columns:minmax(0,1fr) 260px}.intro-copy{max-width:270px;font-size:11px}.story-panel{padding:22px 18px}.stage{min-height:460px}.story-panel h2{font-size:22px}.story-panel>p:not(.eyebrow):not(.year):not(.note){font-size:11px}.welcome-content{padding:25px}.welcome h2{font-size:29px}}
@media(max-width:680px){.masthead{padding:15px 5vw}.brand{font-size:9px;gap:8px}.brand small{font-size:7px}.monogram{font-size:34px}.header-actions{gap:10px}.header-actions>.quiet{display:none}.ar-button{font-size:10px;padding:9px 10px}.ar-button span{margin-right:3px}main{padding-top:25px}.intro{display:block;margin-bottom:20px}.intro h1{font-size:40px}.intro-copy{margin-top:16px;max-width:none;font-size:12px}.chapters button{padding:9px 3px 12px;font-size:10px;text-align:center}.chapters span{display:block;margin:0 0 2px;font-size:8px}.experience{display:flex;flex-direction:column}.stage{height:400px;min-height:400px}.story-panel{border-left:0;border-top:1px solid var(--line);padding:20px}.story-panel .eyebrow{margin-bottom:9px}.year{font-size:28px;margin-bottom:8px}.story-panel h2{font-size:25px;margin-bottom:10px}.story-panel>p:not(.eyebrow):not(.year):not(.note){font-size:12px}.archive-list{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.archive-button{font-size:9px;padding:7px}.archive-button img{width:27px;height:37px}.note{font-size:8px;margin-top:10px}.chapter-navigation{margin-top:0}.subtitle{font-size:12px;left:6%;right:6%;bottom:55px}.stage-tag{left:12px;font-size:7px}.stage-hint{left:12px;font-size:8px}.player{gap:9px}.player .quiet{font-size:9px}.player #mute{max-width:55px;line-height:1.3}footer>span{font-size:6px;max-width:220px}dialog{padding:25px}.welcome h2{font-size:33px}.welcome-content{max-width:340px}#archive-dialog{padding:24px 16px}}
.feature-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:-4px 0 18px;min-height:38px}.feature-controls>span{font-size:8px;letter-spacing:.15em;color:#8c774d}.feature-controls>div{display:flex;gap:8px;flex-wrap:wrap}.feature-controls button{font-size:11px;padding:7px 11px;border:1px solid #cdbd9c;border-radius:3px;background:#fbf8f0}.feature-controls button[aria-pressed=true]{background:#1c4843;color:#fff2cf;border-color:#1c4843}.feature-controls #close-window{color:#7a623c;background:transparent;border-color:transparent}.welcome .primary{gap:20px}
@media(max-width:680px){.feature-controls{align-items:flex-start;flex-direction:column;gap:7px;margin:0 0 14px}.feature-controls>span{font-size:7px}.feature-controls>div{gap:6px}.feature-controls button{font-size:10px;padding:6px 9px}.welcome h2{font-size:29px}.welcome-content{padding:24px}.welcome .primary{font-size:11px;gap:12px}}
.header-actions a{color:inherit;text-decoration:none}.headset-status{font-size:10px;color:#747568;margin:4px 0 0}.headset-diagnostic{white-space:pre-wrap;font:11px/1.7 ui-monospace,monospace;background:#e9e3d5;border:1px solid #d4c6aa;padding:12px;border-radius:4px;overflow-wrap:anywhere}.headset-actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.headset-actions button{padding:9px 12px;border:1px solid #bda77d;border-radius:4px;font-size:12px}.headset-actions .primary{background:#e7d8b3}.headset-link{font-size:12px;overflow-wrap:anywhere}
@media(max-width:680px){.header-actions>#headset-check{display:block;font-size:8px;max-width:67px;line-height:1.3;padding:2px}.header-actions{gap:6px}.ar-button{font-size:9px;padding:8px}.brand{gap:6px;font-size:8px}.brand small{font-size:6px}.headset-status{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.player{flex-wrap:wrap}.player input{flex:1 1 180px}#ambience-toggle,#piaf-toggle{border:1px solid var(--line);border-radius:3px;padding:7px 10px}#ambience-toggle[aria-pressed=true]{background:#1c4843;color:#fff2cf}@media(max-width:680px){.player input{flex-basis:50%}#ambience-toggle,#piaf-toggle{font-size:10px}}

.film-stage{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#122c2a;z-index:1;pointer-events:none}.screen-archive{position:absolute;inset:0;margin:0;padding:32px 20px 46px;z-index:1;background:#e9dfc9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.screen-archive img{min-height:0;max-height:calc(100% - 45px);max-width:100%;object-fit:contain}.screen-archive figcaption{font-size:11px;line-height:1.5;text-align:center;max-width:95%;color:#24443b}#stage[data-film=true] .stage-hint{display:none}

.screen-archive{padding-bottom:102px}.screen-archive figcaption{position:absolute;bottom:12px;left:14px;right:14px;max-width:none;max-height:34px;overflow:hidden;font-size:10px;line-height:1.5}

/* A visible return control keeps free room exploration easy to leave. */
.preview-controls{position:absolute;right:12px;top:12px;z-index:3;display:flex;gap:3px;padding:3px;border:1px solid #cfc7b7;border-radius:4px;background:#f7f2e6ee}.preview-controls button{padding:6px 9px;border-radius:2px;font-size:10px;line-height:1.4;white-space:nowrap}.preview-controls button[aria-pressed="true"]{background:#244c45;color:#fff7e4}#stage #view{touch-action:none;cursor:grab}body.xr .preview-controls{display:none}@media(max-width:680px){.preview-controls{right:9px;top:9px}.preview-controls button{padding:5px 8px;font-size:9px}.stage-tag{top:51px}.stage-hint{right:12px;width:fit-content;max-width:calc(100% - 24px)}}
@media(min-width:681px) and (max-width:1150px){.stage-tag{top:55px}}

.liberation-landmarks{list-style:none;margin:20px 0;padding:0;border-left:2px solid #c5ab77}.liberation-landmarks[hidden]{display:none}.liberation-landmarks li{margin:0;padding:10px 12px;border-bottom:1px solid #ddd1bb;line-height:1.5}.liberation-landmarks b,.liberation-landmarks span{display:block}.liberation-landmarks b{font-size:12px;color:#244e47}.liberation-landmarks span{font-size:12px;color:#6b7167}.liberation-landmarks[data-current="paris-1944"] [data-liberation="paris-1944"],.liberation-landmarks[data-current="kratzau-1945"] [data-liberation="kratzau-1945"],.liberation-landmarks[data-current="retour-1945"] [data-liberation="retour-1945"],.liberation-landmarks[data-current="recap"] [data-liberation="retour-1945"]{background:#eee4cd;border-left:3px solid #234d45;margin-left:-2px}

.workshop-panel{margin:0 0 24px;padding:28px;background:#f5eddd;border:1px solid #d4c4a3;border-radius:5px;color:#244d45;animation:workshop-reveal .35s ease both}.workshop-panel[hidden]{display:none}.workshop-panel h2{font:32px Georgia,serif;margin:8px 0 14px}.workshop-panel p{max-width:780px;line-height:1.7}.workshop-sources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.workshop-sources button{display:flex;text-align:left;align-items:center;gap:14px;padding:16px;background:#fffaf0;min-height:95px;border:1px solid #d4c4a3}.workshop-sources img{width:48px;height:64px;object-fit:contain}.workshop-sources span{font:17px Georgia,serif}.workshop-sources small{display:block;font:12px/1.6 sans-serif;margin-top:7px;color:#72776b}.workshop-panel>.primary{margin-top:8px}.welcome-content #direct-story{margin:12px 0}@keyframes workshop-reveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}@media(max-width:680px){.workshop-panel{padding:20px}.workshop-sources{grid-template-columns:1fr}.workshop-panel h2{font-size:27px}}@media(prefers-reduced-motion:reduce){.workshop-panel{animation:none}}
