  :root{
    --bg:#05070c;
    --bg-panel:#0b0e17;
    --bg-panel-2:#10131f;
    --line:#1d2330;
    --text:#e9edf3;
    --text-muted:#7c8797;
    --studio:#8fa8bd;
    --studio-bright:#bcd2e0;
    --live:#6f88a8;
    --live-bright:#93aecd;
    --musicien:#7f7fab;
    --musicien-bright:#a6a6d4;
    --radius:2px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}

  html{scroll-behavior:smooth;}

  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter', sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }

  h1,h2,h3{
    font-family:'Fraunces', serif;
    font-weight:500;
    line-height:1.15;
    letter-spacing:-0.01em;
  }

  .mono{
    font-family:'Space Mono', monospace;
  }

  a{color:inherit; text-decoration:none;}

  img{max-width:100%; display:block;}

  .wrap{
    max-width:1160px;
    margin:0 auto;
    padding:0 32px;
  }

  :focus-visible{
    outline:2px solid var(--studio-bright);
    outline-offset:3px;
  }

  /* ---------- HEADER ---------- */
  header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(5,7,12,0.92);
    backdrop-filter:blur(6px);
    border-bottom:1px solid var(--line);
  }

  .nav-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    height:76px;
  }

  .logo{
    font-family:'Space Mono', monospace;
    font-size:0.85rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
  }

  .logo span{color:var(--studio-bright);}

  nav ul{
    list-style:none;
    display:flex;
    gap:36px;
  }

  nav a{
    font-size:0.9rem;
    color:var(--text-muted);
    transition:color 0.2s ease;
    position:relative;
  }

  nav a:hover, nav a:focus-visible{color:var(--text);}

  .nav-cta{
    border:1px solid var(--line);
    padding:9px 18px;
    font-size:0.85rem;
    border-radius:var(--radius);
    transition:border-color 0.2s ease, color 0.2s ease;
    white-space:nowrap;
  }

  .nav-cta:hover, .nav-cta:focus-visible{
    border-color:var(--studio-bright);
    color:var(--studio-bright);
  }

  .burger{
    display:none;
    background:none;
    border:none;
    color:var(--text);
    font-size:1.5rem;
    cursor:pointer;
  }

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding:120px 0 80px;
    overflow:hidden;
  }

  .hero-grid{
    display:grid;
    grid-template-columns:1.2fr 0.8fr;
    gap:56px;
    align-items:center;
    margin-bottom:70px;
  }

  .hero-photo{
    aspect-ratio:4/3;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
  }

  .hero-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:35% center;
    display:block;
  }

  .hero-glow{
    position:absolute;
    top:-180px;
    right:-140px;
    width:520px;
    height:520px;
    border-radius:50%;
    background:radial-gradient(circle at 40% 40%, rgba(188,210,224,0.10), rgba(188,210,224,0.03) 45%, transparent 70%);
    pointer-events:none;
  }

  .hero-glow::before{
    content:"";
    position:absolute;
    inset:60px;
    border-radius:50%;
    border:1px solid rgba(188,210,224,0.06);
  }

  .hero-glow::after{
    content:"";
    position:absolute;
    inset:120px;
    border-radius:50%;
    border:1px solid rgba(188,210,224,0.05);
  }

  .hero-eyebrow{
    font-size:0.78rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--text-muted);
    margin-bottom:26px;
    display:inline-flex;
    align-items:center;
    gap:16px;
  }

  .hero-eyebrow::before, .hero-eyebrow::after{
    content:"";
    width:32px;
    height:1px;
    background:var(--line);
  }

  .hero h1{
    font-size:clamp(2.4rem, 5.6vw, 4.4rem);
    max-width:900px;
    margin-bottom:26px;
  }

  .hero h1 em{
    font-style:italic;
    color:var(--studio-bright);
  }

  .hero p{
    font-size:1.15rem;
    color:var(--text-muted);
    max-width:560px;
    margin-bottom:40px;
  }

  .hero-ctas{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
  }

  .btn{
    display:inline-block;
    padding:14px 28px;
    border-radius:var(--radius);
    font-size:0.95rem;
    font-weight:500;
    font-family:inherit;
    background:none;
    -webkit-appearance:none;
    appearance:none;
    cursor:pointer;
    transition:transform 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  }

  .btn-primary{
    background:var(--studio-bright);
    color:#05070c;
  }
  .btn-primary:hover, .btn-primary:focus-visible{
    background:#d8e6ee;
    transform:translateY(-1px);
  }

  .btn-ghost{
    background:transparent;
    border:1px solid var(--line);
    color:var(--text);
  }
  .btn-ghost:hover, .btn-ghost:focus-visible{
    border-color:var(--text-muted);
  }

  #waveform{
    display:block;
    width:100%;
    height:60px;
    opacity:0.5;
  }

  /* ---------- TICKER ---------- */
  .ticker-band{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:var(--bg-panel);
    overflow:hidden;
    padding:18px 0;
  }

  .ticker-track{
    display:flex;
    width:max-content;
    animation:scroll 32s linear infinite;
  }

  .ticker-track span img{
    height:34px;
    width:auto;
    max-width:120px;
    object-fit:contain;
    filter:grayscale(1) brightness(1.6) contrast(0.9);
    opacity:0.75;
    transition:opacity 0.2s ease, filter 0.2s ease;
  }

  .ticker-track span.logo-badge{
    background:#f3eee6;
    border-radius:4px;
    padding:4px 8px;
  }

  .ticker-track span.logo-badge img{
    filter:none;
    opacity:1;
  }

  .ticker-track span:hover img{
    filter:none;
    opacity:1;
  }

  .ticker-track span{
    display:flex;
    align-items:center;
    padding:0 32px;
    border-right:1px solid var(--line);
  }

  @keyframes scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* ---------- SECTION HEADER ---------- */
  .section{
    padding:110px 0;
  }

  .section-header{
    margin-bottom:44px;
    max-width:640px;
  }

  .eyebrow{
    font-family:'Space Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--studio-bright);
    margin-bottom:16px;
    display:block;
  }

  .section-header h2{
    font-size:clamp(1.8rem, 3.6vw, 2.6rem);
    margin-bottom:16px;
  }

  .section-header p{
    color:var(--text-muted);
    font-size:1.05rem;
  }

  /* ---------- CHANNEL STRIPS (ACTIVITÉS) ---------- */
  .channels{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }

  .channel{
    background:var(--bg-panel);
    padding:28px 26px 26px;
    display:flex;
    flex-direction:column;
    gap:12px;
    position:relative;
    transition:background 0.25s ease;
  }

  .channel-icon{
    width:44px;
    height:44px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    border:1px solid var(--line);
  }

  .channel-icon svg{
    width:22px;
    height:22px;
  }

  .channel.studio .channel-icon{color:var(--studio-bright);}
  .channel.live .channel-icon{color:var(--live-bright);}
  .channel.musicien .channel-icon{color:var(--musicien-bright);}

  .channel-media{
    width:52px;
    height:52px;
    border-radius:4px;
    overflow:hidden;
    flex-shrink:0;
  }

  .channel-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .channel-media.placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.1rem;
    color:var(--text-muted);
    opacity:0.5;
  }

  .channel.studio .channel-media.placeholder{background:linear-gradient(135deg, #1a212e, #0b0e17);}
  .channel.live .channel-media.placeholder{background:linear-gradient(135deg, #131c2c, #0b0e17);}
  .channel.musicien .channel-media.placeholder{background:linear-gradient(135deg, #191833, #0b0e17);}

  .channel:hover{background:var(--bg-panel-2);}

  .channel-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
  }

  .channel-heading{
    display:flex;
    align-items:center;
    gap:12px;
  }

  .channel-id{
    font-family:'Space Mono', monospace;
    font-size:0.78rem;
    color:var(--text-muted);
    letter-spacing:0.08em;
  }

  .meter{
    width:6px;
    height:48px;
    border-radius:3px;
    background:var(--line);
    position:relative;
    overflow:hidden;
    flex-shrink:0;
  }

  .meter::after{
    content:"";
    position:absolute;
    bottom:0; left:0; right:0;
    height:38%;
    border-radius:3px;
    animation:meter-pulse 2.6s ease-in-out infinite;
  }

  .channel.studio .meter::after{background:linear-gradient(var(--studio-bright), var(--studio));}
  .channel.live .meter::after{background:linear-gradient(var(--live-bright), var(--live)); animation-delay:0.4s;}
  .channel.musicien .meter::after{background:linear-gradient(var(--musicien-bright), var(--musicien)); animation-delay:0.8s;}

  @keyframes meter-pulse{
    0%, 100%{height:30%;}
    50%{height:72%;}
  }

  .channel h3{
    font-size:1.5rem;
  }

  .channel.studio h3{color:var(--studio-bright);}
  .channel.live h3{color:var(--live-bright);}
  .channel.musicien h3{color:var(--musicien-bright);}

  .channel p{
    color:var(--text-muted);
    font-size:0.98rem;
    flex-grow:1;
  }

  .tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:4px;
  }

  .tag{
    font-family:'Inter', sans-serif;
    font-size:0.78rem;
    padding:5px 10px;
    border:1px solid var(--line);
    color:var(--text-muted);
    border-radius:var(--radius);
  }

  .channel-link{
    font-size:0.9rem;
    font-weight:500;
    margin-top:6px;
    display:inline-flex;
    align-items:center;
    gap:6px;
  }

  .channel.studio .channel-link{color:var(--studio-bright);}
  .channel.live .channel-link{color:var(--live-bright);}
  .channel.musicien .channel-link{color:var(--musicien-bright);}

  .channel-link .arrow{transition:transform 0.2s ease;}
  .channel-link:hover .arrow{transform:translateX(4px);}

  /* ---------- DISCOGRAPHIE (STUDIO) ---------- */
  .filters{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:44px;
  }

  .filter-btn{
    font-family:'Space Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.05em;
    text-transform:uppercase;
    padding:9px 16px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    color:var(--text-muted);
    background:none;
    cursor:pointer;
    transition:all 0.2s ease;
  }

  .filter-btn:hover{color:var(--text);}

  .filter-btn.active{
    color:var(--bg);
    background:var(--text);
    border-color:var(--text);
  }

  .discography{
    border-top:1px solid var(--line);
  }

  .year-block{
    display:grid;
    grid-template-columns:90px 1fr;
    gap:24px;
    padding:32px 0;
    border-bottom:1px solid var(--line);
  }

  #portfolioVideos .year-block,
  #portfolioAudio .year-block{
    grid-template-columns:1fr;
  }

  #portfolioVideos .year-label,
  #portfolioAudio .year-label{
    display:none;
  }

  .year-label{
    font-family:'Space Mono', monospace;
    font-size:0.95rem;
    color:var(--studio-bright);
    padding-top:2px;
  }

  .year-entries{
    display:flex;
    flex-direction:column;
    gap:16px;
  }

  .entry{
    display:flex;
    flex-wrap:wrap;
    align-items:baseline;
    column-gap:14px;
    row-gap:6px;
  }

  .entry-video{
    display:flex;
    align-items:center;
    column-gap:14px;
    row-gap:6px;
    width:100%;
  }

  .entry-thumb{
    width:96px;
    aspect-ratio:16/9;
    border-radius:3px;
    overflow:hidden;
    flex-shrink:0;
    background:linear-gradient(135deg, #171c2c, #0b0e17);
  }

  .entry-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .entry-thumb.immersive-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--musicien-bright);
    aspect-ratio:1/1;
    width:48px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(160,140,220,0.12), transparent 70%);
  }

  .entry-thumb.immersive-icon svg{
    width:26px;
    height:26px;
  }

  .entry-video .entry{
    flex:1;
    min-width:0;
  }

  .entry-title{
    font-family:'Fraunces', serif;
    font-size:1.02rem;
    color:var(--text);
  }

  .entry-artist{
    color:var(--text-muted);
    font-size:0.92rem;
  }

  .entry-label{
    font-family:'Space Mono', monospace;
    font-size:0.72rem;
    color:var(--text-muted);
    opacity:0.7;
  }

  .entry-label::before{
    content:"· ";
  }

  .entry-tags{
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-left:auto;
  }

  .role-tag{
    font-family:'Inter', sans-serif;
    font-size:0.76rem;
    padding:4px 9px;
    color:var(--text-muted);
    white-space:nowrap;
  }

  .role-tag::before{
    content:"·";
    margin-right:6px;
    color:var(--line);
  }

  .role-tag:first-child::before{content:none; margin-right:0;}

  .entry.hidden{display:none;}
  .year-block.hidden{display:none;}

  /* ---------- LIVE ---------- */
  .live-grid{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:64px;
  }

  .live-grid.three{
    grid-template-columns:1.1fr 1fr 1fr;
  }

  .artist-pills.featured{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }

  .pill.featured{
    border-color:var(--live);
    color:var(--live-bright);
    position:relative;
    padding-left:26px;
  }

  .pill.featured::before{
    content:"";
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--live-bright);
    box-shadow:0 0 0 3px rgba(111,174,230,0.15);
  }

  .live-block h3{
    font-size:1.2rem;
    margin-bottom:20px;
    color:var(--live-bright);
  }

  .artist-pills{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }

  .pill{
    display:inline-block;
    font-size:0.9rem;
    padding:9px 16px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    color:var(--text);
    transition:all 0.2s ease;
  }

  a.pill:hover, a.pill:focus-visible{
    border-color:var(--live-bright);
    color:var(--live-bright);
    transform:translateY(-2px);
  }

  .festival-list{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:14px;
  }

  .festival-item{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
  }

  .festival-name{
    font-family:'Fraunces', serif;
    font-size:1.02rem;
  }

  .festival-years{
    font-family:'Space Mono', monospace;
    font-size:0.82rem;
    color:var(--live-bright);
    white-space:nowrap;
  }

  /* ---------- MUSICIEN ---------- */
  .musicien-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
  }

  .music-card{
    position:relative;
    overflow:visible;
  }

  .music-cover{
    aspect-ratio:1/1;
    position:relative;
    border-radius:50%;
    background:radial-gradient(circle at 38% 35%, #2a2550 0%, #14152a 55%, #0b0e17 78%);
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Inter', sans-serif;
    font-size:0.82rem;
    font-style:italic;
    color:var(--text-muted);
    text-align:center;
    padding:20px;
    max-width:320px;
    margin:0 auto 30px;
  }

  .music-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
    display:block;
    position:relative;
    z-index:1;
  }

  .music-cover::before{
    content:"";
    position:absolute;
    inset:14%;
    border-radius:50%;
    border:1px solid rgba(230,236,246,0.09);
  }

  .music-cover::after{
    content:"";
    position:absolute;
    inset:28%;
    border-radius:50%;
    border:1px solid rgba(230,236,246,0.07);
  }

  .music-body{
    text-align:center;
    max-width:340px;
    margin:0 auto;
  }

  .music-body h3{
    font-size:1.7rem;
    font-weight:500;
    color:var(--text);
    margin-bottom:10px;
  }

  .music-body p{
    color:var(--text-muted);
    font-size:0.96rem;
    margin-bottom:18px;
  }

  .music-link{
    font-family:'Space Mono', monospace;
    font-size:0.82rem;
    letter-spacing:0.04em;
    color:var(--musicien-bright);
    border-bottom:1px solid var(--musicien);
    padding-bottom:2px;
  }

  /* ---------- A PROPOS ---------- */
  .about-grid{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:64px;
    align-items:start;
  }

  .about-photo{
    aspect-ratio:1/1;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
  }

  .about-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:68% center;
    display:block;
  }

  .about-text p{
    color:var(--text-muted);
    margin-bottom:20px;
    font-size:1.02rem;
  }

  .timeline{
    margin-top:34px;
    border-top:1px solid var(--line);
  }

  .timeline-item{
    display:grid;
    grid-template-columns:90px 1fr;
    gap:24px;
    padding:20px 0;
    border-bottom:1px solid var(--line);
  }

  .timeline-year{
    font-family:'Space Mono', monospace;
    font-size:0.85rem;
    color:var(--studio-bright);
  }

  .timeline-content h4{
    font-family:'Inter', sans-serif;
    font-weight:600;
    font-size:0.98rem;
    margin-bottom:4px;
  }

  .timeline-content p{
    color:var(--text-muted);
    font-size:0.9rem;
  }

  /* ---------- CONTACT ---------- */
  .contact{
    position:relative;
    background:
      linear-gradient(rgba(5,7,12,0.93), rgba(5,7,12,0.93)),
      url('../images/live-photo.jpg') center/cover;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    text-align:center;
    padding:110px 0;
  }

  .contact h2{
    font-size:clamp(1.9rem, 4vw, 3rem);
    max-width:760px;
    margin:0 auto 34px;
  }

  .contact-links{
    display:flex;
    justify-content:center;
    gap:14px;
    margin-top:36px;
    flex-wrap:wrap;
  }

  .social-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:1px solid var(--line);
    border-radius:50%;
    color:var(--text-muted);
    transition:all 0.2s ease;
  }

  .social-icon svg{
    width:19px;
    height:19px;
  }

  .social-icon:hover, .social-icon:focus-visible{
    color:var(--text);
    border-color:var(--text-muted);
    transform:translateY(-2px);
  }

  /* ---------- FOOTER ---------- */
  footer{
    padding:50px 0;
  }

  .footer-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:20px;
  }

  .footer-inner p{
    color:var(--text-muted);
    font-size:0.82rem;
  }

  .footer-nav{
    display:flex;
    gap:22px;
    list-style:none;
    flex-wrap:wrap;
  }

  .footer-nav a{
    font-size:0.82rem;
    color:var(--text-muted);
  }
  .footer-nav a:hover{color:var(--text);}

  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 860px){
    nav ul, .nav-cta{display:none;}
    .burger{display:block;}
    nav.open ul{
      display:flex;
      flex-direction:column;
      position:absolute;
      top:76px; left:0; right:0;
      background:var(--bg);
      border-bottom:1px solid var(--line);
      padding:24px 32px;
      gap:20px;
    }
    .channels{grid-template-columns:1fr;}
    .hero-grid{grid-template-columns:1fr; gap:36px;}
    .hero-photo{aspect-ratio:16/9; max-width:420px;}
    .live-grid{grid-template-columns:1fr; gap:44px;}
    .live-grid.three{grid-template-columns:1fr;}
    .musicien-grid{grid-template-columns:1fr;}
    .about-grid{grid-template-columns:1fr;}
    .about-photo{aspect-ratio:5/3;}
  }

  @media (max-width: 560px){
    .wrap{padding:0 20px;}
    .hero{padding:90px 0 60px;}
    .section{padding:80px 0;}
    .timeline-item{grid-template-columns:70px 1fr;}
    .year-block{grid-template-columns:1fr; gap:8px;}
    .entry-tags{margin-left:0;}
  }

  @media (prefers-reduced-motion: reduce){
    .ticker-track{animation:none;}
    .meter::after{animation:none; height:50%;}
    html{scroll-behavior:auto;}
  }

  /* ---------- DERNIERES SORTIES (HOME) ---------- */
  .releases-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:20px;
  }

  .release-card{
    display:block;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:0 0 20px;
    overflow:hidden;
    transition:border-color 0.2s ease, transform 0.2s ease;
  }

  .release-cover{
    aspect-ratio:1/1;
    margin-bottom:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg, #171c2c, #0b0e17);
  }

  .release-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .release-cover.placeholder{
    font-family:'Space Mono', monospace;
    font-size:0.75rem;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:0.05em;
  }

  .release-card > .release-type,
  .release-card > .release-title,
  .release-card > .release-meta,
  .release-card > .release-footer{
    margin-left:20px;
    margin-right:20px;
  }

  .release-card:hover{
    border-color:var(--text-muted);
    transform:translateY(-2px);
  }

  .release-type{
    font-family:'Space Mono', monospace;
    font-size:0.7rem;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--studio-bright);
  }

  .release-title{
    font-family:'Fraunces', serif;
    font-size:1.1rem;
    font-weight:500;
    margin:10px 0 6px;
  }

  .release-meta{
    color:var(--text-muted);
    font-size:0.86rem;
    margin-bottom:14px;
  }

  .release-date{
    font-family:'Space Mono', monospace;
    font-size:0.78rem;
    color:var(--text-muted);
  }

  .release-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:2px;
  }

  .release-play{
    font-family:'Space Mono', monospace;
    font-size:0.72rem;
    color:var(--studio-bright);
    white-space:nowrap;
  }

  /* ---------- ACTUALITES (HOME) ---------- */
  .news-item{
    display:grid;
    grid-template-columns:110px 1fr;
    gap:24px;
    padding:26px 0;
    border-bottom:1px solid var(--line);
  }

  .news-date{
    font-family:'Space Mono', monospace;
    font-size:0.85rem;
    color:var(--musicien-bright);
  }

  .news-body h3{
    font-family:'Fraunces', serif;
    font-size:1.3rem;
    font-weight:500;
    margin-bottom:8px;
  }

  .news-body p{
    color:var(--text-muted);
    font-size:0.95rem;
  }

  .news-link{
    display:inline-block;
    margin-top:10px;
    font-size:0.9rem;
    font-weight:500;
    color:var(--musicien-bright);
  }

  @media (max-width: 860px){
    .releases-grid{grid-template-columns:1fr 1fr;}
    .news-item{grid-template-columns:1fr; gap:8px;}
  }

  @media (max-width: 560px){
    .releases-grid{grid-template-columns:1fr;}
  }

  /* ---------- SELECTEUR DE LANGUE ---------- */
  .lang-switch{
    font-family:'Space Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.05em;
    color:var(--text-muted);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:6px 12px;
    margin-right:16px;
    transition:all 0.2s ease;
  }

  .lang-switch:hover, .lang-switch:focus-visible{
    color:var(--text);
    border-color:var(--text-muted);
  }

  @media (max-width: 860px){
    .lang-switch{display:none;}
  }

  /* ---------- PORTFOLIO (VIDEOS) ---------- */
  .video-link{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--text);
    transition:color 0.2s ease;
  }

  .video-link:hover, .video-link:focus-visible{
    color:var(--studio-bright);
  }

  .play-icon{
    font-size:0.6rem;
    color:var(--studio-bright);
  }

  .portfolio-albums-cta{
    margin-top:36px;
    padding-top:28px;
    border-top:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    flex-wrap:wrap;
  }

  .portfolio-albums-cta p{
    color:var(--text-muted);
    font-size:0.95rem;
  }

  /* ---------- POCHETTES (BANDEAU ANIME) ---------- */
  .covers-band{
    overflow:hidden;
    margin-bottom:60px;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  }

  .covers-track{
    display:flex;
    width:max-content;
    gap:16px;
    animation:covers-scroll 140s linear infinite;
  }

  .covers-track:hover{
    animation-play-state:paused;
  }

  .cover-item{
    width:120px;
    height:120px;
    flex-shrink:0;
    border-radius:3px;
    overflow:hidden;
    position:relative;
    transition:transform 0.3s ease;
  }

  .cover-item:hover{
    transform:scale(1.08);
    z-index:2;
  }

  .cover-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .cover-item.placeholder{
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Space Mono', monospace;
    font-size:0.62rem;
    color:var(--text-muted);
    text-align:center;
    padding:8px;
    background:linear-gradient(135deg, #171c2c, #0b0e17);
    border:1px dashed var(--line);
  }

  @keyframes covers-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  @media (max-width: 560px){
    .cover-item{width:88px; height:88px;}
  }

  @media (prefers-reduced-motion: reduce){
    .covers-track{animation:none;}
  }

  .listen-cta{
    margin-bottom:70px;
    padding:32px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:var(--bg-panel);
  }

  .listen-cta h3{
    font-family:'Fraunces', serif;
    font-size:1.3rem;
    margin-bottom:8px;
  }

  .listen-cta p{
    color:var(--text-muted);
    font-size:0.92rem;
    margin-bottom:22px;
  }

  .listen-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
  }

  .listen-btn{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 22px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    color:var(--text);
    font-size:0.92rem;
    font-weight:500;
    transition:all 0.2s ease;
  }

  .listen-btn svg{
    width:20px;
    height:20px;
    flex-shrink:0;
  }

  .listen-btn:hover, .listen-btn:focus-visible{
    border-color:var(--studio-bright);
    color:var(--studio-bright);
    transform:translateY(-2px);
  }

  /* ---------- EP ANNOUNCE (INSTANTS) ---------- */
  .ep-announce{
    display:grid;
    grid-template-columns:0.7fr 1fr;
    gap:56px;
    align-items:center;
    padding:48px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:radial-gradient(circle at 20% 30%, rgba(160,140,220,0.05), transparent 60%), var(--bg-panel);
  }

  .ep-cover{
    aspect-ratio:1/1;
    border-radius:50%;
    overflow:hidden;
    max-width:320px;
  }

  .ep-cover img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .ep-info h2{
    font-size:2.4rem;
    color:var(--musicien-bright);
    margin:8px 0 12px;
  }

  .ep-date{
    font-family:'Space Mono', monospace;
    font-size:0.85rem;
    color:var(--text);
    margin-bottom:16px;
  }

  .ep-info p:last-child{
    color:var(--text-muted);
  }

  .ep-info .btn-primary{
    background:var(--musicien-bright);
    color:#0b0714;
    box-shadow:0 0 28px rgba(160,140,220,0.45);
    font-weight:600;
  }
  .ep-info .btn-primary:hover, .ep-info .btn-primary:focus-visible{
    background:#c4b3ec;
    box-shadow:0 0 34px rgba(160,140,220,0.6);
  }

  /* ---------- VIDEOS EMBARQUEES ---------- */
  .video-embed-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }

  .video-embed{
    position:relative;
    aspect-ratio:16/9;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
  }

  .video-embed iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }

  @media (max-width: 860px){
    .ep-announce{grid-template-columns:1fr; text-align:center; padding:32px 24px;}
    .ep-cover{margin:0 auto;}
    .video-embed-grid{grid-template-columns:1fr;}
  }

  .portfolio-jump{
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    margin-top:8px;
  }

  .portfolio-jump a{
    font-family:'Space Mono', monospace;
    font-size:0.82rem;
    letter-spacing:0.03em;
    color:var(--text-muted);
    border-bottom:1px solid var(--line);
    padding-bottom:3px;
    transition:color 0.2s ease, border-color 0.2s ease;
  }

  .portfolio-jump a:hover{
    color:var(--studio-bright);
    border-color:var(--studio-bright);
  }

  .plain-heading{
    font-family:'Fraunces', serif;
    font-weight:500;
    font-size:1.7rem;
    text-transform:none;
    letter-spacing:normal;
    color:var(--text);
  }

  .section-tight{
    padding-top:50px;
    padding-bottom:50px;
  }

  /* ---------- CTA DE FIN DE PAGE ---------- */
  .page-cta{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    background:var(--bg-panel);
    padding:56px 0;
    text-align:center;
  }

  .page-cta h3{
    font-family:'Fraunces', serif;
    font-size:1.6rem;
    font-weight:500;
    margin-bottom:12px;
  }

  .page-cta p{
    color:var(--text-muted);
    font-size:0.98rem;
    max-width:520px;
    margin:0 auto 24px;
  }

  /* ---------- TRAVAILLER ENSEMBLE ---------- */
  .process-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
    margin-bottom:36px;
  }

  .process-step{
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:26px 24px;
    background:var(--bg-panel);
  }

  .process-num{
    font-family:'Space Mono', monospace;
    font-size:0.78rem;
    color:var(--studio-bright);
    letter-spacing:0.08em;
    display:block;
    margin-bottom:12px;
  }

  .process-step h4{
    font-family:'Fraunces', serif;
    font-size:1.15rem;
    font-weight:500;
    margin-bottom:8px;
    color:var(--text);
  }

  .process-step p{
    color:var(--text-muted);
    font-size:0.92rem;
    line-height:1.7;
  }

  .gear-note{
    color:var(--text-muted);
    font-size:0.9rem;
    padding:18px 22px;
    border-left:2px solid var(--line);
    margin-bottom:32px;
  }

  @media (max-width: 860px){
    .process-grid{grid-template-columns:1fr;}
  }

  /* ---------- GALERIE LIVE ---------- */
  .live-gallery{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
    margin-bottom:70px;
  }

  .live-shot{
    display:flex;
    flex-direction:column;
  }

  .live-shot-img{
    aspect-ratio:4/3;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid var(--line);
  }

  .live-shot-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .live-shot figcaption{
    font-family:'Space Mono', monospace;
    font-size:0.76rem;
    letter-spacing:0.03em;
    color:var(--text-muted);
    margin-top:12px;
  }

  .live-shot figcaption strong{
    color:var(--text);
    font-weight:400;
  }

  @media (max-width: 860px){
    .live-gallery{grid-template-columns:1fr;}
  }
