/* ── NUANCIER, styles partagés (bandeau page principale + page complète) ── */
.nuan-header{padding:0 var(--pad);margin-bottom:clamp(14px,2vw,24px)}
.nuan-header .label{display:block;margin-bottom:14px}
.nuan-header h1,.nuan-header h2{font-family:var(--serif);font-size:clamp(30px,4vw,48px);font-weight:300;line-height:1.1}
.nuan-header h1 em,.nuan-header h2 em{font-style:italic}
.nuan-intro{padding:0 var(--pad);max-width:680px;font-size:15px;line-height:1.68;opacity:.68;margin:-8px 0 22px}

.nuan-view-all{padding:0 var(--pad);margin-top:clamp(18px,2.4vw,26px)}
.nuan-see-all{
  display:inline-block;
  font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  background:none;border:none;cursor:pointer;color:var(--ink);opacity:.45;
  padding:0;text-decoration:none;transition:opacity .2s;
}
.nuan-see-all:hover{opacity:1}

/* Bandeau de défilement horizontal (page principale) */
.nuan-scroll-wrap{position:relative}
.nuan-scroll{
  display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x proximity;
  padding:0 var(--pad) 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.nuan-scroll::-webkit-scrollbar{display:none}
.nuan-scroll-wrap::before,.nuan-scroll-wrap::after{
  content:'';position:absolute;top:0;bottom:4px;width:clamp(18px,4vw,56px);z-index:2;pointer-events:none;
}
.nuan-scroll-wrap::before{left:0;background:linear-gradient(to right,var(--bg),transparent)}
.nuan-scroll-wrap::after{right:0;background:linear-gradient(to left,var(--bg),transparent)}
.nuan-card{flex:0 0 auto;width:clamp(88px,9.5vw,114px);scroll-snap-align:start;cursor:pointer}
.nuan-card-photo{width:100%;aspect-ratio:1;overflow:hidden;background:var(--bg)}
.nuan-card-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.85);transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.nuan-card:hover .nuan-card-photo img{transform:scale(2)}
.nuan-card-def{font-family:var(--sans);font-size:14px;line-height:1.3;margin-top:10px}
.nuan-soon{display:block;margin-top:3px;font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.45}

/* Flèches de navigation du bandeau */
.nuan-arrow{
  position:absolute;top:38%;transform:translateY(-50%);z-index:5;
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(249,246,241,.88);border:1px solid var(--line);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  cursor:pointer;color:var(--ink);font-family:var(--serif);font-size:20px;line-height:1;
  opacity:.85;transition:opacity .2s,transform .2s;
}
.nuan-arrow:hover{opacity:1}
.nuan-arrow-left{left:6px}
.nuan-arrow-right{right:6px}
@media(max-width:640px){.nuan-arrow{width:32px;height:32px;font-size:17px}}

/* Grille complète (page nuancier.html) */
.nuan-all-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:20px;
  padding:0 var(--pad);
}
.nuan-all{cursor:pointer}
.nuan-all-photo{aspect-ratio:1;overflow:hidden;background:var(--bg)}
.nuan-all-photo img{width:100%;height:100%;object-fit:cover;transform:scale(1.85);transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.nuan-all:hover .nuan-all-photo img{transform:scale(2)}
.nuan-all-def{font-family:var(--sans);font-size:14px;line-height:1.3;margin-top:10px}
.nuan-modal-soon{display:block;margin-top:8px;font-family:var(--sans);font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.45}

/* ── NUANCIER MODAL (partagée) ── */
#nuan-modal{
  position:fixed;inset:0;z-index:400;
  display:flex;align-items:center;justify-content:center;
  background:rgba(26,24,20,.72);
  padding:clamp(16px,3vw,40px);
  opacity:0;visibility:hidden;transition:opacity .25s;
}
#nuan-modal.open{opacity:1;visibility:visible}
.nuan-modal-box{background:var(--bg);max-width:640px;width:100%;max-height:88vh;overflow:auto;position:relative}
.nuan-modal-close{
  position:absolute;top:14px;right:14px;z-index:2;
  width:32px;height:32px;border:1px solid rgba(249,246,241,.5);background:rgba(26,24,20,.35);
  color:#FAF7F2;font-size:18px;line-height:1;cursor:pointer;
}
.nuan-modal-nav{position:absolute;top:31%;z-index:4;width:42px;height:56px;border:0;background:rgba(24,22,19,.48);color:#fff;font-family:var(--sans);font-size:30px;font-weight:200;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,opacity .2s;touch-action:manipulation}
.nuan-modal-nav:hover{background:rgba(24,22,19,.72)}
.nuan-modal-nav.prev{left:10px}
.nuan-modal-nav.next{right:10px}
.nuan-modal-imgs{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.nuan-modal-img-col{background:var(--bg)}
.nuan-modal-img-col .ph{aspect-ratio:1;overflow:hidden;background:var(--bg)}
.nuan-modal-img-col .ph img{width:100%;height:100%;object-fit:cover}
.nuan-modal-img-col.packshot .ph img{transform:scale(1.85)}
.nuan-modal-img-label{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.4;padding:9px 12px}
.nuan-modal-info{padding:clamp(20px,2.8vw,28px) clamp(24px,3.6vw,36px)}
.nuan-modal-family{display:block;margin-bottom:10px}
.nuan-modal-name{font-family:var(--serif);font-size:clamp(28px,3.4vw,38px);font-style:italic}
.nuan-modal-desc{max-width:560px;margin-top:9px;font-family:var(--sans);font-size:13px;line-height:1.5;opacity:.58}
.nuan-modal-disclaimer{max-width:560px;margin-top:8px;font-family:var(--sans);font-size:9px;line-height:1.4;letter-spacing:.015em;opacity:.42}
@media(max-width:480px){.nuan-modal-imgs{grid-template-columns:1fr 1fr}.nuan-modal-nav{top:25%;width:36px;height:48px;font-size:26px}.nuan-modal-nav.prev{left:6px}.nuan-modal-nav.next{right:6px}}
