
:root{--bg:#06080d;--panel:#0d111a;--panel2:#121827;--text:#f0eee7;--muted:#b9b5ab;--gold:#d7b86e;--line:rgba(255,255,255,.13);--max:1240px;--accent:#d7b86e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% -10%,#1b2030 0,#080b12 35%,#04060a 100%);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.7}a{color:inherit}.site-head{position:sticky;top:0;z-index:20;background:rgba(5,7,12,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.head-in{max-width:var(--max);margin:auto;padding:13px 24px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{font-family:Georgia,serif;letter-spacing:.04em}.head-links{display:flex;flex-wrap:wrap;gap:8px}.head-links a,.small-btn{border:1px solid var(--line);border-radius:999px;padding:7px 12px;text-decoration:none;font-size:12px;background:rgba(255,255,255,.03)}.hero{max-width:var(--max);margin:auto;padding:42px 24px 30px;display:grid;grid-template-columns:minmax(300px,.86fr) 1.14fr;gap:46px;align-items:center}.hero img{width:100%;max-height:78vh;object-fit:cover;border-radius:24px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.48)}.eyebrow{color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700}.hero h1{font:500 clamp(46px,7vw,92px)/.98 Georgia,serif;margin:14px 0}.hero h1 small{display:block;font:400 .28em/1.35 Inter,Arial,sans-serif;color:#d0cbc0;margin-top:16px}.hero p{color:#d1cdc3;font-size:18px}.quote{font:400 clamp(24px,3vw,38px)/1.35 Georgia,serif;color:#eadfbe;border-left:2px solid var(--gold);padding-left:22px}.main{max-width:var(--max);margin:auto;padding:0 24px 80px}.intro{padding:46px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:.7fr 1.3fr;gap:36px}.intro h2,.section-title{font:500 clamp(34px,5vw,64px)/1.05 Georgia,serif;margin:0}.intro p{color:#cac6bc;font-size:17px;margin-top:0}.toolbar{position:sticky;top:57px;z-index:15;display:flex;flex-wrap:wrap;gap:8px;padding:12px;margin:28px 0;background:rgba(8,11,18,.95);border:1px solid var(--line);border-radius:16px}.filter{border:1px solid var(--line);background:rgba(255,255,255,.03);color:#ddd8cd;border-radius:999px;padding:9px 13px;cursor:pointer}.filter.active{border-color:var(--gold);background:rgba(215,184,110,.12)}.search{margin-left:auto;min-width:260px;border:1px solid var(--line);background:#070b12;color:#fff;border-radius:12px;padding:10px 13px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{min-height:520px;position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:#090c12;text-decoration:none;box-shadow:0 18px 42px rgba(0,0,0,.28);transition:.25s}.card:hover{transform:translateY(-4px);border-color:var(--accent)}.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,5,9,.98) 0%,rgba(3,5,9,.83) 30%,rgba(3,5,9,.08) 72%)}.card-body{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:25px}.field{font-size:10px;color:var(--accent);text-transform:uppercase;letter-spacing:.17em;font-weight:700}.card h3{font:500 31px/1.06 Georgia,serif;margin:7px 0}.card p{margin:0;color:#cbc7bd}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.chip{font-size:10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 8px;background:rgba(0,0,0,.25)}.open{display:flex;justify-content:space-between;margin-top:17px;font-size:13px}.audio-badge{display:inline-flex;align-items:center;gap:6px;color:#f0dfb4;margin-top:10px;font-size:12px}.chamber-hero{max-width:var(--max);margin:auto;padding:28px 24px 18px;display:grid;grid-template-columns:minmax(320px,.86fr) 1.14fr;gap:44px;align-items:start}.cover-col{position:sticky;top:86px}.cover-col img{width:100%;max-height:calc(100vh - 118px);object-fit:cover;border-radius:22px;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.45)}.chamber-title h1{font:500 clamp(46px,7vw,88px)/.98 Georgia,serif;margin:12px 0}.chamber-title h1 small{display:block;font:400 .27em/1.4 Inter,Arial,sans-serif;color:#d0cbc0;margin-top:15px}.sound-box{margin:26px 0;border:1px solid rgba(215,184,110,.35);border-radius:18px;background:linear-gradient(135deg,rgba(215,184,110,.09),rgba(255,255,255,.025));padding:18px}.sound-box strong{display:block;font-family:Georgia,serif;font-size:21px;margin-bottom:8px}.sound-box audio{width:100%;height:42px;display:block}.sound-box small{color:#aaa69c}.seal{font:400 25px/1.45 Georgia,serif;color:#eadfbe;border-left:2px solid var(--accent);padding:8px 0 8px 22px;margin:30px 0}.toc{display:flex;flex-wrap:wrap;gap:7px;margin:28px 0}.toc a{border:1px solid var(--line);border-radius:999px;padding:7px 11px;text-decoration:none;font-size:12px}.content{max-width:900px}.block{padding:34px 0;border-top:1px solid var(--line);scroll-margin-top:82px}.block h2{font:500 38px/1.15 Georgia,serif;margin:0 0 18px}.block h3{font:500 25px/1.25 Georgia,serif;margin:28px 0 10px}.block p{font-size:17px;color:#d0ccc2}.works{display:grid;gap:12px}.work{border:1px solid var(--line);border-radius:16px;padding:18px;background:rgba(255,255,255,.025)}.work h3{margin:0 0 8px;color:#f2e6c6}.quartet{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quartet article{border:1px solid var(--line);border-radius:15px;padding:17px;background:rgba(255,255,255,.025)}.quartet b{color:var(--accent);text-transform:uppercase;letter-spacing:.12em;font-size:11px}.quartet p{margin:7px 0 0;font-size:15px}.res-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.res{border:1px solid var(--line);border-radius:15px;padding:16px;background:rgba(255,255,255,.022)}.res h3{margin:0 0 7px;font-size:22px}.res p{font-size:14px;margin:5px 0}.canon{color:#aea99f;font-size:13px!important}.note{border:1px dashed rgba(215,184,110,.35);border-radius:14px;padding:15px;color:#bdb8ae}.origin-box{border:1px solid rgba(215,184,110,.3);background:linear-gradient(145deg,rgba(215,184,110,.08),rgba(100,90,160,.06));border-radius:20px;padding:24px}.nav-bottom{display:flex;gap:10px;justify-content:space-between;padding:34px 0}.nav-bottom a{flex:1;text-align:center;border:1px solid var(--line);border-radius:14px;padding:13px;text-decoration:none}.footer{text-align:center;color:#8e8a82;padding:42px 20px 70px}.hidden{display:none!important}@media(max-width:1050px){.gallery{grid-template-columns:repeat(2,1fr)}.hero,.chamber-hero{grid-template-columns:1fr}.cover-col{position:relative;top:auto}.cover-col img{max-height:none}.content{max-width:none}}@media(max-width:720px){.head-in{align-items:flex-start}.head-links{justify-content:flex-end}.hero,.chamber-hero,.main{padding-left:15px;padding-right:15px}.intro{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.card{min-height:600px}.toolbar{top:62px}.search{width:100%;min-width:0;margin-left:0}.quartet,.res-grid{grid-template-columns:1fr}.chamber-title h1{font-size:48px}.block p{font-size:16px}.nav-bottom{flex-direction:column}}

/* PHASE 29 — réserve du dock global, sans superposition avec les fins de Chambre. */
html.constellation-nav-ready .footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
@media(max-width:560px){html.constellation-nav-ready .footer{padding-bottom:calc(82px + env(safe-area-inset-bottom))}}

/* PHASE 30 — calibrage, continuité de recherche et accessibilité de la Chambre. */
.filter,.head-links a,.toc a,.nav-bottom a,.card{touch-action:manipulation}
.filter:focus-visible,.head-links a:focus-visible,.toc a:focus-visible,.nav-bottom a:focus-visible,.card:focus-visible,.search:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:720px){.site-head{position:relative}.toolbar{top:0}.chamber-hero{gap:24px}.cover-col img{width:100%;height:auto;max-height:min(64vh,620px);object-fit:contain;background:#04060a}.head-links a,.filter,.toc a,.nav-bottom a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.head-in{padding-bottom:12px}.footer{padding-bottom:calc(100px + env(safe-area-inset-bottom))}}
@media(max-width:420px){.head-in{padding-left:14px;padding-right:14px;flex-direction:column}.head-links{width:100%;justify-content:flex-start}.chamber-title h1{font-size:40px}.card{min-height:520px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}.card:hover{transform:none}}
