/* Noctua Tarot : ambiance vieille bibliothèque, lampe tamisée, rose poudré et laiton */
:root[data-theme="dark"]{
  --bg:#1c0e13;
  --head:28,14,19;
  --surface:#27141b;
  --ink:#f2e7d9;
  --muted:#bba899;
  --line:#5c2f38;
  --accent:#dc9aa3;
  --accent-ink:#2b0f16;
  --gold:#c9a45e;
  --card-a:#3a1922;
  --card-b:#0d0508;
  --mark:#4a3d12;
  --glow:255,172,96;
  --glow-a:.26;
  --font-display:"Cormorant Garamond","Bodoni Moda","Didot","Times New Roman",serif;
  color-scheme:dark;
}
/* lumière selon l'heure du visiteur : jour = clarté rosée, aube = pêche, soir = ambre, nuit = clair de lune */
:root[data-theme="dark"][data-tod="day"]{--glow:255,205,170;--glow-a:.30;--glow2:255,225,190;--glow2-a:.16}
:root[data-theme="dark"][data-tod="dawn"]{--glow:255,170,150;--glow-a:.34;--glow2:255,200,160;--glow2-a:.14}
:root[data-theme="dark"][data-tod="dusk"]{--glow:255,140,70;--glow-a:.40;--glow2:200,70,60;--glow2-a:.16}
:root[data-theme="dark"][data-tod="night"]{--glow:130,150,215;--glow-a:.26;--glow2:255,150,80;--glow2-a:.10}

/* halo de lampe + bords assombris, fixes derrière le contenu */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse 75% 55% at 50% -10%, rgba(var(--glow),var(--glow-a)), transparent 72%),
    radial-gradient(ellipse 60% 45% at 8% 100%, rgba(var(--glow2,255,150,80),var(--glow2-a,.10)), transparent 70%),
    radial-gradient(ellipse 120% 90% at 50% 40%, transparent 55%, rgba(0,0,0,.55) 100%);
}
/* fin grain de papier / velours */
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.08;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .9  0 0 0 0 .8  0 0 0 .6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* en-tête translucide */
.site-head{background:rgba(var(--head),.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}

/* titres : plus d'allure, légère lueur de bougie */
.hero h1{font-size:clamp(3.2rem,9vw,6rem);font-weight:400}
.sec-head h2{font-size:clamp(2.1rem,5vw,3.1rem)}
.up-name{font-size:clamp(2.7rem,7.5vw,4.8rem)}
.hero h1,.up-name,.thanks h1,.doc h1{text-shadow:0 0 40px rgba(var(--glow),.22)}

/* petit ornement devant les sur-titres */
.eyebrow::before{content:"\2726";margin-right:.65em;opacity:.85}

/* cadres de vitrine : double filet laiton */
.panel,.guide,.doc .box{
  border:1px solid rgba(201,164,94,.5);border-radius:2px;
  outline:1px solid rgba(201,164,94,.22);outline-offset:-6px;
}
.panel{background:var(--surface)}

/* cartes : ombre chaude */
.tcard,.mystery{box-shadow:0 22px 46px rgba(0,0,0,.55),0 0 60px rgba(var(--glow),.10)}

/* boutons */
.btn{box-shadow:0 0 0 1px rgba(201,164,94,.45)}
.btn:hover{filter:brightness(1.1)}
select,.qty{background:#150a0d}

/* illustrations (v13) */
.orn{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding-block:clamp(2rem,5vw,3.5rem) 0}
.orn::before,.orn::after{content:"";flex:1;max-width:260px;height:1px;background:linear-gradient(90deg,transparent,rgba(201,164,94,.55))}
.orn::after{transform:scaleX(-1)}
.orn img{width:clamp(110px,16vw,170px);height:auto;filter:drop-shadow(0 0 28px rgba(var(--glow),.25))}

.about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}
.about-photo{margin:0;border:1px solid rgba(201,164,94,.5);outline:1px solid rgba(201,164,94,.22);outline-offset:-7px;padding:10px;background:var(--surface);max-width:380px}
.about-photo img{display:block;width:100%;height:auto}
.about-text{min-width:0}
@media (max-width:760px){.about{grid-template-columns:1fr}.about-photo{max-width:320px;margin-inline:auto}}

/* Carte "Prochainement" suspendue à un fil, tenu par la main */
.mystery-wrap{display:block}
.mystery-hang{position:relative;width:min(100%,280px);padding-top:62px}
.mystery-hand{position:absolute;top:0;left:calc(50% - 39px);width:200px;height:auto;z-index:2;opacity:.95;filter:drop-shadow(0 0 18px rgba(var(--glow),.18))}
.mystery-dangle{position:relative;padding-top:93px;transform-origin:50% 0;animation:mysterySway 9s ease-in-out infinite}
.mystery-thread{position:absolute;top:-3px;left:50%;width:1px;height:96px;background:linear-gradient(180deg,rgba(220,154,163,.9),rgba(201,164,94,.55));box-shadow:0 0 6px rgba(var(--glow),.25)}
.mystery-thread::after{content:"";position:absolute;bottom:-2px;left:-2px;width:5px;height:5px;border-radius:50%;background:var(--gold)}
@keyframes mysterySway{0%,100%{transform:rotate(-1.3deg)}50%{transform:rotate(1.3deg)}}
@media (prefers-reduced-motion:reduce){.mystery-dangle{animation:none}}
.mystery-wrap .mystery-note{margin-top:1.25rem}

/* Bouton d'ambiance sonore (désactivé par défaut) */
.music{position:fixed;right:16px;bottom:16px;z-index:50;width:44px;height:44px;border-radius:50%;border:1px solid rgba(201,164,94,.6);background:rgba(31,14,19,.88);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.45);transition:color .2s,border-color .2s,background .2s}
.music[hidden]{display:none}
.music:hover,.music:focus-visible{color:var(--accent);border-color:var(--accent)}
.music[aria-pressed="true"]{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}
.music .music-off{opacity:1}
.music[aria-pressed="true"] .music-off{opacity:0}

.contact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.contact-owl{width:clamp(130px,20vw,230px);height:auto;opacity:.92;filter:drop-shadow(0 0 30px rgba(var(--glow),.18))}
@media (max-width:620px){.contact{grid-template-columns:1fr}.contact-owl{width:150px;margin-inline:auto}}


/* ---------- Ampoule à ficelle (v16) ---------- */
body{transition:background-color .7s ease}
:root[data-theme="dark"][data-lamp="on"]{
  --bg:#321a21;--head:50,26,33;--surface:#3f212a;--line:#7a4650;--card-a:#4a2530;
  --muted:#d0bdae;--glow:255,205,135;--glow-a:.40
}
.lamp-glow{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .8s ease;
  background:
    radial-gradient(ellipse 150px 135px at var(--lx,94%) var(--ly,150px), rgba(255,228,168,.34), rgba(255,190,110,.13) 60%, transparent 100%),
    radial-gradient(ellipse 700px 560px at var(--lx,94%) calc(var(--ly,150px) + 70px), rgba(255,190,120,.24), transparent 72%),
    radial-gradient(ellipse 100% 70% at 50% 0, rgba(255,196,130,.10), transparent 75%);
  /* rien au-dessus du verre : le culot reste dans l'ombre */
  -webkit-mask-image:linear-gradient(180deg,transparent 0,transparent calc(var(--ly,150px) - 34px),#000 calc(var(--ly,150px) + 16px));
  mask-image:linear-gradient(180deg,transparent 0,transparent calc(var(--ly,150px) - 34px),#000 calc(var(--ly,150px) + 16px))}
:root[data-lamp="on"] .lamp-glow{opacity:1}

.lamp{position:absolute;top:100%;right:max(10px,calc((100vw - 1100px)/2 - 71px));z-index:30;
  width:71px;height:127px;padding:0;margin:0;border:0;background:none;cursor:pointer;
  transform-origin:24px 0;animation:lampSway 6.5s ease-in-out infinite;-webkit-tap-highlight-color:transparent}
.lamp svg{display:block;overflow:visible}
.lamp .bulb{fill:rgba(150,120,90,.14);transition:fill .5s,filter .5s}
.lamp .fil{stroke:#8a6e4a;transition:stroke .5s,filter .5s}
.lamp .shine{transition:stroke-opacity .5s}
.lamp[aria-pressed="true"] .bulb{fill:rgba(255,205,120,.45);filter:drop-shadow(0 0 10px rgba(255,200,110,.85)) drop-shadow(0 0 26px rgba(255,170,80,.6))}
.lamp[aria-pressed="true"] .fil{stroke:#ffd27a;filter:drop-shadow(0 0 3px #ff9d2e)}
.lamp .cord{transition:transform .18s ease}
.lamp.pulled .cord{animation:cordPull .38s ease}
.lamp:hover .cord,.lamp:focus-visible .cord{transform:translateY(3px)}
.lamp:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}
.lamp-hint{position:absolute;top:92px;right:56px;white-space:nowrap;font:italic .95rem/1 var(--font-display);color:var(--gold);
  opacity:.9;pointer-events:none;animation:hintFade 1s ease 7s forwards}
.lamp.used .lamp-hint{display:none}
@keyframes lampSway{0%,100%{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}
@keyframes cordPull{0%{transform:translateY(0)}35%{transform:translateY(12px)}100%{transform:translateY(0)}}
@keyframes hintFade{to{opacity:0}}
@media (prefers-reduced-motion:reduce){.lamp{animation:none}.lamp.pulled .cord{animation:none}.lamp-hint{animation:none}}
@media (max-width:620px){.lamp{right:6px;transform:scale(.82);transform-origin:24px 0}.lamp-hint{display:none}}

/* pas de défilement horizontal causé par les cartes inclinées */
html{overflow-x:clip}

/* photos d'ambiance (v20) */
.ph{margin:0;border:1px solid rgba(201,164,94,.5);outline:1px solid rgba(201,164,94,.22);outline-offset:-7px;padding:10px;background:var(--surface);box-shadow:0 22px 46px rgba(0,0,0,.5)}
.ph img{display:block;width:100%;height:auto}
.ph-wide{margin:clamp(1.8rem,4vw,2.8rem) auto 0;max-width:340px}
.ph-contact{width:clamp(180px,26vw,290px);justify-self:end;margin-top:90px;margin-right:clamp(0px,3vw,40px)}
@media (max-width:620px){.ph-contact{justify-self:center;width:230px;margin:0}}

/* ampoule photographique (v22) */
.lamp svg{position:absolute;left:0;top:0}
.lamp .bulb-img{position:absolute;top:0;left:5px;width:38px;height:auto;pointer-events:none;transition:opacity .45s ease,filter .45s ease}
.lamp .bulb-on{opacity:0}
.lamp[aria-pressed="true"] .bulb-on{opacity:1}
/* lueur : naît du filament, se diffuse par le verre vers l'avant ; le culot n'est jamais éclairé */
.lamp::before{content:"";position:absolute;left:-76px;top:-6px;width:200px;height:230px;z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s ease;
  background:radial-gradient(ellipse 46px 58px at 100px 84px, rgba(255,222,150,.60), rgba(255,172,84,.24) 58%, transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,transparent 46px,#000 70px);
  mask-image:linear-gradient(180deg,transparent 0,transparent 46px,#000 70px)}
.lamp[aria-pressed="true"]::before{opacity:1}
.lamp[aria-pressed="true"] .bulb-off{opacity:0}


/* ---------- Page No Rain No Flowers (v25) ---------- */
.nr-hero{display:grid;margin-bottom:clamp(.5rem,2vw,1.5rem)}
.nr-hero>*{grid-area:1/1}
.nr-hero-img{margin:0;position:relative;overflow:hidden;max-height:76vh;background:#0e0709}
.nr-hero-img img{display:block;width:100%;height:auto;min-height:320px;max-height:76vh;object-fit:cover;object-position:50% 28%;filter:brightness(.88) saturate(.92)}
.nr-hero-img::after{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(16,7,11,.45) 0,transparent 26%,rgba(16,7,11,.5) 60%,var(--bg) 100%),
  radial-gradient(ellipse 120% 95% at 50% 45%,transparent 48%,rgba(10,4,7,.55) 100%)}
.nr-hero-text{position:relative;z-index:1;align-self:end;width:min(100%,1080px);margin-inline:auto;padding:0 16px clamp(1.2rem,4vw,3rem);display:flex;flex-direction:column;align-items:flex-start;gap:.7rem}
.nr-hero-text .up-lead{max-width:36ch;color:var(--ink);text-shadow:0 2px 18px rgba(0,0,0,.7)}
.nr-hero-text .up-name{text-shadow:0 2px 24px rgba(0,0,0,.75),0 0 46px rgba(var(--glow),.22)}
@media (max-width:620px){
  .nr-hero{display:block}
  .nr-hero-img img{min-height:0;max-height:none;aspect-ratio:4/3}
  .nr-hero-text{margin-top:-2.2rem;padding-bottom:1rem}
}
.nr-intro{padding-block:clamp(1rem,3vw,2rem) clamp(.5rem,2vw,1rem)}
.nr-intro-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}
@media (min-width:820px){.nr-intro-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start}}
.nr-intro .up-kick{font-size:1.15rem;max-width:46ch;margin-bottom:.7rem}

.nr-cols{list-style:none;margin:0;padding:0;column-gap:clamp(.8rem,2vw,1.4rem)}
.nr-cols.c2{columns:2}
.nr-cols.c3{columns:3}
.nr-cols li{break-inside:avoid;margin:0 0 clamp(.8rem,2vw,1.4rem)}
@media (max-width:760px){.nr-cols.c3{columns:2}}
@media (max-width:520px){.nr-cols.c2{columns:1}}
.nr-fig{position:relative;display:block;width:100%;margin:0;padding:0;border:1px solid rgba(201,164,94,.4);border-radius:2px;background:#0e0709;overflow:hidden;cursor:zoom-in;box-shadow:0 18px 38px rgba(0,0,0,.55)}
.nr-fig img{display:block;width:100%;height:auto;filter:brightness(.9) saturate(.93);transition:filter .6s ease,transform .9s ease}
.nr-fig::after{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(ellipse 88% 82% at 50% 46%,transparent 55%,rgba(16,6,10,.5) 100%),
  linear-gradient(180deg,rgba(255,170,100,.05),transparent 45%)}
.nr-fig:hover img,.nr-fig:focus-visible img{filter:brightness(1.03) saturate(1);transform:scale(1.03)}
.nr-fig:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* quand on allume la lampe, les photos reçoivent un peu de sa lumière */
:root[data-lamp="on"] .nr-fig img{filter:brightness(1) saturate(1)}
:root[data-lamp="on"] .nr-hero-img img{filter:brightness(1) saturate(.98)}
.nr-end{text-align:left}
.nr-end .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;border-top:2px solid var(--gold);padding-top:1.5rem}
.nr-end-p{margin:0;font-family:var(--font-display);font-size:1.5rem;font-style:italic}

/* apparition douce (seulement si le navigateur sait l'observer) */
.rv-on .nr-fig,.rv-on .nr-hero-text{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s ease}
.rv-on .nr-fig.in,.rv-on .nr-hero-text.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.nr-fig img{transition:none}}

/* visionneuse */
.lb{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;background:rgba(14,6,9,.95);padding:3.5rem 1rem 1.2rem}
.lb.open{display:flex}
.lb img{display:block;max-width:min(96vw,1500px);max-height:calc(100vh - 5.2rem);width:auto;height:auto;border:1px solid rgba(201,164,94,.5);box-shadow:0 30px 80px rgba(0,0,0,.7)}
.lb button{position:absolute;display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(201,164,94,.6);background:rgba(31,14,19,.88);color:var(--gold);font:300 1.9rem/1 var(--font-display);cursor:pointer;padding:0 0 .15em}
.lb button:hover,.lb button:focus-visible{color:var(--accent);border-color:var(--accent)}
.lb-x{top:12px;right:14px}
.lb-n{top:50%;transform:translateY(-50%)}
.lb-prev{left:12px}.lb-next{right:12px}
@media (max-width:620px){.lb-n{top:auto;bottom:14px;transform:none}.lb-prev{left:calc(50% - 56px)}.lb-next{right:calc(50% - 56px)}}

/* v26 : cinq onglets + langue sur mobile, section "À venir" resserrée */
@media (max-width:560px){
  .site-head .nav{flex-wrap:wrap;justify-content:flex-start;gap:.35rem 1.1rem}
  .site-head .nav a.link{white-space:nowrap}
}
#view-upcoming .mystery-wrap{margin-top:0;border-top:0;padding-top:0}

/* Interview (À propos) */
.itv{max-width:44rem;margin:0 auto}
.itv h3{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;color:var(--gold,#c9a45e);font-size:clamp(1.15rem,2.4vw,1.4rem);margin:2.4rem 0 .6rem;line-height:1.3}
.itv h3:first-child{margin-top:0}
.itv p{margin:0 0 1rem;line-height:1.75;color:var(--text,#ecdcd8)}
.itv-block .sec-head{max-width:44rem;margin-left:auto;margin-right:auto}

.itv-row{display:grid;grid-template-columns:minmax(0,13rem) 1fr;gap:1.6rem 2rem;align-items:start;margin-top:2.4rem}
.itv-row h3{margin-top:0}
.itv-card{margin:0}
.itv-card img{display:block;width:100%;height:auto;border-radius:6px;border:1px solid var(--line,#5c2f38);box-shadow:0 14px 34px rgba(0,0,0,.5)}
@media (max-width:560px){.itv-row{grid-template-columns:1fr}.itv-card{max-width:13rem;margin:0 auto}}

/* Message à l'encre, écrit lettre à lettre à côté de la chaînette quand on allume */
.ink-note{position:fixed;z-index:60;pointer-events:none;text-align:left;width:7.4rem;
  font-family:"Homemade Apple","Segoe Script","Brush Script MT",cursive;font-weight:400;font-size:.9rem;line-height:1.7;color:#c9a45e;
  text-shadow:0 0 6px #1c0e13,0 0 12px #1c0e13,0 0 3px #1c0e13;transition:opacity 1.6s ease}
.ink-note.l{text-align:right}
.ink-note.out{opacity:0}
.ink-note .w{display:inline-block;white-space:nowrap}
.ink-note .w span{display:inline-block;opacity:0;filter:blur(4px);color:#f0d9a0;transform:scale(1.15);animation:inkIn .9s ease forwards}
@keyframes inkIn{0%{opacity:0;filter:blur(4px);color:#f0d9a0}35%{opacity:1;filter:blur(1.2px)}100%{opacity:1;filter:blur(0);color:#c9a45e;transform:none}}
@media (prefers-reduced-motion:reduce){.ink-note .w span{animation-duration:.01s;animation-delay:0s!important}}

.itv-list{margin:0 0 1rem;padding-left:1.2rem;line-height:1.75;color:var(--text,#ecdcd8)}
.itv-list li{margin:0 0 .4rem}
.itv-list li::marker{color:var(--gold,#c9a45e)}

/* Galerie Persephone : rangées assorties à l'orientation des photos */
.ps-group{display:grid;gap:clamp(.8rem,2vw,1.4rem)}
.ps-row{list-style:none;margin:0;padding:0;display:flex;gap:clamp(.8rem,2vw,1.4rem);align-items:flex-start}
.ps-row li{margin:0;flex:var(--r,1) 1 0;min-width:0}
.ps-row .nr-fig{display:block;width:100%}
.ps-row .nr-fig img{display:block;width:100%;height:auto}
@media (max-width:560px){.ps-row.ps-land{flex-direction:column}.ps-row.ps-land li{flex:none;width:100%}}
