:root {
  /* === NOUVELLE PALETTE CRÈME (activée au commit 2) === */
  --cream-paper:      #f2ede2;
  --cream-paper-2:    #e8e2d3;
  --cream-ink:        #1a1a1a;
  --cream-ink-soft:   #2a2a2a;
  --cream-mute:       #4a4640;
  --cream-mute-light: #6a655e;
  --cream-rule-soft:  #b8b0a0;
  --cream-accent:     #8a6a1c;
  --cream-accent-dk:  #6a4f0e;
}
:root{--bg:#f2ede2;--bg2:#e8e2d3;--bg3:#dfd7c5;--bgc:#f2ede2;--bgo:#e8e2d3;--t1:#1a1a1a;--t2:#2a2a2a;--tm:#4a4640;--ac:#8a6a1c;--ach:#6a4f0e;--go:#8a6a1c;--gl:#a8832a;--fe:#b85a7a;--bd:rgba(26,26,26,0.15);--bda:rgba(26,26,26,0.35);}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Josefin Sans',sans-serif;background:var(--bg);color:var(--t1);font-size:17px;line-height:1.7;transition:background 0.3s,color 0.3s;}

@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
.hidden{opacity:0.15;pointer-events:none;}

.tab:hover{color:var(--t1);}
.tab.active{color:var(--ac);border-bottom-color:var(--ac);}
/* === MASTHEAD === */
.masthead {
  border-bottom: 2px solid var(--t1);
  padding: 1rem 2.5rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: baseline;
  gap: 2rem;
  background: var(--bg);
}
.masthead-left, .masthead-right {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--tm);
  font-weight: 600;
}
.masthead-right { text-align: right; }
.masthead-logo {
  font-family: 'Poiret One', serif;
  font-size: 2rem;
  letter-spacing: 0.25em;
  color: var(--t1);
  text-align: center;
  line-height: 1;
}
.masthead-right a {
  color: var(--tm);
  text-decoration: none;
  margin-left: 2rem;
  transition: color 0.15s;
}
.masthead-right a:hover { color: var(--ac); }

.sub-masthead {
  border-bottom: 1px solid var(--t1);
  padding: 0.7rem 2.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Inter', sans-serif;
  font-size: 0.66rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--tm);
  font-weight: 600;
  background: var(--bg);
  position: relative;
}
.search-field {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--t1);
  padding: 0.2rem 0;
  font-family: 'Cormorant Garamond', serif;
  font-size: 0.95rem;
  font-style: italic;
  color: var(--t1);
  width: 280px;
  outline: none;
}
.search-field::placeholder { color: var(--tm); font-style: italic; }

/* === HERO === */
.hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  border-bottom: 2px solid var(--t1);
  min-height: 560px;
  background: var(--bg);
}
.hero-text {
  padding: 5rem 4rem 4rem;
  border-right: 1px solid var(--t1);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero-date {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--tm);
  font-weight: 600;
  margin-bottom: 2.5rem;
  display: flex;
  align-items: center;
}
.hero-date::before {
  content: '';
  display: inline-block;
  width: 40px;
  height: 1px;
  background: var(--t1);
  margin-right: 1rem;
}
.hero-title {
  font-family: 'Poiret One', serif;
  font-weight: 400;
  font-size: clamp(3.5rem, 6.5vw, 5.5rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
  color: var(--t1);
  margin-bottom: 2rem;
}
.hero-title em {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 400;
  color: var(--ac);
}
.hero-lede {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.22rem;
  line-height: 1.55;
  color: var(--t2);
  max-width: 520px;
  margin-bottom: 2.5rem;
  font-weight: 400;
}
.hero-lede strong { font-weight: 600; color: var(--t1); }
.hero-cta {
  display: inline-block;
  padding: 1rem 0;
  border: none;
  background: none;
  border-top: 1px solid var(--t1);
  border-bottom: 1px solid var(--t1);
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--t1);
  cursor: pointer;
  transition: all 0.2s;
  width: 100%;
  max-width: 360px;
  text-align: left;
  position: relative;
  padding-left: 0;
  text-decoration: none;
}
.hero-cta::after {
  content: '→';
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.1rem;
  transition: transform 0.2s;
}
.hero-cta:hover { background: var(--t1); color: var(--bg); padding-left: 1rem; }
.hero-cta:hover::after { transform: translateY(-50%) translateX(5px); padding-right: 0.5rem; }

.hero-image {
  position: relative;
  overflow: hidden;
  background: var(--t1);
}
.hero-image-inner {
  position: absolute;
  inset: 0;
  background: url('../images/hero-palau.jpg') center 35% / cover no-repeat;
  filter: grayscale(1) contrast(1.15) brightness(0.95);
  mix-blend-mode: luminosity;
}
.hero-image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--bg);
  mix-blend-mode: multiply;
  opacity: 0.08;
  pointer-events: none;
}
.hero-caption {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  font-family: 'Inter', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--bg);
  background: rgba(26,26,26,0.55);
  padding: 0.7rem 1rem;
  border-left: 2px solid var(--ac);
  font-weight: 600;
}
.hero-caption em {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  text-transform: none;
  letter-spacing: 0.03em;
  font-size: 0.88rem;
  opacity: 0.92;
  font-weight: 400;
}

/* === STATS BAR === */
.stats-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 2px solid var(--t1);
  background: var(--bg);
}
.stat-cell {
  padding: 2rem 2.5rem;
  border-right: 1px solid var(--t1);
}
.stat-cell:last-child { border-right: none; }
.stat-num {
  font-family: 'Poiret One', serif;
  font-size: 3rem;
  font-weight: 400;
  color: var(--t1);
  line-height: 1;
  margin-bottom: 0.5rem;
  display: block;
}
.stat-num.accent { color: var(--ac); }
.stat-lbl {
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--tm);
  font-weight: 600;
  line-height: 1.4;
}

/* === NAV PARENT === */
.nav-parent-bar {
  display: flex;
  justify-content: center;
  background: var(--bg);
  border-bottom: 1px solid var(--t1);
  overflow-x: auto;
}
.nav-parent {
  background: none;
  border: none;
  color: var(--tm);
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  padding: 1.6rem 2.5rem;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s;
  font-weight: 600;
  position: relative;
  border-right: 1px solid var(--bd);
}
.nav-parent:last-child { border-right: none; }
.nav-parent:hover { color: var(--t1); background: var(--bg2); }
.nav-parent.active {
  color: var(--t1);
  font-weight: 700;
  background: var(--bg2);
}
.nav-parent.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--t1);
}

/* === NAV CHILD === */
#navChild {
  display: flex;
  justify-content: center;
  background: var(--bg2);
  border-bottom: 2px solid var(--t1);
  padding: 0.3rem 0;
}
.nav-child {
  background: none;
  border: none;
  color: var(--tm);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  font-style: italic;
  padding: 0.7rem 1.8rem;
  cursor: pointer;
  white-space: nowrap;
  transition: color 0.15s;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.nav-child:hover { color: var(--t1); }
.nav-child.active {
  color: var(--ac);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.sec{padding:4rem 2rem;}
.sec-in{max-width:1100px;margin:0 auto;}
.sec-ey{display:flex;align-items:center;gap:0.8rem;margin-bottom:1rem;}
.sec-ey-l{width:30px;height:1px;background:var(--ac);opacity:0.5;}
.sec-ey-t{font-size:0.7rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--ac);}
.sec-title{font-family:'Poiret One',serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.8rem;}
.sec-sub{font-size:0.95rem;color:var(--t2);max-width:620px;line-height:1.9;font-weight:300;}
.ai-banner{background:linear-gradient(135deg,rgba(122,184,216,0.09),rgba(212,138,170,0.06));border:1px solid var(--bd);padding:2rem;margin:2rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;}
.ai-f-title{font-size:0.8rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ac);font-weight:600;margin:0.4rem 0;}
.ai-f-desc{font-size:0.88rem;color:var(--t2);line-height:1.7;font-weight:300;}
.filters{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.4rem;align-items:center;}
.fbtn{background:transparent;border:1px solid var(--bd);color:var(--t2);font-family:'Josefin Sans',sans-serif;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.4rem 1rem;cursor:pointer;transition:all 0.2s;}
.fbtn:hover{border-color:var(--ac);color:var(--t1);}
.fbtn.on{background:var(--ac);color:#07111c;border-color:var(--ac);font-weight:600;}
.fbtn.f-on{background:var(--fe);color:white;border-color:var(--fe);}
.search{background:var(--bgc);border:1px solid var(--bd);color:var(--t1);font-family:'Josefin Sans',sans-serif;font-size:0.88rem;padding:0.45rem 1rem;width:220px;outline:none;transition:border-color 0.2s;}
.search:focus{border-color:var(--ac);}
.search::placeholder{color:var(--tm);}
.tray{background:var(--bgc);border:1px solid var(--bd);padding:1rem 1.4rem;margin-bottom:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;min-height:52px;}
.tray-chips{display:flex;gap:0.5rem;flex-wrap:wrap;flex:1;align-items:center;}
.tray-empty{font-size:0.82rem;color:var(--tm);font-style:italic;}
.chip{background:rgba(122,184,216,0.15);border:1px solid var(--bda);color:var(--ac);font-size:0.78rem;letter-spacing:0.06em;padding:0.3rem 0.8rem;display:flex;align-items:center;gap:0.4rem;}
.chip.f{background:rgba(212,138,170,0.15);border-color:var(--fe);color:var(--fe);}
.chip-x{cursor:pointer;opacity:0.7;font-size:0.9rem;}
.chip-x:hover{opacity:1;}
.tray-hint{font-size:0.75rem;color:var(--tm);letter-spacing:0.08em;white-space:nowrap;}
.gstatus{font-size:0.75rem;color:var(--tm);letter-spacing:0.08em;margin-bottom:1rem;text-transform:uppercase;}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:0.8rem;margin-bottom:2rem;max-height:540px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--bd) transparent;}
.ccard{background:var(--bgc);border:1px solid var(--bd);padding:1rem;cursor:pointer;transition:all 0.2s;position:relative;user-select:none;}
.ccard:hover{border-color:var(--bda);background:var(--bg3);}
.ccard.sel{border-color:var(--ac);background:rgba(122,184,216,0.1);}
.ccard.emerging{border-left:3px solid var(--ac);}
.ccard.fem{border-left:3px solid var(--fe);}
.ccard.sel.fem{border-color:var(--fe);background:rgba(212,138,170,0.1);}
.ccheck{position:absolute;top:0.5rem;right:0.5rem;width:18px;height:18px;background:var(--ac);color:#07111c;font-size:0.65rem;font-weight:700;display:none;align-items:center;justify-content:center;}
.ccard.sel .ccheck{display:flex;}
.ccard.sel.fem .ccheck{background:var(--fe);}
.cname{font-size:0.9rem;font-weight:600;line-height:1.35;margin-bottom:0.3rem;color:var(--t1);}
.cdates{font-size:0.75rem;color:var(--tm);margin-bottom:0.4rem;}
.ctags{display:flex;flex-wrap:wrap;gap:0.25rem;}
.ctag{font-size:0.62rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.1rem 0.4rem;border:1px solid;}
.ct-p{border-color:var(--bd);color:var(--tm);}
.ct-r{border-color:var(--go);color:var(--go);}
.ct-f{border-color:var(--fe);color:var(--fe);}
.rec-btn{display:flex;align-items:center;gap:0.8rem;background:var(--ac);color:#07111c;border:none;font-family:'Poiret One',serif;font-size:1.2rem;letter-spacing:0.15em;text-transform:uppercase;padding:1.1rem 3rem;cursor:pointer;transition:all 0.2s;margin:0 auto 2rem;}
.rec-btn:hover:not(:disabled){background:var(--ach);transform:translateY(-1px);box-shadow:0 8px 30px rgba(122,184,216,0.3);}
.rec-btn:disabled{opacity:0.3;cursor:not-allowed;}
#results{display:none;}
#results.vis{display:block;}
.res-actions{display:flex;gap:1rem;margin:1.5rem 0;flex-wrap:wrap;align-items:center;}
.action-btn{background:transparent;border:1px solid var(--bd);color:var(--t2);font-family:'Josefin Sans',sans-serif;font-size:0.75rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.65rem 1.3rem;cursor:pointer;transition:all 0.2s;}
.action-btn:hover{border-color:var(--ac);color:var(--t1);}
.action-btn:disabled{opacity:0.5;cursor:not-allowed;}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:2rem;}
@media(max-width:640px){.rgrid{grid-template-columns:1fr;}}
.rcol-label{font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--tm);margin-bottom:1.2rem;padding-bottom:0.6rem;border-bottom:1px solid var(--bd);}
.rcol-label em{color:var(--fe);font-style:normal;font-weight:700;}
.rcard{background:var(--bgc);border:1px solid var(--bd);padding:1.3rem 1.4rem;margin-bottom:0.9rem;transition:all 0.2s;cursor:pointer;}
.rcard:hover{border-color:var(--bda);box-shadow:0 2px 20px rgba(0,0,0,0.25);transform:translateY(-1px);}
.rcard.fem{border-left:3px solid var(--fe);}
.rrank{font-family:'Poiret One',serif;font-size:1.7rem;color:var(--go);float:left;margin-right:1rem;line-height:1;}
.rname{font-size:1rem;font-weight:700;margin-bottom:0.25rem;line-height:1.3;color:var(--t1);}
.rmeta{font-size:0.75rem;color:var(--tm);clear:both;margin-bottom:0.5rem;}
.rdesc{font-size:0.9rem;color:var(--t2);line-height:1.8;font-weight:300;margin:0.6rem 0;font-family:'Cormorant Garamond',serif;}
.rworks{font-size:0.78rem;color:var(--tm);margin-bottom:0.7rem;}
.rlinks{display:flex;gap:0.5rem;flex-wrap:wrap;}
.rl{font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.3rem 0.75rem;border:1px solid;text-decoration:none;transition:all 0.2s;display:inline-block;}
.rl-c{border-color:rgba(200,160,64,0.5);color:var(--go);}
.rl-c:hover{background:var(--go);color:#07111c;}
.rl-p{border-color:var(--bda);color:var(--ac);}
.rl-p:hover{background:var(--ac);color:#07111c;}
.rl-y{border-color:var(--bd);color:var(--tm);}
.rl-y:hover{background:var(--tm);color:var(--bg);}
.ai-box{background:linear-gradient(135deg,rgba(122,184,216,0.07),rgba(27,42,58,0));border:1px solid var(--bd);padding:2rem;margin:2rem 0;}
.ai-box-hd{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;}
.ai-badge{background:rgba(122,184,216,0.15);border:1px solid var(--bda);color:var(--ac);font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;padding:0.25rem 0.7rem;}
.ai-box-title{font-family:'Poiret One',serif;font-size:1.15rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--t1);}
.ai-text{font-family:'Cormorant Garamond',serif;font-size:1.08rem;color:var(--t2);line-height:2;font-weight:300;}
.ai-text p{margin-bottom:1.1rem;}
.ai-loading{display:flex;align-items:center;gap:0.8rem;font-size:0.82rem;color:var(--tm);letter-spacing:0.1em;}
.dots span{display:inline-block;width:5px;height:5px;background:var(--ac);border-radius:50%;animation:pulse 1.2s ease-in-out infinite;}
.dots span:nth-child(2){animation-delay:0.2s;}
.dots span:nth-child(3){animation-delay:0.4s;}
@keyframes pulse{0%,80%,100%{opacity:0.2}40%{opacity:1}}
.detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:300;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.detail-panel{position:fixed;top:0;right:0;height:100%;width:min(500px,100%);background:var(--bg2);border-left:1px solid var(--bd);z-index:301;transform:translateX(100%);transition:transform 0.35s ease;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:2.5rem;pointer-events:none;}
.detail-panel.open{transform:translateX(0);pointer-events:auto;}
.detail-close{position:absolute;top:1.2rem;right:1.2rem;background:transparent;border:1px solid var(--bd);color:var(--t2);width:34px;height:34px;cursor:pointer;font-size:1.1rem;transition:all 0.2s;display:flex;align-items:center;justify-content:center;}
.detail-close:hover{border-color:var(--ac);color:var(--ac);}
.detail-name{font-family:'Poiret One',serif;font-size:1.7rem;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.4rem;margin-right:2.5rem;color:var(--t1);}
.detail-meta{font-size:0.8rem;color:var(--tm);letter-spacing:0.06em;margin-bottom:0.9rem;}
.detail-badge{display:inline-block;border:1px solid var(--go);color:var(--go);font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.2rem 0.6rem;margin-bottom:1.2rem;}
.detail-desc{font-family:'Cormorant Garamond',serif;font-size:1.08rem;color:var(--t2);line-height:1.9;margin-bottom:1.4rem;}
.detail-works-title{font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--ac);margin-bottom:0.6rem;}
.detail-works{margin-bottom:1.4rem;}
.detail-work{font-size:0.88rem;color:var(--t2);margin-bottom:0.4rem;font-weight:300;}
.detail-links{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.2rem;}
.detail-ask-btn{width:100%;background:rgba(122,184,216,0.1);border:1px solid var(--bda);color:var(--ac);font-family:'Josefin Sans',sans-serif;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.9rem;cursor:pointer;transition:all 0.2s;margin-top:0.5rem;}
.detail-ask-btn:hover{background:rgba(122,184,216,0.2);}
.chat-box{background:#ffffff;border:1px solid #cccccc;margin:2rem 0;}
.chat-hd{background:#1a2a3a;border-bottom:1px solid #cccccc;padding:1.1rem 1.5rem;display:flex;align-items:center;gap:1rem;}
.chat-hd-title{font-family:'Poiret One',serif;font-size:1rem;letter-spacing:0.2em;text-transform:uppercase;color:#f0e8d4;}
.chat-msgs{padding:1.5rem;background:#ffffff;min-height:220px;max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:1.2rem;scrollbar-width:thin;}
.msg{display:flex;gap:0.9rem;max-width:88%;}
.msg.u{align-self:flex-end;flex-direction:row-reverse;}
.msg-av{width:32px;height:32px;background:#1a2a3a;border:none;display:flex;align-items:center;justify-content:center;font-size:0.78rem;flex-shrink:0;color:#f0e8d4;font-weight:700;}
.msg.u .msg-av{background:#7ab8d8;color:#07111c;font-weight:700;}
.msg-bub{background:#ffffff;border:1px solid #cccccc;border-left:4px solid #7ab8d8;padding:1rem 1.3rem;font-size:1rem;line-height:1.9;color:#111111;font-weight:400;font-family:'Cormorant Garamond',serif;}
.msg.u .msg-bub{background:#e8f4fc;border:1px solid #7ab8d8;border-left:none;border-right:4px solid #7ab8d8;color:#111111;font-family:'Josefin Sans',sans-serif;font-size:0.92rem;font-weight:500;}
.chat-sugs{padding:0.9rem 1.4rem;background:#f5f5f5;border-top:1px solid #cccccc;display:flex;gap:0.5rem;flex-wrap:wrap;}
.sug{background:#ffffff;border:1px solid #bbbbbb;color:#222222;font-family:'Josefin Sans',sans-serif;font-size:0.72rem;letter-spacing:0.05em;padding:0.35rem 0.8rem;cursor:pointer;transition:all 0.2s;}
.sug:hover{border-color:#7ab8d8;color:#0a1a2a;background:#e8f4fc;}
.chat-row{border-top:1px solid #cccccc;background:#ffffff;display:flex;}
.chat-in{flex:1;background:transparent;border:none;color:#111111;font-family:'Josefin Sans',sans-serif;font-size:0.9rem;padding:1.1rem 1.4rem;outline:none;}
.chat-in::placeholder{color:#999999;}
.chat-send{background:#7ab8d8;border:none;color:#07111c;font-family:'Josefin Sans',sans-serif;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;padding:0 1.6rem;cursor:pointer;font-weight:700;transition:background 0.2s;}
.chat-send:hover{background:#96cce8;}
.chat-send:disabled{opacity:0.4;cursor:not-allowed;}
.quiz-sec{background:var(--bg2);border:1px solid var(--bd);padding:2.5rem;}
.quiz-intro{text-align:center;margin-bottom:2rem;}
.quiz-intro h3{font-family:'Poiret One',serif;font-size:1.6rem;letter-spacing:0.15em;text-transform:uppercase;margin-bottom:0.6rem;color:var(--t1);}
.quiz-intro p{font-size:0.92rem;color:var(--t2);font-weight:300;max-width:480px;margin:0 auto;line-height:1.8;}
.qdots{display:flex;gap:0.4rem;justify-content:center;margin-bottom:2rem;}
.qdot{width:9px;height:9px;border:1px solid var(--bd);transition:all 0.3s;}
.qdot.done{background:var(--ac);border-color:var(--ac);}
.qdot.cur{background:var(--go);border-color:var(--go);}
.qtext{font-family:'Cormorant Garamond',serif;font-size:1.45rem;color:var(--t1);text-align:center;margin-bottom:2rem;line-height:1.55;font-style:italic;}
.qopts{display:grid;grid-template-columns:1fr 1fr;gap:0.9rem;max-width:620px;margin:0 auto;}
@media(max-width:480px){.qopts{grid-template-columns:1fr;}}
.qopt{background:var(--bgc);border:1px solid var(--bd);color:var(--t2);font-family:'Josefin Sans',sans-serif;font-size:0.88rem;letter-spacing:0.04em;padding:1.1rem 1.3rem;cursor:pointer;text-align:left;transition:all 0.2s;line-height:1.55;}
.qopt:hover{border-color:var(--ac);color:var(--t1);}
.qopt.sel{background:rgba(122,184,216,0.13);border-color:var(--ac);color:var(--ac);}
.qopt .oe{display:block;font-size:1.3rem;margin-bottom:0.35rem;}
.qnav{display:flex;justify-content:center;gap:1rem;margin-top:2rem;}
.qbtn{background:transparent;border:1px solid var(--bd);color:var(--t2);font-family:'Josefin Sans',sans-serif;font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;padding:0.7rem 1.6rem;cursor:pointer;transition:all 0.2s;}
.qbtn:hover{border-color:var(--ac);color:var(--t1);}
.qbtn.p{background:var(--ac);border-color:var(--ac);color:#07111c;font-weight:700;}
.qbtn.p:hover{background:var(--ach);}
.qbtn:disabled{opacity:0.3;cursor:not-allowed;}
.how-sec{background:var(--bgo);border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:3.5rem 2rem;}
.how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:900px;margin:0 auto;}
.how-n{font-family:'Poiret One',serif;font-size:2.8rem;color:var(--go);margin-bottom:0.5rem;}
.how-item h3{font-size:0.82rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--t1);margin-bottom:0.6rem;}
.how-item p{font-size:0.88rem;color:var(--t2);line-height:1.7;font-weight:300;}
.sep{display:flex;align-items:center;gap:1rem;margin:3rem 0;}
.sep-l{flex:1;height:1px;background:var(--bd);}
.sep-d{width:8px;height:8px;background:var(--go);transform:rotate(45deg);}
.emer-card{background:var(--bgc);border:1px solid var(--bd);padding:1.2rem;transition:all 0.2s;position:relative;}
.emer-card:hover{border-color:var(--bda);box-shadow:0 2px 16px rgba(0,0,0,0.2);}
.emer-card.fem{border-left:3px solid var(--fe);}
.emer-name{font-size:1rem;font-weight:700;color:var(--t1);margin-bottom:0.2rem;line-height:1.3;}
.emer-meta{font-size:0.75rem;color:var(--tm);margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.emer-flag{font-size:1rem;}
.emer-desc{font-size:0.85rem;color:var(--t2);line-height:1.7;font-weight:300;margin-bottom:0.7rem;font-family:'Cormorant Garamond',serif;}
.emer-works{font-size:0.75rem;color:var(--tm);margin-bottom:0.7rem;}
.emer-badges{display:flex;gap:0.4rem;flex-wrap:wrap;margin-bottom:0.7rem;}
.emer-badge{font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.15rem 0.5rem;border:1px solid;}
.badge-prize{border-color:var(--go);color:var(--go);background:rgba(200,160,64,0.08);}
.badge-bbc{border-color:#e05050;color:#e05050;background:rgba(224,80,80,0.08);}
.badge-female{border-color:var(--fe);color:var(--fe);}
.emer-ask{background:transparent;border:1px solid var(--bd);color:var(--t2);font-family:'Josefin Sans',sans-serif;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.35rem 0.8rem;cursor:pointer;transition:all 0.2s;width:100%;}
.emer-ask:hover{background:rgba(122,184,216,0.1);border-color:var(--ac);color:var(--ac);}

/* ── SEARCH IA ── */
.search-ia-box{background:#ffffff;border:1px solid #cccccc;padding:1.5rem;margin:1.5rem 0;}
.search-ia-row{display:flex;gap:0;}
.search-ia-in{flex:1;background:#ffffff;border:none;color:#111111;font-size:1.1rem;padding:0.8rem 1.2rem;outline:none;border:1px solid #cccccc;border-right:none;}
.search-ia-in::placeholder{color:#999999;font-style:italic;}
.search-ia-btn{background:#7ab8d8;border:none;color:#07111c;font-family:'Josefin Sans',sans-serif;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;padding:0 1.5rem;cursor:pointer;font-weight:700;transition:background 0.2s;white-space:nowrap;}
.search-ia-btn:hover{background:#96cce8;}
.search-ia-btn:disabled{opacity:0.4;cursor:not-allowed;}
.search-ia-results{margin-top:1rem;}
.search-ia-examples{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:0.8rem;background:#f5f5f5;padding:0.8rem;border-top:1px solid #cccccc;}
.search-ex{background:#ffffff;border:1px solid #aaaaaa;color:#111111;font-family:'Josefin Sans',sans-serif;font-size:0.85rem;letter-spacing:0.03em;padding:0.55rem 1.1rem;cursor:pointer;transition:all 0.2s;font-style:italic;font-weight:500;}
.search-ex:hover{border-color:#7ab8d8;color:#07111c;background:#e8f4fc;}
/* ── COMPARAISON ── */
.compare-selectors{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-bottom:1.5rem;}
.compare-vs{font-family:'Poiret One',serif;font-size:1.5rem;color:var(--go);text-align:center;letter-spacing:0.2em;}
.compare-select{background:var(--bgc);border:1px solid var(--bd);color:var(--t1);font-family:'Josefin Sans',sans-serif;font-size:0.82rem;padding:0.6rem 1rem;outline:none;width:100%;transition:border-color 0.2s;cursor:pointer;}
.compare-select:focus{border-color:var(--ac);}
/* ── BLIND TEST ── */
.blind-box{background:var(--bgc);border:1px solid var(--bd);padding:2.5rem;text-align:center;}
.blind-choices{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;max-width:600px;margin:0 auto 1.5rem;}
@media(max-width:480px){.blind-choices{grid-template-columns:1fr;}}
.blind-choice{background:var(--bgc);border:1px solid var(--bd);color:var(--t2);font-family:'Josefin Sans',sans-serif;font-size:0.85rem;letter-spacing:0.05em;padding:0.9rem 1.2rem;cursor:pointer;transition:all 0.2s;text-align:left;}
.blind-choice:hover{border-color:var(--ac);color:var(--t1);}
.blind-choice.correct{background:rgba(80,200,120,0.15);border-color:#50c878;color:#50c878;}
.blind-choice.wrong{background:rgba(200,80,80,0.15);border-color:#e05050;color:#e05050;}
.blind-score{font-family:'Poiret One',serif;font-size:1.2rem;color:var(--go);letter-spacing:0.15em;margin-bottom:1rem;}
.blind-extract{background:var(--bg2);border:1px solid var(--bd);border-left:4px solid var(--go);padding:1.2rem 1.5rem;margin:1.5rem auto;max-width:600px;font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--t1);line-height:1.8;text-align:left;}
/* ── NOTATION ── */
.rating-stars{display:flex;gap:0.3rem;margin-top:0.5rem;}
.star{background:none;border:none;color:var(--bd);font-size:1rem;cursor:pointer;transition:color 0.15s;padding:0;}
.star.on{color:var(--go);}
.star:hover{color:var(--go);}
.article-card{background:#ffffff;border:1px solid #cccccc;padding:1rem 1.2rem;margin-bottom:0.7rem;transition:all 0.2s;text-decoration:none;display:block;}
.article-card:hover{border-color:#7ab8d8;transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.article-date{font-size:0.68rem;color:#666666;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.3rem;}
.article-title{font-size:0.92rem;font-weight:600;color:#111111;line-height:1.4;margin-bottom:0.3rem;}
.article-author{font-size:0.75rem;color:#666666;}

/* ── MOOD ── */
.mood-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:2rem 0;}
.mood-card{background:var(--bgc);border:1px solid var(--bd);padding:1.5rem 1rem;text-align:center;cursor:pointer;transition:all 0.3s;}
.mood-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.2);}
.mood-card.active{border-color:var(--ac);background:rgba(122,184,216,0.1);}
.mood-emoji{font-size:2.5rem;margin-bottom:0.6rem;display:block;}
.mood-label{font-family:'Poiret One',serif;font-size:0.9rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--t1);display:block;margin-bottom:0.3rem;}
.mood-desc{font-size:0.72rem;color:var(--tm);line-height:1.5;}
/* ── TIMELINE ── */
.timeline-wrap{position:relative;padding:2rem 0;overflow-x:auto;}
/* ── PRESENTATION MODE ── */
.pres-overlay{position:fixed;inset:0;background:var(--bg);z-index:500;display:none;flex-direction:column;align-items:center;justify-content:center;padding:3rem;}
.pres-overlay.active{display:flex;}
.pres-title{font-family:'Poiret One',serif;font-size:clamp(2rem,5vw,4rem);letter-spacing:0.2em;text-transform:uppercase;color:var(--ac);margin-bottom:1rem;text-align:center;}
.pres-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;width:100%;max-width:1200px;overflow-y:auto;max-height:70vh;}
.pres-card{background:var(--bgc);border:1px solid var(--bd);padding:1.5rem;border-left:3px solid var(--ac);}
.pres-card.fem{border-left-color:var(--fe);}
.pres-name{font-family:'Poiret One',serif;font-size:1.1rem;letter-spacing:0.1em;color:var(--t1);margin-bottom:0.3rem;}
.pres-meta{font-size:0.72rem;color:var(--tm);margin-bottom:0.5rem;}
.pres-desc{font-family:'Cormorant Garamond',serif;font-size:0.9rem;color:var(--t2);line-height:1.7;}
.pres-close{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:1px solid var(--bd);color:var(--t2);font-size:1.2rem;width:40px;height:40px;cursor:pointer;transition:all 0.2s;}
.pres-close:hover{border-color:var(--ac);color:var(--ac);}

/* ── DAILY COMPOSER ── */
.daily-card{background:var(--bgc);border:1px solid var(--bd);padding:2.5rem;margin-top:2rem;position:relative;overflow:hidden;}
.daily-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--ac),var(--fe));}
.daily-name{font-family:'Poiret One',serif;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:0.1em;text-transform:uppercase;color:var(--t1);margin-bottom:0.3rem;}
.daily-meta{font-size:0.78rem;color:var(--tm);letter-spacing:0.08em;margin-bottom:1.2rem;}
.daily-desc{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--t2);line-height:1.9;margin-bottom:1.5rem;}
.daily-works{font-size:0.82rem;color:var(--tm);margin-bottom:1.2rem;}
.daily-ai{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--t2);line-height:1.9;font-style:italic;border-left:3px solid var(--ac);padding-left:1.2rem;margin-bottom:1.5rem;}
/* ── BRIDGE ── */
.bridge-box{background:var(--bgc);border:1px solid var(--bd);padding:2rem;margin-top:2rem;}
.bridge-path{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;margin:1.5rem 0;padding:1.5rem;background:var(--bg2);border:1px solid var(--bd);}
.bridge-node{background:var(--bgc);border:1px solid var(--bda);padding:0.5rem 1rem;font-size:0.82rem;color:var(--t1);font-family:'Josefin Sans',sans-serif;cursor:pointer;transition:all 0.2s;}
.bridge-node:hover{border-color:var(--ac);color:var(--ac);}
.bridge-node.start{border-color:var(--ac);background:rgba(122,184,216,0.1);color:var(--ac);}
.bridge-node.end{border-color:var(--fe);background:rgba(212,138,170,0.1);color:var(--fe);}
.bridge-arrow{color:var(--tm);font-size:1.2rem;}
.bridge-explain{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--t2);line-height:1.9;}
/* ── THEME PROGRAMME ── */

.theme-emoji{font-size:2rem;margin-bottom:0.4rem;display:block;}
.theme-label{font-family:'Poiret One',serif;font-size:0.85rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--t1);}
/* ── TOOLTIP JARGON ── */
.jargon{border-bottom:1px dotted var(--ac);cursor:help;color:inherit;position:relative;}
.jargon-tip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--bg2);border:1px solid var(--bda);padding:0.5rem 0.8rem;font-size:0.75rem;color:var(--t1);white-space:nowrap;z-index:50;pointer-events:none;margin-bottom:6px;font-style:normal;font-family:'Josefin Sans',sans-serif;max-width:280px;white-space:normal;line-height:1.5;display:none;}
.jargon:hover .jargon-tip{display:block;}
/* ── QR CODE ── */
.qr-box{background:#ffffff;border:1px solid #cccccc;padding:2rem;text-align:center;margin-top:1.5rem;max-width:400px;margin-left:auto;margin-right:auto;}

/* ── GLOBAL SEARCH ── */
.global-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg2);border:1px solid var(--bd);border-top:none;z-index:250;max-height:280px;overflow-y:auto;display:none;}
.global-suggestions.show{display:block;}
.gs-item{padding:0.6rem 1rem;cursor:pointer;font-size:0.78rem;color:var(--t2);border-bottom:1px solid var(--bd);transition:background 0.15s;}
.gs-item:hover{background:var(--bg3);color:var(--t1);}
.gs-item .gs-name{font-weight:600;color:var(--t1);}
.gs-item .gs-meta{font-size:0.68rem;color:var(--tm);}
.gs-item.gs-ai{color:var(--ac);font-style:italic;}
/* ── STATS ── */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:2rem 0;}
.stat-card{background:var(--bgc);border:1px solid var(--bd);padding:1.2rem;text-align:center;}
.stat-big{font-family:'Poiret One',serif;font-size:2rem;color:var(--ac);display:block;letter-spacing:0.1em;}
.stat-label{font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--tm);margin-top:0.2rem;display:block;}
/* ── HERO ANIMATION ── */
/* ── NEWSLETTER ── */
.newsletter-box{background:#ffffff;border:1px solid #cccccc;padding:2rem;margin-top:1.5rem;}
.newsletter-box h3{font-family:'Poiret One',serif;font-size:1.1rem;letter-spacing:0.15em;text-transform:uppercase;color:#111111;margin-bottom:0.5rem;}
.newsletter-content{font-family:'Cormorant Garamond',serif;font-size:0.95rem;color:#111111;line-height:1.8;white-space:pre-wrap;}

/* ── OEUVRE DU JOUR ── */
.oeuvre-card{background:var(--bgc);border:1px solid var(--bd);padding:2.5rem;margin-top:2rem;position:relative;overflow:hidden;}
.oeuvre-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(to right,var(--go),var(--fe));}
.oeuvre-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,3vw,2rem);font-style:italic;color:var(--t1);margin-bottom:0.3rem;line-height:1.3;}
.oeuvre-composer{font-family:'Poiret One',serif;font-size:1rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ac);margin-bottom:0.8rem;}
.oeuvre-meta{font-size:0.75rem;color:var(--tm);margin-bottom:1.2rem;display:flex;gap:1rem;flex-wrap:wrap;}
.oeuvre-meta span{display:flex;align-items:center;gap:0.3rem;}
.oeuvre-ai{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--t2);line-height:1.9;font-style:italic;border-left:3px solid var(--go);padding-left:1.2rem;margin-bottom:1.5rem;}
/* ── PARCOURS ── */
.parcours-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin:2rem 0;}
.parcours-card{background:var(--bgc);border:1px solid var(--bd);padding:1.5rem;cursor:pointer;transition:all 0.3s;position:relative;overflow:hidden;}
.parcours-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--ac);transform:scaleX(0);transition:transform 0.3s;}
.parcours-card:hover::before{transform:scaleX(1);}
.parcours-card:hover{border-color:var(--bda);transform:translateY(-2px);}
.parcours-emoji{font-size:2rem;margin-bottom:0.6rem;display:block;}
.parcours-title{font-family:'Poiret One',serif;font-size:1rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--t1);margin-bottom:0.4rem;}
.parcours-desc{font-size:0.78rem;color:var(--tm);line-height:1.5;}
.parcours-step{display:flex;gap:1.2rem;padding:1.2rem;background:var(--bgc);border:1px solid var(--bd);margin-bottom:0.8rem;align-items:flex-start;transition:all 0.2s;}
.parcours-step:hover{border-color:var(--bda);}
.parcours-step-n{font-family:'Poiret One',serif;font-size:1.8rem;color:var(--go);flex-shrink:0;line-height:1;}
/* ── ONBOARDING ── */
/* ── EDITEUR STYLE ── */
.editeur-box{background:#ffffff;border:1px solid #cccccc;padding:2rem;margin-top:1.5rem;}
.editeur-in{width:100%;min-height:100px;background:#f9f9f9;border:1px solid #cccccc;color:#111111;font-family:'Cormorant Garamond',serif;font-size:1rem;padding:1rem;outline:none;resize:vertical;line-height:1.7;}
.editeur-in::placeholder{color:#6f6f6f;font-style:italic;}
.editeur-result{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:#111111;line-height:1.9;padding:1.2rem;background:#ffffff;border:1px solid #cccccc;border-left:4px solid #7ab8d8;margin-top:1rem;}
.about-sec{background:var(--bg3);border-top:1px solid var(--bd);padding:5rem 2rem;}

/* ── OEUVRE DU JOUR ── */
/* ── PARCOURS ── */
/* ── CONNEXIONS ── */
/* ── ONBOARDING ── */
/* ── EDITEUR STYLE ── */
/* ── SHARE IMAGE ── */
.about-in{max-width:740px;margin:0 auto;}
.about-in p{font-size:1.05rem;color:var(--t1);line-height:2.1;font-weight:300;margin-bottom:1.6rem;}
.about-in p strong{color:var(--ac);}
footer{background:var(--bg2);border-top:1px solid var(--t1);padding:3rem 2rem 2rem;font-size:0.75rem;letter-spacing:0.08em;color:var(--tm);}
footer a{color:var(--ac);text-decoration:none;}
.reset-btn{background:transparent;border:1px solid var(--bd);color:var(--t2);font-family:'Josefin Sans',sans-serif;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;padding:0.65rem 1.5rem;cursor:pointer;transition:all 0.2s;display:block;margin:2rem auto 0;}
.reset-btn:hover{border-color:var(--ac);color:var(--t1);}
.playlist-box{background:linear-gradient(135deg,rgba(200,160,64,0.07),rgba(27,42,58,0));border:1px solid rgba(200,160,64,0.35);padding:2rem;margin:2rem 0;}
@media(max-width:768px){

  /* === MASTHEAD MOBILE : 1 ligne centrée === */
  .masthead {
    grid-template-columns: 1fr;
    padding: 0.8rem 1rem;
    gap: 0.5rem;
  }
  .masthead-left, .masthead-right {
    text-align: center;
    font-size: 0.6rem;
    letter-spacing: 0.18em;
  }
  .masthead-right a {
    margin: 0 0.6rem;
    display: inline-block;
  }
  .masthead-logo {
    font-size: 1.5rem;
    letter-spacing: 0.3em;
    order: -1;
  }

  /* === SUB-MASTHEAD MOBILE : empilé === */
  .sub-masthead {
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.6rem 1rem;
    text-align: center;
    font-size: 0.58rem;
  }
  .search-field {
    width: 100%;
    text-align: center;
  }

  /* === HERO MOBILE : image en haut, texte dessous === */
  .hero {
    grid-template-columns: 1fr;
    grid-template-rows: 280px auto;
    min-height: 0;
  }
  .hero-image {
    order: -1;
    height: 280px;
  }
  .hero-image-inner {
    background-position: center 40%;
  }
  .hero-text {
    padding: 2.5rem 1.5rem 3rem;
    border-right: none;
    border-top: 1px solid var(--t1);
  }
  .hero-date {
    font-size: 0.65rem;
    letter-spacing: 0.25em;
    margin-bottom: 1.5rem;
  }
  .hero-date::before {
    width: 25px;
    margin-right: 0.7rem;
  }
  .hero-title {
    font-size: clamp(2.5rem, 12vw, 3.8rem);
    margin-bottom: 1.5rem;
  }
  .hero-lede {
    font-size: 1.05rem;
    margin-bottom: 2rem;
  }
  .hero-cta {
    max-width: 100%;
    font-size: 0.68rem;
  }
  .hero-caption {
    bottom: 0.6rem;
    left: 0.6rem;
    right: 0.6rem;
    font-size: 0.52rem;
    padding: 0.5rem 0.7rem;
  }
  .hero-caption em {
    font-size: 0.72rem;
  }

  /* === STATS BAR MOBILE : 2x2 === */
  .stats-bar {
    grid-template-columns: repeat(2, 1fr);
  }
  .stat-cell {
    padding: 1.3rem 1.5rem;
    border-right: 1px solid var(--t1);
    border-bottom: 1px solid var(--t1);
  }
  .stat-cell:nth-child(2) {
    border-right: none;
  }
  .stat-cell:nth-child(3),
  .stat-cell:nth-child(4) {
    border-bottom: none;
  }
  .stat-num {
    font-size: 2.2rem;
  }
  .stat-lbl {
    font-size: 0.6rem;
  }

  /* === NAV PARENT MOBILE : scroll horizontal avec indicateurs === */
  .nav-parent-bar {
    position: relative;
  }
  .nav-parent-bar::before,
  .nav-parent-bar::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 40px;
    pointer-events: none;
    z-index: 2;
  }
  .nav-parent-bar::before {
    left: 0;
    background: linear-gradient(to right, var(--bg) 30%, transparent);
  }
  .nav-parent-bar::after {
    right: 0;
    background: linear-gradient(to left, var(--bg) 30%, transparent);
  }
  .nav-parent {
    padding: 0.9rem 0.7rem;
    font-size: 0.55rem;
    letter-spacing: 0.15em;
  }

  /* === NAV CHILD MOBILE : scroll horizontal === */
  #navChild {
    padding: 0.2rem 0.5rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .nav-child {
    font-size: 0.85rem;
    padding: 0.5rem 1rem;
    flex-shrink: 0;
  }

  /* === FOOTER MOBILE : 3 colonnes → 1 colonne empilée === */
  footer .footer-in {
    grid-template-columns: 1fr !important;
    gap: 2rem;
    text-align: center !important;
  }
  footer .footer-brand,
  footer .footer-nav,
  footer .footer-colophon {
    text-align: center !important;
  }

  /* Grid */
  .cgrid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0.5rem;}
  .rec-card{padding:0.7rem;}
  .c-name{font-size:0.78rem;}
  
  /* Filters */
  .filters{gap:0.3rem;}
  .fbtn{font-size:0.62rem;padding:0.25rem 0.5rem;}
  
  /* Detail panel — full screen drawer on mobile */
  .detail-panel{
    width:100%!important;
    padding:1.5rem 1rem!important;
    border-left:none!important;
    border-top:3px solid var(--ac)!important;
  }
  .detail-close{
    top:1rem!important;
    right:1rem!important;
    width:36px!important;
    height:36px!important;
    font-size:1.2rem!important;
    background:var(--bg3)!important;
    border-radius:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .detail-name{font-size:1.3rem!important;margin-top:0.5rem!important;}
  .detail-meta{font-size:0.78rem!important;}
  #storySection{margin-top:1rem!important;}
  #detailNewBtns{margin-top:0.8rem!important;}
  .detail-name{font-size:1.4rem;}
  
  /* AI boxes */
  .ai-box{padding:1rem;}
  .ai-banner{grid-template-columns:1fr;}
  
  /* Sections */
  .sec-in{padding:2rem 1rem;}
  .sec-title{font-size:1.8rem;}
  
  /* Action buttons */
  .actions{gap:0.4rem;}
  .action-btn{font-size:0.62rem;padding:0.3rem 0.5rem;}
  
  /* Reco columns */
  #rGrid{grid-template-columns:1fr!important;}
  .rcol-label{font-size:0.65rem;}
  
  /* Emer cards */
  .emer-grid{grid-template-columns:1fr!important;}
  
  /* Chat */
  #chatIn{font-size:0.9rem;}
  #chatSend{font-size:0.7rem;padding:0 0.8rem;}
  
  /* How section */
  .how-grid{grid-template-columns:1fr 1fr!important;}
  
  /* Tray */
  #selTray{padding:0.6rem 1rem;}
  
  /* About */
  .about-in{padding:2rem 1rem;}
}

@media(max-width:480px){
  .cgrid{grid-template-columns:repeat(2,1fr);}
  .how-grid{grid-template-columns:1fr!important;}
  .emer-card{padding:0.8rem;}
}
/* ── CARD ANIMATIONS ── */
@keyframes cardIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.rec-card,.emer-card{animation:cardIn 0.25s ease both;}

/* ── CONCERTS SECTION ── */
.concerts-section{margin:1.2rem 0;padding:1rem;background:var(--bg3);border:1px solid var(--bd);}
.concerts-title{font-family:'Josefin Sans',sans-serif;font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ac);margin-bottom:0.8rem;font-weight:600;}
.concerts-group{margin-bottom:0.8rem;}
.concerts-label{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--tm);margin-bottom:0.4rem;font-family:'Josefin Sans',sans-serif;}
.concerts-links{display:flex;flex-wrap:wrap;gap:0.3rem;}
.cl{font-family:'Josefin Sans',sans-serif;font-size:0.62rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.2rem 0.5rem;border:1px solid var(--bd);color:var(--t2);text-decoration:none;transition:all 0.2s;white-space:nowrap;}
.cl:hover{border-color:var(--ac);color:var(--ac);}
@media(max-width:768px){
  .detail-mobile-close{display:block;}
}

/* ── TABS BAR ── */

.tab{background:transparent;border:none;border-bottom:2px solid transparent;color:var(--tm);font-family:'Josefin Sans',sans-serif;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.85rem 0.9rem;cursor:pointer;white-space:nowrap;transition:all 0.2s;flex-shrink:0;}

/* ── OEUVRE DU JOUR ── */

/* ── PARCOURS ── */

/* ── CONNEXIONS ── */

/* ── ONBOARDING ── */

/* ── EDITEUR STYLE ── */

/* ── SHARE IMAGE ── */

/* ── ÉPHÉMÉRIDE ── */
.eph-hero{background:linear-gradient(135deg,rgba(122,184,216,0.08),rgba(212,138,170,0.06));border:1px solid var(--bd);padding:2rem;margin-top:2rem;text-align:center;}
.eph-date{font-family:'Poiret One',serif;font-size:clamp(2rem,5vw,4rem);color:var(--ac);letter-spacing:0.1em;margin-bottom:0.3rem;}
.eph-items{margin-top:2rem;display:flex;flex-direction:column;gap:0.8rem;}
.eph-item{background:var(--bgc);border:1px solid var(--bd);padding:1.2rem 1.5rem;display:flex;gap:1.2rem;align-items:flex-start;transition:all 0.2s;}
.eph-item:hover{border-color:var(--bda);}
.eph-item.death{border-left:3px solid var(--tm);}
.eph-item.premiere{border-left:3px solid var(--go);}
.eph-type{font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--tm);white-space:nowrap;padding-top:0.2rem;min-width:60px;}
.eph-content{flex:1;}
.eph-title{font-size:0.92rem;font-weight:600;color:var(--t1);margin-bottom:0.2rem;}
.eph-sub{font-size:0.8rem;color:var(--t2);line-height:1.6;font-family:'Cormorant Garamond',serif;}
@media(max-width:480px){.style-opts{grid-template-columns:1fr;}}
.style-opt{background:var(--bgc);border:1px solid var(--bd);color:var(--t2);font-family:'Josefin Sans',sans-serif;font-size:0.85rem;padding:1rem;cursor:pointer;text-align:left;transition:all 0.2s;line-height:1.5;}
.style-opt:hover{border-color:var(--ac);color:var(--t1);}
.style-opt.sel{background:rgba(122,184,216,0.12);border-color:var(--ac);color:var(--ac);}
.style-opt .se{display:block;font-size:1.2rem;margin-bottom:0.3rem;}
/* ── MODE CONCERT ── */
.concert-overlay{position:fixed;inset:0;background:#0a0f18;z-index:700;display:none;flex-direction:column;align-items:center;justify-content:center;padding:3rem;}
.concert-overlay.active{display:flex;}
.concert-title{font-family:'Poiret One',serif;font-size:clamp(1rem,2.5vw,2rem);letter-spacing:0.3em;text-transform:uppercase;color:rgba(122,184,216,0.4);margin-bottom:3rem;}
.concert-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;width:100%;max-width:1400px;overflow-y:auto;}
.concert-card{background:rgba(255,255,255,0.03);border:1px solid rgba(122,184,216,0.15);padding:2rem;border-left:3px solid var(--ac);}
.concert-card.fem{border-left-color:var(--fe);}
.concert-name{font-family:'Poiret One',serif;font-size:1.4rem;letter-spacing:0.1em;color:#ffffff;margin-bottom:0.3rem;}
.concert-meta{font-size:0.75rem;color:rgba(122,184,216,0.5);margin-bottom:0.8rem;}
.concert-desc{font-family:'Cormorant Garamond',serif;font-size:1rem;color:rgba(255,255,255,0.6);line-height:1.7;}
.concert-close{position:absolute;top:1.5rem;right:1.5rem;background:transparent;border:1px solid rgba(122,184,216,0.3);color:rgba(122,184,216,0.6);width:40px;height:40px;cursor:pointer;font-size:1.2rem;transition:all 0.2s;}
.concert-close:hover{border-color:var(--ac);color:var(--ac);}
/* ── WIDGET HEURE ── */
.heure-widget{background:linear-gradient(135deg,rgba(122,184,216,0.08),rgba(27,42,58,0));border:1px solid var(--bd);padding:1.2rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.heure-emoji{font-size:1.8rem;}
.heure-label{font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--tm);}
.heure-suggestion{font-size:0.88rem;color:var(--t2);font-family:'Cormorant Garamond',serif;font-style:italic;flex:1;}

/* ── RECOMMANDE CE SOIR ── */
.rcsoir-modal{position:fixed;inset:0;background:rgba(0,0,0,0.8);z-index:400;display:none;align-items:center;justify-content:center;padding:2rem}
.rcsoir-box{background:var(--bg2);border:1px solid var(--bd);padding:2.5rem;max-width:620px;width:100%;position:relative;border-top:3px solid var(--ac)}
.rcsoir-time{font-family:'Poiret One',serif;font-size:3rem;color:var(--ac);letter-spacing:0.1em;margin-bottom:0.2rem}
.rcsoir-label{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--tm);margin-bottom:1.5rem}
.rcsoir-content{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--t2);line-height:1.9}

/* ── ET SI VOUS AIMIEZ ── */
.esva-box{background:var(--bgc);border:1px solid var(--bda);border-left:3px solid var(--go);padding:1.5rem;margin-top:1.5rem}
.esva-title{font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--go);margin-bottom:0.8rem}
/* ── RECOMMANDE CE SOIR ── */
/* ── ET SI VOUS AIMIEZ ── */

/* ── ÉPHÉMÉRIDE ── */
/* ── MON STYLE ── */
@media(max-width:480px){.style-opts{grid-template-columns:1fr;}}

/* ── MODE CONCERT ── */

/* ── WIDGET HEURE ── */
/* ── RECOMMANDE CE SOIR ── */
/* ── ET SI VOUS AIMIEZ ── */

.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:0.6rem;margin:1.5rem 0;}
.theme-section-title{grid-column:1/-1;font-family:'Poiret One',serif;font-size:0.85rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--ac);margin:1.5rem 0 0.3rem;padding-top:1rem;border-top:1px solid var(--bd);}
.theme-section-title:first-child{margin-top:0;padding-top:0;border-top:none;}
.theme-card{background:var(--bgc);border:1px solid var(--bd);padding:0.9rem 0.5rem;text-align:center;cursor:pointer;transition:all 0.3s;}
.theme-card:hover{transform:translateY(-2px);border-color:var(--bda);}
.theme-card.active{border-color:var(--ac);background:rgba(122,184,216,0.08);}
.theme-emoji{font-size:1.5rem;display:block;margin-bottom:0.3rem;}
.theme-label{font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--t2);}

/* ═══ CONTRE-CHAMP (module) ═══ */
/* Styles de la démo (bloc extractible dans index.html) */
  .cc-trigger {
    display: inline-block;
    margin-top: 0.8em;
    padding: 0.5em 1em;
    background: transparent;
    color: #444;
    border: 1px solid #999;
    border-radius: 3px;
    font-family: inherit;
    font-size: 0.9em;
    cursor: pointer;
    letter-spacing: 0.02em;
    transition: all 0.15s;
  }
  .cc-trigger:hover {
    background: #222;
    color: #fff;
    border-color: #222;
  }
  .cc-trigger::before {
    content: "⤺ ";
    font-weight: bold;
  }

  #cc-modal {
    display: none;
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.55);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 2em;
  }
  #cc-modal.cc-open { display: flex; }
  .cc-card {
    background: #fdfdf9;
    max-width: 720px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    padding: 2em 2.2em;
    border-radius: 4px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.35);
    font-family: Georgia, 'Times New Roman', serif;
    line-height: 1.55;
    color: #222;
    position: relative;
  }
  .cc-close {
    position: absolute;
    top: 0.8em;
    right: 1em;
    background: none;
    border: none;
    font-size: 1.4em;
    cursor: pointer;
    color: #888;
  }
  .cc-close:hover { color: #000; }
  .cc-header {
    font-size: 0.85em;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #888;
    margin-bottom: 0.3em;
  }
  .cc-axis {
    font-size: 1.15em;
    margin: 0 0 1.6em 0;
    padding-bottom: 1em;
    border-bottom: 1px solid #ddd;
  }
  .cc-axis strong { color: #000; }
  .cc-axis .cc-arrow { color: #999; margin: 0 0.4em; }
  .cc-section {
    margin-bottom: 1.3em;
  }
  .cc-section h3 {
    font-size: 0.8em;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #666;
    margin: 0 0 0.4em 0;
    font-weight: normal;
    border-left: 3px solid #333;
    padding-left: 0.6em;
  }
  .cc-section p { margin: 0; }
  .cc-loading {
    text-align: center;
    color: #888;
    padding: 3em 0;
    font-style: italic;
  }
  .cc-error {
    background: #fff5f5;
    border-left: 3px solid #c33;
    padding: 1em 1.2em;
    color: #700;
    font-size: 0.9em;
  }
  .cc-again {
    display: block;
    margin: 2em auto 0 auto;
    padding: 0.5em 1.2em;
    background: transparent;
    color: #555;
    border: 1px solid #bbb;
    border-radius: 3px;
    font-family: inherit;
    font-size: 0.85em;
    cursor: pointer;
  }
  .cc-again:hover { background: #eee; }

/* ── ACCESSIBILITÉ : focus visible au clavier ── */
:focus-visible{outline:2px solid var(--ac)!important;outline-offset:2px;}

/* ══════════════════════════════════════════
   MODE SOMBRE — activé par data-theme="dark" sur <html>
   (choix enregistré, sinon réglage du système ; voir le script de l'en-tête)
   ══════════════════════════════════════════ */
:root[data-theme="dark"]{
  --bg:#0f1a26;--bg2:#162434;--bg3:#1e2f43;--bgc:#0f1a26;--bgo:#162434;
  --t1:#ece5d6;--t2:#d6cfbf;--tm:#a8a090;--ac:#d0ad55;--ach:#e3c26c;--go:#d0ad55;--gl:#e0bd63;
  --fe:#e391ad;--bd:rgba(236,229,214,0.16);--bda:rgba(236,229,214,0.36);
  color-scheme:dark;
}
:root[data-theme="dark"] .chat-box,:root[data-theme="dark"] .chat-msgs,:root[data-theme="dark"] .msg-bub,
:root[data-theme="dark"] .sug,:root[data-theme="dark"] .chat-row,:root[data-theme="dark"] .search-ia-box,
:root[data-theme="dark"] .search-ia-in,:root[data-theme="dark"] .search-ex,:root[data-theme="dark"] .article-card,
:root[data-theme="dark"] .newsletter-box,:root[data-theme="dark"] .editeur-box,:root[data-theme="dark"] .editeur-result{
  background:var(--bg2);border-color:var(--bd);color:var(--t1);
}
:root[data-theme="dark"] .msg.u .msg-bub,:root[data-theme="dark"] .sug:hover,:root[data-theme="dark"] .search-ex:hover{background:var(--bg3);}
:root[data-theme="dark"] .chat-sugs,:root[data-theme="dark"] .search-ia-examples,:root[data-theme="dark"] .editeur-in{background:var(--bg3);border-color:var(--bd);}
:root[data-theme="dark"] .chat-hd{border-color:var(--bd);}
:root[data-theme="dark"] .chat-in,:root[data-theme="dark"] .article-title,:root[data-theme="dark"] .newsletter-box h3,
:root[data-theme="dark"] .newsletter-content,:root[data-theme="dark"] .editeur-in,:root[data-theme="dark"] .cc-card,
:root[data-theme="dark"] .cc-close:hover,:root[data-theme="dark"] .cc-axis strong{color:var(--t1);}
:root[data-theme="dark"] .cc-trigger:hover{background:var(--t1);color:var(--bg);border-color:var(--t1);}
:root[data-theme="dark"] .cc-axis{border-color:var(--bd);}
:root[data-theme="dark"] .cc-section h3{border-left-color:var(--ac);}
:root[data-theme="dark"] .hero-image-inner{filter:grayscale(1) contrast(1.05) brightness(0.8);}
:root[data-theme="dark"] .cc-card{background:var(--bg2);color:var(--t1);}
:root[data-theme="dark"] .cc-header,:root[data-theme="dark"] .cc-close,:root[data-theme="dark"] .cc-loading,
:root[data-theme="dark"] .cc-axis .cc-arrow,:root[data-theme="dark"] .cc-section h3{color:var(--tm);}
:root[data-theme="dark"] .cc-error{background:rgba(204,51,51,0.12);color:#f0a0a0;}
:root[data-theme="dark"] .cc-trigger{color:var(--t2);border-color:var(--bda);}
:root[data-theme="dark"] #sortSel{-webkit-appearance:none;appearance:none;background:var(--bg2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23d0ad55'/%3E%3C/svg%3E") no-repeat right 0.5rem center !important;color:var(--t1) !important;padding-right:1.6rem !important;}
:root[data-theme="dark"] [onclick="paulineDecouvre()"]{color:#c79be0!important;border-color:rgba(199,155,224,0.5)!important;}
:root[data-theme="dark"] a:not([class]){color:var(--ac);}
.theme-toggle{background:none;border:none;cursor:pointer;color:var(--tm);font:inherit;font-size:0.95rem;letter-spacing:0;margin-left:0.8rem;padding:0 0.2rem;vertical-align:middle;}
.theme-toggle:hover{color:var(--ac);}

/* ── IMAGE HERO : WebP quand le navigateur le gère, version réduite sur mobile ── */
.hero-image-inner{
  background-image:url('../images/hero-palau.jpg');
  background-image:image-set(url('../images/hero-palau.webp') type('image/webp'), url('../images/hero-palau.jpg') type('image/jpeg'));
}
@media (max-width:700px){
  .hero-image-inner{
    background-image:url('../images/hero-palau-800.jpg');
    background-image:image-set(url('../images/hero-palau-800.webp') type('image/webp'), url('../images/hero-palau-800.jpg') type('image/jpeg'));
  }
}

.gst-theme{color:var(--ac);text-decoration:none;border-bottom:1px solid currentColor;}
.gst-theme:hover{color:var(--ach);}

/* ── ÉCOSYSTÈME CRESCENDO : disques (Phono) et concerts (Agenda) ── */
.pc-block{margin:1.2rem 0}
.pc-block[hidden]{display:none}
.pc-title{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ac);font-weight:600;margin-bottom:.3rem}
.pc-sub{font-size:.8rem;color:var(--tm);margin-bottom:.7rem}
.pc-sub a,.pc-more{color:var(--ac)}
.pc-albums{display:flex;flex-direction:column;gap:.5rem}
.pc-album{display:flex;gap:.7rem;align-items:flex-start;text-decoration:none;color:inherit;padding:.4rem;border:1px solid var(--bd)}
.pc-album:hover{border-color:var(--ac)}
.pc-album img,.pc-nocover{width:64px;height:64px;object-fit:cover;flex-shrink:0;background:var(--bd)}
.pc-album-txt{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.pc-album-title{font-family:'Cormorant Garamond',serif;font-size:1rem;line-height:1.25;color:var(--t1)}
.pc-album-meta{font-size:.7rem;color:var(--tm);letter-spacing:.04em}
.pc-badge{align-self:flex-start;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:.1rem .4rem;font-weight:600}
.pc-joker{background:#e8781a;color:#fff}
.pc-millesime{background:#8a6a1c;color:#fff}
.pc-more{display:inline-block;margin-top:.6rem;font-size:.75rem;text-decoration:none;border-bottom:1px solid currentColor}
.pc-concerts{list-style:none;margin:0;padding:0}
.pc-concerts li{border-bottom:1px solid var(--bd)}
.pc-concerts a{display:grid;grid-template-columns:auto 1fr;gap:.1rem .8rem;padding:.5rem 0;text-decoration:none;color:inherit}
.pc-date{grid-row:span 2;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ac);white-space:nowrap;padding-top:.15rem}
.pc-concert-title{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--t1);line-height:1.25}
.pc-venue{font-size:.72rem;color:var(--tm)}
:root[data-theme="dark"] .pc-millesime{background:#d0ad55;color:#0f1a26}
