@font-face{font-family:"Caliste";src:url(/massa/fonts/caliste-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Caliste";src:url(/massa/fonts/caliste-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Maax";src:url(/massa/fonts/maax-regular.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Maax";src:url(/massa/fonts/maax-italic.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}
:root{--ink:#3b2d5b;--cream:#f8ecdc;--d:"Caliste",Georgia,serif;--s:"Maax","Helvetica Neue",Arial,sans-serif;--g:clamp(16px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--s);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}figure{margin:0}
h1,h2,h3{font-family:var(--d);font-weight:400;line-height:1.04;margin:0}
h2{font-size:clamp(32px,3.6vw,56px)}
.ms-in{max-width:1440px;margin:0 auto;padding:0 var(--g)}
.ms-2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,96px);align-items:start}
.ms-eb{font-family:var(--d);font-style:italic;font-size:20px;margin:0 0 12px;opacity:.85}
.ms-it{font-family:var(--d);font-style:italic}
.ms-ul{font-weight:700;font-size:14px;text-decoration:none;border-bottom:1.5px solid currentColor;padding-bottom:2px}
.ms-sign{display:block;width:clamp(72px,7vw,110px);margin-bottom:22px;color:currentColor}.ms-sign svg{width:100%;height:auto;display:block}
/* en-tête */
.ms-top{position:sticky;top:0;z-index:20;background:var(--cream);border-bottom:1.5px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px var(--g)}
.ms-logo{display:block;width:118px;height:61px;background:currentColor;-webkit-mask:url(/massa/logo.png) left center/contain no-repeat;mask:url(/massa/logo.png) left center/contain no-repeat}
.ms-logo.big{width:240px;height:125px;margin-bottom:22px}
.ms-top nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.ms-top nav a{text-decoration:none;font-size:15px}.ms-top nav a:hover{text-decoration:underline;text-underline-offset:4px}
.ms-top .ms-cta{background:var(--ink);color:var(--cream);padding:9px 16px}
/* ouverture */
.ms-hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:calc(100svh - 82px);border-bottom:1.5px solid var(--ink)}
.ms-hero-im{position:relative;overflow:hidden;background:#d9cbb4}
.ms-hero-im img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.ms-hero-im figcaption{position:absolute;left:16px;bottom:12px;font-size:12px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.ms-hero-tx{display:flex;flex-direction:column;justify-content:flex-end;padding:var(--g)}
.ms-hero-tx .ms-it{font-size:20px;margin:0 0 18px}
.ms-hero h1{font-size:clamp(36px,3.7vw,62px)}
/* pause */
.ms-pause{background:var(--bg);color:var(--fg);padding:22px 0}
.ms-pause .ms-in{display:flex;align-items:center;gap:22px}
.ms-pause .ms-sign{width:64px;margin:0;flex:none}
.ms-pause p{margin:0;font-size:clamp(17px,1.5vw,21px);line-height:1.45}.ms-pause a{font-weight:700}
/* bandes */
.ms-band{background:var(--bg);color:var(--fg);padding:clamp(70px,9vw,140px) 0}
.ms-big{font-size:clamp(42px,5.4vw,88px)!important;margin-bottom:clamp(30px,4vw,60px)!important}
.ms-story{font-size:18px;line-height:1.7;max-width:62ch}.ms-story p{margin:0 0 18px}
.ms-story blockquote{margin:28px 0;font-family:var(--d);font-style:italic;font-size:clamp(26px,2.4vw,38px);line-height:1.2}
.ms-sig{font-family:var(--d);font-style:italic}
.ms-lead{font-size:19px;line-height:1.55;max-width:60ch;margin:0 0 24px}
.ms-figs{list-style:none;margin:clamp(56px,7vw,100px) 0 0;padding:22px 0 0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1.5px solid currentColor}
.ms-figs b{display:block;font-family:var(--d);font-weight:400;font-size:clamp(48px,5.4vw,92px);line-height:1}.ms-figs span{font-size:14px}
/* chapitres */
.ms-ch{background:var(--bg);color:var(--fg);padding:clamp(64px,8vw,120px) 0}
.ms-ch-h{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.3fr);gap:clamp(20px,3vw,48px);align-items:end;margin-bottom:clamp(30px,4vw,56px)}
.ms-ch-h .ms-sign{margin:0}
.ms-ch h2{font-size:clamp(44px,5vw,84px)}
.ms-ch-p{font-size:18px;line-height:1.65;max-width:56ch;margin:16px 0 22px}
.ms-ch-g{align-items:center}
.ms-ph img{width:100%;height:auto}.ms-ph figcaption,.ms-rail figcaption{font-size:13px;margin-top:10px}
.ms-quote p{font-family:var(--d);font-style:italic;font-size:clamp(30px,3.2vw,54px);line-height:1.12;margin:0 0 18px}.ms-quote span{font-size:14px}
.ms-rail{display:flex;gap:14px;overflow-x:auto;padding:0 var(--g) 14px;scroll-snap-type:x proximity;scrollbar-width:thin}
.ms-rail figure{flex:none;height:clamp(260px,42vh,460px);aspect-ratio:var(--ar);scroll-snap-align:start}
.ms-rail img{height:calc(100% - 30px);width:auto;max-width:none}
/* éditions */
.ms-eds{border-top:1.5px solid currentColor}
.ms-ed{border-bottom:1.5px solid currentColor}
.ms-ed summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:170px 1fr auto;gap:24px;align-items:center;padding:20px 0}
.ms-ed summary::-webkit-details-marker{display:none}
.ms-y{font-family:var(--d);font-size:clamp(46px,5vw,80px);line-height:1}
.ms-et b{display:block;font-family:var(--d);font-weight:400;font-size:clamp(22px,2vw,32px)}.ms-et .ms-it{font-size:16px}
.ms-nb{font-size:14px}
.ms-ed-b{padding:0 0 40px 194px}
.ms-ed-g{display:grid;grid-template-columns:1fr 1.4fr;gap:44px}
.ms-names{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}.ms-names li{padding:3px 0;break-inside:avoid}
.ms-ed dl{margin:0}.ms-ed dt{font-weight:700;margin-top:12px}.ms-ed dd{margin:2px 0 0}
/* artistes */
.ms-index{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);column-gap:44px}
.ms-index li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 0;border-bottom:1px solid currentColor}
.ms-index b{font-family:var(--d);font-weight:400;font-size:22px}.ms-index span{font-size:12px;white-space:nowrap}
/* exposition */
.ms-prog{display:grid;grid-template-columns:130px 1fr;margin:30px 0 0;border-top:1.5px solid currentColor}
.ms-prog dt,.ms-prog dd{margin:0;padding:12px 0;border-bottom:1px solid currentColor}.ms-prog dt{font-family:var(--d);font-style:italic;font-size:18px}
.ms-aff img{width:100%;max-width:520px;margin-left:auto;height:auto}
.ms-expo{display:flex;gap:14px;margin-top:clamp(40px,5vw,72px)}
.ms-expo figure{flex:var(--ar) 1 0;min-width:0}.ms-expo img{width:100%;height:auto}
/* maison */
.ms-btn{display:inline-block;background:var(--fg);color:var(--bg);text-decoration:none;font-weight:700;padding:13px 20px;margin-top:8px}
/* venir */
.ms-dist{border-top:1.5px solid currentColor;padding-top:22px}
.ms-dist-o{display:grid;grid-template-columns:30px 1fr;column-gap:14px;align-items:center;margin-bottom:18px}
.ms-sq{width:24px;height:24px;background:#f47355;grid-row:1/3}
.ms-dist-o b{font-family:var(--d);font-weight:400;font-size:34px;line-height:1}.ms-dist-o small{font-size:13px}
.ms-dist ul{list-style:none;margin:0;padding:0 0 0 11px;border-left:2.4px dashed currentColor}
.ms-dist li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:16px;padding:11px 0}
.ms-dist svg{width:100%;height:12px;display:block}
.ms-dist li span{font-size:14px}.ms-dist li b{font-family:var(--d);font-weight:400;font-size:25px;margin-right:6px}.ms-dist li small{display:block;font-size:12px;opacity:.8}
.ms-note{font-size:13px;margin:14px 0 0}
.ms-venir .ms-ph,#venir .ms-ph{margin-top:28px}
.ms-visit{margin-top:clamp(40px,5vw,64px)}
.ms-visit dl{margin:0;display:grid;grid-template-columns:170px 1fr;border-top:1.5px solid currentColor}
.ms-visit dt,.ms-visit dd{padding:12px 0;border-bottom:1px solid currentColor;margin:0}.ms-visit dt{font-family:var(--d);font-style:italic;font-size:18px}
/* partenaires */
.ms-pl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1.5px solid currentColor}
.ms-pl a{display:block;text-decoration:none;padding:18px 18px 18px 0}.ms-pl b{display:block;font-family:var(--d);font-weight:400;font-size:23px;line-height:1.1;margin-bottom:8px}.ms-pl span{font-size:13px}
.ms-thanks{font-family:var(--d);font-style:italic;font-size:clamp(24px,2.2vw,32px);margin:48px 0 0}
/* pied */
.ms-foot{background:var(--ink);color:var(--cream);padding:70px 0 90px}
.ms-foot .ms-in{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.ms-foot p{margin:0 0 16px}
@media(max-width:980px){.ms-2,.ms-hero,.ms-ch-h,.ms-foot .ms-in{grid-template-columns:1fr}.ms-hero-im{min-height:58vh}.ms-figs{grid-template-columns:1fr 1fr;row-gap:24px}.ms-index{grid-template-columns:1fr}.ms-pl{grid-template-columns:1fr 1fr}.ms-ed summary{grid-template-columns:90px 1fr}.ms-nb{display:none}.ms-ed-b{padding-left:0}.ms-ed-g{grid-template-columns:1fr}.ms-top nav a:not(.ms-cta){display:none}.ms-expo{flex-direction:column}.ms-pause .ms-in{align-items:flex-start}}
.ms-rail{padding-left:0}.ms-rail figure:first-child{margin-left:var(--g)}.ms-rail::after{content:"";flex:0 0 var(--g)}
.ms-rail{scroll-padding-left:var(--g)}
.ms-loc{font-family:"Noto Sans Tifinagh","Noto Naskh Arabic",var(--d);font-size:clamp(18px,1.6vw,24px);margin:10px 0 0;opacity:.85;letter-spacing:.02em}
.ms-people{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:clamp(48px,6vw,90px)}
.ms-people ul{list-style:none;margin:0;padding:0;border-top:1px solid currentColor}
.ms-people li{font-family:var(--d);font-size:22px;padding:10px 0;border-bottom:1px solid currentColor}
.ms-art-h{margin-top:0}
@media(max-width:980px){.ms-people{grid-template-columns:1fr}}
.ms-figs{grid-template-columns:repeat(5,1fr)}@media(max-width:980px){.ms-figs{grid-template-columns:1fr 1fr}}
ul.ms-people{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);column-gap:44px;row-gap:0;border-top:1px solid currentColor;margin:0 0 18px}
ul.ms-people li{font-family:var(--d);font-size:24px;padding:12px 0;border-bottom:1px solid currentColor}
.ms-names-n{margin-bottom:clamp(48px,6vw,90px)}
@media(max-width:980px){ul.ms-people{grid-template-columns:1fr}}
/* ouverture en vidéo, plein écran */
.ms-hero{position:relative;display:block;min-height:calc(100svh - 82px);overflow:hidden;background:#cfc6bb;border-bottom:0}
.ms-hero-v{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ms-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(59,45,91,0) 45%,rgba(59,45,91,.55))}
.ms-hero-tx{position:absolute;left:0;right:0;bottom:0;z-index:2;color:var(--cream);padding:var(--g);max-width:1100px}
.ms-hero h1{font-size:clamp(40px,5.6vw,96px)!important;color:var(--cream)}
.ms-hero-tx .ms-it{color:var(--cream)}
.ms-down{position:absolute;right:var(--g);bottom:var(--g);z-index:2;color:var(--cream);text-decoration:none;font-size:28px;width:54px;height:54px;border:1.5px solid var(--cream);display:flex;align-items:center;justify-content:center}
/* la frise des signes, qui défile lentement comme une bordure brodée */
.ms-frise{overflow:hidden;background:var(--ink);color:var(--cream);border-bottom:1.5px solid var(--ink)}
.ms-frise-t{display:flex;align-items:center;gap:34px;width:max-content;padding:14px 0;animation:ms-defile 70s linear infinite}
.ms-frise .ms-sign{width:44px;margin:0;flex:none}
.ms-frise span{font-family:"Noto Sans Tifinagh","Noto Naskh Arabic",var(--d);font-size:22px;white-space:nowrap}
.ms-frise:hover .ms-frise-t{animation-play-state:paused}
@keyframes ms-defile{to{transform:translateX(-50%)}}
/* frise des grottes : on la tire à la souris */
.ms-rail-w{display:flex;justify-content:flex-end;gap:8px;padding:0 var(--g) 14px}
.ms-rb{width:46px;height:46px;border:1.5px solid currentColor;background:transparent;color:inherit;font-size:20px;cursor:pointer}
.ms-rb:hover{background:var(--fg);color:var(--bg)}
.ms-rail{cursor:grab;scrollbar-width:none}.ms-rail::-webkit-scrollbar{display:none}.ms-rail.drag{cursor:grabbing}.ms-rail img{pointer-events:none;user-select:none}
/* en ce moment */
.ms-live{background:var(--bg);color:var(--fg);padding:clamp(70px,9vw,140px) 0}
.ms-live h2{font-size:clamp(36px,4.2vw,68px)}.ms-live h2 b{font-weight:400;font-style:italic}
.ms-win{position:relative;overflow:hidden;aspect-ratio:16/9;background:#000}
.ms-win video{width:100%;height:100%;object-fit:cover;display:block}
.ms-win figcaption{position:absolute;left:12px;bottom:10px;font-size:12px;color:#fff}
.ms-now{display:grid;grid-template-columns:130px 1fr;margin:30px 0 14px;border-top:1.5px solid currentColor}
.ms-now dt,.ms-now dd{margin:0;padding:13px 0;border-bottom:1px solid currentColor}.ms-now dt{font-family:var(--d);font-style:italic;font-size:19px}.ms-now dd{font-size:17px}
/* les fils des distances se tirent quand on arrive dessus */
.ms-dist svg path{transform:scaleX(0);transform-origin:0 50%;transform-box:fill-box;transition:transform 1.6s cubic-bezier(.3,.6,.3,1)}
.ms-dist.on svg path{transform:none}
.ms-dist svg circle{opacity:0;transition:opacity .4s 1.3s}.ms-dist.on svg circle{opacity:1}
@media(prefers-reduced-motion:reduce){.ms-frise-t{animation:none}.ms-dist svg path{transform:none;transition:none}.ms-dist svg circle{opacity:1}}
.ms-rail figure{height:auto;aspect-ratio:auto}.ms-rail img{height:clamp(260px,42vh,460px);width:auto}
