/* ============ Style & Art — feuille partagée ============ */
.cu-hero{position:relative;overflow:hidden;padding:clamp(140px,14vw,220px) 0 clamp(52px,6vw,88px)}
.cu-hero.is-style{background:radial-gradient(ellipse 32% 40% at 78% 44%,rgba(150,90,214,.28) 0%,rgba(100,6,76,.22) 56%,transparent 78%),linear-gradient(122deg,#0d0517 0%,#15071f 44%,#240a34 76%,#320d44 100%)}
.cu-hero.is-art{background:radial-gradient(ellipse 34% 42% at 74% 46%,rgba(164,92,246,.24) 0%,rgba(89,7,71,.24) 54%,transparent 78%),linear-gradient(118deg,#0b0414 0%,#14061e 46%,#1f0830 78%,#2b0b3c 100%)}
.cu-hero-in{position:relative;z-index:2;max-width:1020px}
.cu-h1{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(2.6rem,6.6vw,7rem);line-height:.96;letter-spacing:-.012em;margin:0;font-weight:400}
.cu-h1 span{display:block}
.cu-h1 .accent{color:var(--violet)}
.cu-lead{margin-top:clamp(20px,2.2vw,30px);font-size:clamp(16.5px,1.55vw,21px);line-height:1.68;color:var(--off-dim);max-width:60ch}
.cu-lead strong{color:var(--off);font-weight:700}

/* filtres */
.cu-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:clamp(22px,2.4vw,32px)}

/* grille de fiches */
.cu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.7vw,24px)}
.cu-grid.is-empty{grid-template-columns:minmax(320px,1.25fr) minmax(280px,.75fr);align-items:stretch}
.cu-grid.is-empty .cu-card{min-height:430px}
.cu-grid.is-empty .cu-shot{min-height:290px}
.cu-grid.is-empty .cu-empty{grid-column:auto;display:flex;flex-direction:column;justify-content:center}
.cu-card{position:relative;display:flex;flex-direction:column;border-radius:18px;overflow:hidden;border:1px solid rgba(150,90,214,.2);background:linear-gradient(180deg,#1d0a2c,#15071f);text-align:left;padding:0;font-family:'Manrope',sans-serif;transition:transform .3s cubic-bezier(.2,.8,.2,1),border-color .3s ease,box-shadow .3s ease}
button.cu-card{cursor:pointer}
button.cu-card:hover,button.cu-card:focus-visible{transform:translateY(-4px);border-color:rgba(164,92,246,.48);box-shadow:0 26px 50px -32px rgba(150,90,214,.5)}
.cu-card.is-soon{cursor:default}
.cu-shot{position:relative;aspect-ratio:4/5;overflow:hidden;background:radial-gradient(ellipse 62% 56% at 50% 44%,rgba(150,90,214,.2),transparent 72%),#170822}
.cu-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 6%;display:block;transition:transform .36s cubic-bezier(.2,.8,.2,1),filter .36s ease}
button.cu-card:hover .cu-shot img{transform:scale(1.025);filter:brightness(1.05)}
.cu-shot::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(21,7,31,.88) 0%,rgba(21,7,31,.14) 44%,transparent 72%)}
.cu-tag{position:absolute;left:14px;top:14px;z-index:2;padding:6px 12px;border-radius:100px;background:rgba(14,6,24,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(164,92,246,.4);font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--violet-lt)}
.cu-body{position:relative;z-index:2;margin-top:-28px;padding:0 clamp(18px,2vw,24px) clamp(22px,2.3vw,28px);display:flex;flex-direction:column;gap:9px;flex:1}
.cu-body h4{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(17px,1.5vw,21px);line-height:1.08;letter-spacing:.03em;color:var(--off);font-weight:400}
.cu-meta{font-size:13px;line-height:1.45;color:var(--off-faint)}
.cu-phrase{font-size:14.5px;line-height:1.58;color:var(--off-dim);font-style:italic}
.cu-go{margin-top:auto;padding-top:14px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--violet-lt);opacity:.6;transition:opacity .3s ease,color .3s ease}
.cu-go svg{width:13px;height:13px;flex-shrink:0;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
button.cu-card:hover .cu-go{opacity:1;color:#fff}
button.cu-card:hover .cu-go svg{transform:translateX(4px)}

/* pièce à la une */
.cu-feature{position:relative;border-radius:20px;overflow:hidden;border:1px solid rgba(150,90,214,.26);background:linear-gradient(140deg,#1c0a2a,#150720 62%,#12061c);box-shadow:0 46px 84px -56px rgba(0,0,0,.95)}
.cu-feature-grid{display:grid;grid-template-columns:minmax(0,54%) minmax(0,46%);align-items:stretch}
.cu-feature-media{position:relative;min-height:clamp(320px,42vw,560px);overflow:hidden;background:#170822}
.cu-feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.cu-feature-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 44%,rgba(21,7,31,.7) 84%,rgba(21,7,31,.95) 100%)}
.cu-feature-body{padding:clamp(28px,3.4vw,54px);display:flex;flex-direction:column;justify-content:center;gap:clamp(12px,1.5vw,18px)}
.cu-feature-body h3{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(26px,3.6vw,54px);line-height:.98;letter-spacing:-.006em;color:var(--off);font-weight:400}
.cu-feature-note{font-size:15.5px;line-height:1.68;color:var(--off-dim)}

/* détails / murs — mosaïque */
.cu-mosaic{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,18px)}
.cu-tile{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(150,90,214,.2);aspect-ratio:1/1;background:radial-gradient(ellipse 62% 56% at 50% 42%,rgba(150,90,214,.18),transparent 72%),#170822}
.cu-tile.is-wide{grid-column:span 2;aspect-ratio:2/1}
.cu-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .36s cubic-bezier(.2,.8,.2,1)}
.cu-tile:hover img{transform:scale(1.03)}
.cu-tile.is-soon{cursor:default;border-color:rgba(150,90,214,.28)}
.cu-tile.is-soon:hover{border-color:rgba(150,90,214,.5)}
.cu-tile.is-soon:hover img{transform:scale(1.02)}
.cu-tile-fb{position:absolute;inset:0;display:block;background-repeat:no-repeat;background-position:center;background-size:cover;transition:transform .36s cubic-bezier(.2,.8,.2,1)}
.cu-tile.is-soon:hover .cu-tile-fb{transform:scale(1.02)}
.cu-tile-soon{position:absolute;top:12px;right:12px;z-index:3;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:999px;border:1px solid rgba(150,90,214,.42);background:rgba(14,6,24,.6);color:var(--off-faint);opacity:0;transform:translateY(-4px);transition:opacity .28s ease,transform .28s ease}
.cu-tile.is-soon:hover .cu-tile-soon,.cu-tile.is-soon:focus-within .cu-tile-soon{opacity:1;transform:translateY(0)}
.cu-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,6,24,.88) 0%,rgba(14,6,24,.1) 52%,transparent 100%)}
.cu-tile-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(14px,1.6vw,20px);display:flex;flex-direction:column;gap:4px}
.cu-tile-cap b{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(13px,1.2vw,17px);line-height:1.08;letter-spacing:.04em;color:var(--off);font-weight:400}
.cu-tile-cap span{font-size:12px;color:var(--off-faint)}
.cu-tile image-slot{position:absolute;inset:0;width:100%;height:100%;display:block;color:rgba(247,244,248,.5)}

/* collaborations */
.cu-collab{background:radial-gradient(ellipse 36% 46% at 74% 48%,rgba(150,90,214,.22),transparent 74%),linear-gradient(140deg,#150720,#230933 76%,#300c42)}
.cu-collab-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(150,90,214,.16);border-radius:18px;overflow:hidden;margin-top:clamp(22px,2.5vw,34px)}
.cu-collab-list>div{background:#170822;padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;gap:9px}
.cu-collab-list b{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(15px,1.4vw,19px);letter-spacing:.05em;color:var(--off);font-weight:400}
.cu-collab-list span{font-size:14.5px;line-height:1.55;color:var(--off-faint)}
.cu-note{margin-top:clamp(18px,2vw,26px);font-size:13px;color:var(--off-faint)}

/* appels */
.cu-calls{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.7vw,22px)}
.cu-call{padding:clamp(24px,2.6vw,34px);border-radius:18px;border:1px solid rgba(150,90,214,.22);background:linear-gradient(180deg,#1d0a2c,#15071f);display:flex;flex-direction:column;gap:12px}
.cu-call-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cu-call-st{padding:6px 13px;border-radius:100px;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(247,244,248,.2);color:var(--off-faint)}
.cu-call-st[data-st="open"]{border-color:rgba(120,205,150,.5);color:#8fdcab;background:rgba(120,205,150,.08)}
.cu-call-st[data-st="coming-soon"]{border-color:rgba(226,163,43,.5);color:#e8b968}
.cu-call-st[data-st="filled"]{border-color:rgba(164,92,246,.5);color:var(--violet-lt)}
.cu-call h4{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(18px,1.7vw,24px);line-height:1.06;letter-spacing:.03em;color:var(--off);font-weight:400}
.cu-call-disc{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--violet-lt)}
.cu-call p{font-size:14.5px;line-height:1.6;color:var(--off-dim)}
.cu-call-meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13px;color:var(--off-faint)}
.cu-call .btn{margin-top:auto}
.cu-call button[disabled]{opacity:.42;cursor:not-allowed}

/* états vides */
.cu-empty{grid-column:1/-1;padding:clamp(30px,3.6vw,52px);border-radius:18px;border:1px dashed rgba(150,90,214,.3);text-align:center}
.cu-empty-h{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(19px,2.2vw,30px);line-height:1.06;color:var(--off);font-weight:400}
.cu-empty-p{margin-top:12px;font-size:15.5px;line-height:1.62;color:var(--off-faint);max-width:48ch;margin-left:auto;margin-right:auto}
.cu-empty .cta-row{justify-content:center;flex-wrap:wrap;margin-top:22px}

/* fiche */
.cu-detail-hero{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:#170822;margin-bottom:clamp(20px,2.4vw,30px)}
.cu-detail-hero img{width:100%;height:100%;object-fit:cover;display:block}
.cu-detail-h{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(26px,3.6vw,46px);line-height:1;letter-spacing:-.004em;color:var(--off);font-weight:400;margin:0 0 8px}
.cu-detail-loc{font-size:15px;color:var(--off-faint);margin-bottom:14px}
.cu-blk{margin-top:clamp(18px,2vw,26px);padding-top:clamp(15px,1.7vw,21px);border-top:1px solid rgba(150,90,214,.2)}
.cu-blk b{display:block;font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--violet-lt);margin-bottom:10px}
.cu-blk p{font-size:15.5px;line-height:1.7;color:var(--off-dim);white-space:pre-wrap}
.cu-blk a{color:var(--violet-lt)}

/* clôture */
.cu-closer{margin-top:clamp(50px,6vw,92px);padding-top:clamp(34px,4vw,56px);border-top:1px solid rgba(150,90,214,.2);text-align:center}
.cu-closer-h{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(26px,4.4vw,68px);line-height:1.02;letter-spacing:-.008em;color:var(--off)}
.cu-closer-h em{font-style:normal;color:var(--violet)}
.cu-closer-p{margin-top:clamp(14px,1.6vw,22px);font-size:clamp(15px,1.4vw,19px);color:var(--off-dim)}

@media(max-width:1080px){
  .cu-grid{grid-template-columns:repeat(2,1fr)}
  .cu-grid.is-empty{grid-template-columns:1fr}
  .cu-mosaic{grid-template-columns:repeat(2,1fr)}
  .cu-calls,.cu-collab-list{grid-template-columns:1fr}
  .cu-feature-grid{grid-template-columns:1fr}
  .cu-feature-media{min-height:min(46vh,340px)}
  .cu-feature-media::after{background:linear-gradient(0deg,rgba(21,7,31,.92) 0%,rgba(21,7,31,.22) 32%,transparent 62%)}
}
@media(max-width:720px){
  .cu-grid{grid-template-columns:1fr}
  .cu-mosaic{grid-template-columns:1fr}
  .cu-tile.is-wide{grid-column:span 1;aspect-ratio:2/1}
  .cu-tile-soon{opacity:1;transform:none}
  .cu-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
  .cu-filters::-webkit-scrollbar{display:none}
  .cu-filters .chip{flex-shrink:0}
  .cu-detail-hero{aspect-ratio:4/3}
}
