/* Pacifica — feuille de style partagee (externalisee des 3 HTML le 13/06/2026) */
/* ── Polices auto-hébergées (RGPD, perf, stabilité) ── */
@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/bebas-neue-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:300;font-display:swap;src:url('fonts/dm-sans-latin-300-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/dm-sans-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/dm-sans-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:300;font-display:swap;src:url('fonts/dm-sans-latin-300-italic.woff2') format('woff2');}
/* ── Images responsives : variantes mobiles pour backgrounds (perf data mobile) ── */
@media (max-width:768px){
  #slide1{ background-image:url('images/hero-slide1-1000.webp') !important; }
  #slide2{ background-image:url('images/hero-slide2-1000.webp') !important; }
  .lyrics-hero{ background-image:url('images/lyrics-bg-1000.webp') !important; }
}

  * { margin: 0; padding: 0; box-sizing: border-box; }
  :root {
    --black: #0a0a0a;
    --white: #f5f0ea;
    --pink: #e8426e;
    --pink-light: #f9c8d6;
    --blue: #5DC8E8;
    --blue-dark: #2a9abf;
    --gray: #2a2a2a;
    --mid: #888;
  }
  body {
    font-family: 'DM Sans', sans-serif;
    background: var(--black);
    color: var(--white);
    font-size: 15px;
    line-height: 1.6;
    overflow-x: hidden;
  }

  nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 18px;
    background: rgba(var(--nav),0.85);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(var(--w1),0.06);
  }
  .nav-logo { font-family: 'Bebas Neue', sans-serif; font-size: 28px; letter-spacing: 4px; color: var(--white); flex-shrink: 0; white-space: nowrap; }
  .nav-links { display: flex; gap: 12px; margin-left: 12px; }
  .nav-links a { font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--mid); text-decoration: none; transition: color 0.2s; white-space: nowrap; }
  .nav-links a:hover { color: var(--white); }

  /* HERO */
  #hero {
    height: 100vh;
    position: relative;
    overflow: hidden;
  }
  .hero-slide {
    position: absolute; inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.2s ease-in-out;
  }
  .hero-slide.active { opacity: 1; }
  .hero-slide::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.75) 0%, rgba(0,0,0,0.3) 60%, rgba(0,0,0,0.1) 100%),
                linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 40%);
  }
  .hero-content {
    position: absolute;
    bottom: 120px; left: 40px;
    z-index: 2;
  }
  .hero-tag { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--pink); margin-bottom: 16px; }
  .hero-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(80px, 14vw, 180px);
    line-height: 0.9;
    letter-spacing: 2px;
  }
  
  .hero-sub { font-size: 13px; letter-spacing: 2px; text-transform: uppercase; color: rgba(var(--w1),0.7); margin-top: 24px; max-width: 600px; }
  .hero-identity { font-size: 12px; line-height: 1.55; color: rgba(var(--w1),0.4); max-width: 540px; margin-top: 26px; letter-spacing: 0.3px; animation: heroFadeUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.85s both; }
  .hero-ctas { display: flex; gap: 16px; margin-top: 40px; }
  .btn-primary { background: var(--pink); color: var(--white); padding: 14px 32px; border: none; cursor: pointer; font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 500; transition: background 0.2s; }
  .btn-primary:hover { background: #d63862; }
  .btn-outline { background: transparent; color: var(--white); padding: 14px 32px; border: 1px solid rgba(var(--w1),0.4); cursor: pointer; font-family: 'DM Sans', sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 500; transition: border-color 0.2s; }
  .btn-outline:hover { border-color: var(--white); }

  .hero-dots {
    position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
    display: flex; gap: 10px; z-index: 3;
  }
  .dot {
    width: 6px; height: 6px; border-radius: 50%;
    background: rgba(var(--w1),0.3); cursor: pointer;
    transition: background 0.3s, transform 0.3s;
  }
  .dot.active { background: var(--pink); transform: scale(1.3); }

  .hero-photo-credit {
    position: absolute; bottom: 52px; left: 40px;
    font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    color: rgba(var(--w1),0.3); z-index: 3;
    transition: opacity 0.5s;
  }

  .ticker {
    position: absolute; bottom: 0; left: 0; right: 0;
    background: #5DC8E8; padding: 7px 0; overflow: hidden; z-index: 3;
  }
  .ticker-inner { display: flex; white-space: nowrap; animation: ticker 20s linear infinite; }
  .ticker-text { font-family: 'Bebas Neue', sans-serif; font-size: 13px; letter-spacing: 4px; color: var(--white); padding: 0 40px; }
  @keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

  section { padding: 100px 40px; }

  /* ABOUT */
  #about { background: var(--black); display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; margin-top: 72px; }
  .about-visual { aspect-ratio: 3/4; background: var(--gray); position: relative; overflow: hidden; }
  .about-visual-inner { position: absolute; inset: 0; background: linear-gradient(135deg, #1a1a1a 0%, #2a1520 50%, #1a0a10 100%); display: flex; align-items: center; justify-content: center; }
  .about-monogram { font-family: 'Bebas Neue', sans-serif; font-size: 200px; color: rgba(232,66,110,0.15); user-select: none; line-height: 1; }
  .about-badge { position: absolute; bottom: 24px; left: 24px; background: var(--pink); padding: 8px 16px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--white); }
  .section-label { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--pink); margin-bottom: 16px; }
  .section-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(42px, 6vw, 72px); line-height: 1.06; letter-spacing: 1px; margin-bottom: 24px; padding-bottom: 2px; }
  .about-text { color: #aaa; line-height: 1.8; margin-bottom: 16px; font-weight: 300; }
  .members { display: flex; gap: 24px; margin-top: 40px; }
  .member-card { flex: 1; border: 1px solid rgba(var(--w1),0.08); padding: 20px; }
  .member-name { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 2px; color: var(--white); white-space: nowrap; }
  .member-role { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--pink); margin-top: 4px; }

  /* MUSIC */

  /* DISCOGRAPHY */
  #music { background: var(--surface); }
  .music-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 48px; }
  .disc-cat-title { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 4px; color: rgba(var(--w1),0.3); text-transform: uppercase; margin-bottom: 28px; border-bottom: 1px solid rgba(var(--w1),0.06); padding-bottom: 12px; }
  .disc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .disc-card { display: flex; gap: 16px; align-items: center; padding: 16px; border: 1px solid rgba(var(--w1),0.06); transition: border-color 0.2s, background 0.2s; cursor: pointer; }
  .disc-card:hover { border-color: rgba(232,66,110,0.4); background: rgba(232,66,110,0.04); }
  .disc-art { width: 72px; height: 72px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
  .disc-letter { font-family: 'Bebas Neue', sans-serif; font-size: 20px; color: rgba(var(--w1),0.5); letter-spacing: 1px; }
  .disc-info { flex: 1; min-width: 0; }
  .disc-title { font-family: 'Bebas Neue', sans-serif; font-size: 18px; letter-spacing: 1px; color: var(--white); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .disc-year { font-size: 12px; color: var(--mid); margin: 3px 0 6px; }
  .disc-type { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; padding: 3px 8px; }
  .disc-type.album { color: var(--pink); border: 1px solid var(--pink); }
  .disc-type.ep { color: #7ec8e3; border: 1px solid #7ec8e3; }
  .singles-list { display: flex; flex-direction: column; }
  .single-row { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(var(--w1),0.06); transition: padding-left 0.2s; cursor: pointer; }
  .single-row:first-child { border-top: 1px solid rgba(var(--w1),0.06); }
  .single-row:hover { padding-left: 10px; }
  .single-row:hover .single-title { color: var(--pink); }
  .single-title { font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 1px; color: var(--white); transition: color 0.2s; }
  .single-year { font-size: 12px; color: var(--mid); letter-spacing: 2px; }


  /* TOUR */
  #tour { background: var(--black); }
  /* #4 : decaler l'en-tete Concerts du bord (desktop) */
  @media (min-width: 769px) {
    #tour > .section-label, #tour > .section-reveal-line,
    #tour > .section-title, #tour > .tour-intro { padding-left: 40px; }
  }
  .tour-list { margin-top: 48px; }
  .tour-item { display: grid; grid-template-columns: 80px 1fr auto; align-items: center; gap: 32px; padding: 24px 0; border-bottom: 1px solid rgba(var(--w1),0.06); }
  .tour-item:first-child { border-top: 1px solid rgba(var(--w1),0.06); }
  .tour-date-num { font-family: 'Bebas Neue', sans-serif; font-size: 40px; line-height: 1; color: var(--pink); }
  .tour-date-month { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--mid); }
  .tour-city { font-family: 'Bebas Neue', sans-serif; font-size: 28px; letter-spacing: 1px; color: var(--white); }
  .tour-venue { font-size: 13px; color: var(--mid); margin-top: 4px; }
  .tour-btn { background: transparent; color: var(--white); padding: 10px 24px; border: 1px solid rgba(var(--w1),0.2); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; cursor: pointer; transition: all 0.2s; white-space: nowrap; font-family: 'DM Sans', sans-serif; }
  .tour-btn:hover { background: var(--pink); border-color: var(--pink); }
  .tour-sold-out { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--mid); padding: 10px 24px; }

  /* STORY */
  #story { background: var(--surface); }
  .story-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 2px; margin-top: 48px; }
  .story-block { aspect-ratio: 1; position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: 24px; cursor: pointer; }
  .story-block-bg { position: absolute; inset: 0; transition: transform 0.4s; }
  .story-block:hover .story-block-bg { transform: scale(1.05); }
  .story-year { font-family: 'Bebas Neue', sans-serif; font-size: 52px; line-height: 1; color: rgba(var(--w1),0.2); position: absolute; top: 20px; right: 20px; }
  .story-content { position: relative; z-index: 1; }
  .story-label { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--pink); margin-bottom: 8px; }
  .story-desc { font-size: 13px; color: rgba(var(--w1),0.7); font-weight: 300; }

  footer { background: var(--black); padding: 60px 40px; border-top: 1px solid rgba(var(--w1),0.06); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 24px; }
  .footer-logo { font-family: 'Bebas Neue', sans-serif; font-size: 40px; letter-spacing: 6px; color: var(--white); }
  .social-links { display: flex; gap: 20px; }
  .social-link { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--mid); text-decoration: none; transition: color 0.2s; }
  .social-link:hover { color: var(--pink); }
  .footer-copy { font-size: 12px; color: rgba(var(--w1),0.2); }
  .disc-type.live { color: #f0c070; border: 1px solid #f0c070; }
  .disc-meta { font-size: 11px; color: var(--mid); margin: 3px 0 6px; letter-spacing: 0.5px; }

  /* MERCH */
  #merch { background: var(--black); }
  .merch-top { margin-bottom: 40px; }
  .merch-intro { max-width: 700px; margin-bottom: 48px; }
  .merch-text { color: #aaa; line-height: 1.8; font-weight: 300; margin-bottom: 20px; }
  .merch-text strong { color: var(--white); font-weight: 500; }
  .merch-quote { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 1px; color: var(--pink); padding-left: 20px; border-left: 3px solid var(--pink); }
  .merch-quote-src { font-family: 'DM Sans', sans-serif; font-size: 13px; letter-spacing: 1px; color: var(--mid); font-weight: 300; }
  .merch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
  .merch-card { background: var(--surface); display: flex; flex-direction: column; overflow: hidden; transition: background 0.2s; cursor: pointer; }
  .merch-card:hover { background: var(--surface); }
  .merch-art { height: 140px; display: flex; align-items: center; justify-content: center; font-size: 48px; }
  .merch-card-info { padding: 20px 24px 24px; flex: 1; }
  .merch-item-name { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 2px; color: var(--white); margin-bottom: 6px; }
  .merch-item-desc { font-size: 12px; color: var(--mid); line-height: 1.6; margin-bottom: 12px; }
  .merch-price { font-size: 13px; color: var(--pink); letter-spacing: 1px; font-weight: 500; }
  .merch-cta-card { background: var(--pink) !important; cursor: default; }
  .merch-cta-card:hover { background: #d63862 !important; }
  .merch-cta-inner { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; padding: 32px; gap: 24px; }
  .merch-cta-text { font-size: 13px; color: rgba(var(--w1),0.85); text-align: center; line-height: 1.6; }
  .merch-btn { display: inline-block; background: var(--white); color: var(--pink); padding: 14px 28px; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 600; text-decoration: none; font-family: 'DM Sans', sans-serif; transition: opacity 0.2s; }
  .merch-btn:hover { opacity: 0.9; }

  /* ══ DISCOGRAPHY v4 ══ */
  #music { background: var(--surface); }
  .music-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:48px; flex-wrap:wrap; gap:16px; }

  /* Top artist links */
  .disc-top-links { display:flex; gap:10px; align-items:center; }
  .disc-top-btn { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; font-size:11px; letter-spacing:2px; text-transform:uppercase; font-family:"DM Sans",sans-serif; font-weight:500; text-decoration:none; transition:opacity .2s; line-height:1; }
  .disc-top-btn--sp { background:#1db954; color:#fff; }
  .disc-top-btn--bc { background:transparent; color:var(--white); border:1px solid rgba(var(--w1),0.2); }
  .disc-top-btn svg { width:14px; height:14px; flex-shrink:0; }
  .disc-top-btn:hover { opacity:.8; }

  /* Section headers */
  .disc-section-header { display:flex; align-items:center; gap:14px; margin-bottom:24px; padding-bottom:14px; border-bottom:1px solid rgba(var(--w1),0.08); }
  .disc-section-label { font-family:"Bebas Neue",sans-serif; font-size:32px; letter-spacing:4px; color:var(--white); }
  .disc-section-count { font-family:"Bebas Neue",sans-serif; font-size:16px; color:var(--pink); background:rgba(232,66,110,0.1); border:1px solid rgba(232,66,110,0.3); padding:3px 10px; }

  /* Badges */
  .disc-badge { font-size:9px; letter-spacing:2px; text-transform:uppercase; padding:3px 8px; white-space:nowrap; font-family:"DM Sans",sans-serif; font-weight:500; }
  .disc-badge--album { color:var(--pink); border:1px solid var(--pink); }
  .disc-badge--live  { color:#f0c070; border:1px solid #f0c070; }
  .disc-badge--ep    { color:#7ec8e3; border:1px solid #7ec8e3; }

  /* Platform icon buttons — SMALL circles, fixed size */
  .platform-links { display:flex; gap:6px; align-items:center; flex-shrink:0; }
  .platform-btn { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; flex-shrink:0; transition:transform .2s, opacity .2s; text-decoration:none; }
  .platform-btn svg { width:14px; height:14px; display:block; pointer-events:none; }
  .platform-btn--sp { background:#1db954; color:#fff; }
  .platform-btn--bc { background:#1da0c3; color:#fff; }
  .platform-btn--am { background:#fc3c44; color:#fff; }
  .platform-btn:hover { transform:scale(1.15); opacity:.9; }

  /* Spotify iframes — explicit dimensions always */
  .sp-embed { border-radius:6px; border:none; display:block; }
  .sp-embed-lg { width:100%; height:380px; }
  .sp-embed-md { width:100%; height:352px; }
  .sp-embed-sm { width:100%; height:80px; }

  /* ── Featured album ── */
  .disc-featured { display:grid; grid-template-columns:280px 1fr; gap:36px; background: var(--surface); border:1px solid rgba(var(--w1),0.07); padding:32px; margin-bottom:20px; align-items:start; }
  .disc-featured-tag { font-size:10px; letter-spacing:3px; text-transform:uppercase; color:var(--pink); margin-bottom:8px; }
  .disc-featured-title { font-family:"Bebas Neue",sans-serif; font-size:56px; line-height:.9; letter-spacing:1px; color:var(--white); margin:0 0 12px; }
  .disc-featured-meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px; font-size:13px; color:var(--mid); }
  .disc-featured-desc { font-size:13px; color:#888; line-height:1.75; font-weight:300; margin:0 0 20px; }

  /* ── Other albums 2-col ── */
  .disc-albums-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:56px; }
  .disc-album-card { background: var(--surface); border:1px solid rgba(var(--w1),0.07); padding:24px; }

  /* Card header: title left, icons right, fixed layout */
  .disc-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:14px; }
  .disc-card-top-left { flex:1; min-width:0; }
  .disc-card-title { font-family:"Bebas Neue",sans-serif; font-size:26px; letter-spacing:1px; color:var(--white); margin:0 0 6px; line-height:1; }
  .disc-card-subtitle { font-size:16px; opacity:.45; font-style:normal; }
  .disc-card-meta { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--mid); }

  /* ── EPs 3-col ── */
  .disc-eps-row { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:56px; }
  .disc-ep-card { background: var(--surface); border:1px solid rgba(var(--w1),0.07); padding:20px; }

  /* ── Singles table ── */
  .disc-singles-table { display:flex; flex-direction:column; }
  .disc-single-row { display:grid; grid-template-columns:36px 1fr 80px 1fr; align-items:center; gap:16px; padding:14px 0; border-bottom:1px solid rgba(var(--w1),0.05); transition:background .15s, padding-left .15s; }
  .disc-single-row:first-child { border-top:1px solid rgba(var(--w1),0.05); }
  .disc-single-row:hover { background:rgba(var(--w1),0.02); padding-left:6px; }
  .disc-single-num { font-family:"Bebas Neue",sans-serif; font-size:20px; color:rgba(var(--w1),0.15); transition:color .15s; }
  .disc-single-row:hover .disc-single-num { color:var(--pink); }
  .disc-single-info { min-width:0; }
  .disc-single-title { font-family:"Bebas Neue",sans-serif; font-size:22px; letter-spacing:1px; color:var(--white); margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:color .15s; }
  .disc-single-row:hover .disc-single-title { color:var(--pink); }
  .disc-single-year { font-size:11px; color:var(--mid); letter-spacing:1px; display:block; margin-top:2px; }


  /* ══ PACIFISTS ══ */
  #pacifists { background: var(--surface); }
  .pac-intro { max-width: 680px; margin-bottom: 56px; }
  .pac-intro-text { color: #999; line-height: 1.8; font-weight: 300; font-size: 14px; }
  .pac-tabs { display: flex; gap: 0; margin-bottom: 40px; border-bottom: 1px solid rgba(var(--w1),0.08); }
  .pac-tab { padding: 12px 28px; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; font-family: "DM Sans",sans-serif; font-weight: 500; color: var(--mid); cursor: pointer; border-bottom: 2px solid transparent; transition: all .2s; background: transparent; border-top: none; border-left: none; border-right: none; }
  .pac-tab.active, .pac-tab:hover { color: var(--white); border-bottom-color: var(--pink); }
  .pac-panel { display: none; }
  .pac-panel.active { display: block; }

  /* Upload zone */
  .pac-upload-zone { border: 2px dashed rgba(var(--w1),0.12); padding: 48px 32px; text-align: center; cursor: pointer; transition: border-color .2s, background .2s; margin-bottom: 24px; }
  .pac-upload-zone:hover, .pac-upload-zone.dragover { border-color: var(--pink); background: rgba(232,66,110,0.04); }
  .pac-upload-icon { font-size: 40px; margin-bottom: 12px; }
  .pac-upload-label { font-size: 13px; color: var(--mid); line-height: 1.7; }
  .pac-upload-label strong { color: var(--white); display: block; font-size: 15px; margin-bottom: 6px; }
  .pac-upload-input { display: none; }

  /* Form fields */
  .pac-form-row { margin-bottom: 16px; }
  .pac-form-row label { display: block; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--mid); margin-bottom: 8px; }
  .pac-input, .pac-textarea { width: 100%; background: var(--surface); border: 1px solid rgba(var(--w1),0.1); color: var(--white); font-family: "DM Sans",sans-serif; font-size: 14px; padding: 12px 16px; outline: none; transition: border-color .2s; resize: vertical; }
  .pac-input:focus, .pac-textarea:focus { border-color: var(--pink); }
  .pac-textarea { min-height: 100px; }
  .pac-submit { background: var(--pink); color: var(--white); border: none; padding: 14px 36px; font-family: "DM Sans",sans-serif; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; font-weight: 500; cursor: pointer; transition: background .2s; margin-top: 8px; }
  .pac-submit:hover { background: #d63862; }
  .pac-submit:disabled { background: #555; cursor: not-allowed; }

  /* Photo preview */
  .pac-preview-img { width: 100%; max-height: 200px; object-fit: cover; margin-bottom: 16px; display: none; }

  /* Photo grid */
  .pac-photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; margin-top: 8px; }
  .pac-photo-item { position: relative; aspect-ratio: 1; overflow: hidden; cursor: pointer; background: var(--surface); }
  .pac-photo-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; display: block; }
  .pac-photo-item:hover img { transform: scale(1.04); }
  .pac-photo-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0); display: flex; flex-direction: column; justify-content: flex-end; padding: 12px; opacity: 0; transition: all .3s; }
  .pac-photo-item:hover .pac-photo-overlay { background: rgba(0,0,0,0.6); opacity: 1; }
  .pac-photo-name { font-size: 13px; color: var(--white); font-weight: 500; }
  .pac-photo-caption { font-size: 11px; color: rgba(var(--w1),0.7); margin-top: 2px; }
  .pac-photo-date { font-size: 10px; color: var(--pink); letter-spacing: 1px; margin-top: 4px; }

  /* Messages */
  .pac-messages { display: flex; flex-direction: column; gap: 0; }
  .pac-message-item { padding: 20px 0; border-bottom: 1px solid rgba(var(--w1),0.05); display: grid; grid-template-columns: 48px 1fr; gap: 16px; align-items: start; transition: background .15s; }
  .pac-message-item:first-child { border-top: 1px solid rgba(var(--w1),0.05); }
  .pac-avatar { width: 48px; height: 48px; background: linear-gradient(135deg, #e8426e, #4a0f2a); display: flex; align-items: center; justify-content: center; font-family: "Bebas Neue",sans-serif; font-size: 22px; color: var(--white); flex-shrink: 0; }
  .pac-msg-author { font-family: "Bebas Neue",sans-serif; font-size: 18px; letter-spacing: 1px; color: var(--white); }
  .pac-msg-text { font-size: 13px; color: #aaa; margin: 6px 0; line-height: 1.7; font-weight: 300; }
  .pac-msg-date { font-size: 10px; color: var(--mid); letter-spacing: 1px; }
  .pac-msg-location { font-size: 10px; color: var(--pink); letter-spacing: 1px; }

  /* Empty state */
  .pac-empty { text-align: center; padding: 60px 20px; color: var(--mid); }
  .pac-empty-icon { font-size: 48px; margin-bottom: 12px; }
  .pac-empty-text { font-size: 13px; line-height: 1.7; }

  /* Count badge */
  .pac-count { font-family: "Bebas Neue",sans-serif; font-size: 14px; color: var(--pink); background: rgba(232,66,110,0.1); border: 1px solid rgba(232,66,110,0.3); padding: 2px 8px; margin-left: 8px; vertical-align: middle; }

  /* Lightbox */
  .pac-lightbox { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.92); z-index: 1000; align-items: center; justify-content: center; flex-direction: column; }
  .pac-lightbox.open { display: flex; }
  .pac-lightbox img { max-width: 90vw; max-height: 80vh; object-fit: contain; }
  .pac-lightbox-info { margin-top: 16px; text-align: center; }
  .pac-lightbox-name { font-family: "Bebas Neue",sans-serif; font-size: 22px; color: var(--white); }
  .pac-lightbox-caption { font-size: 13px; color: var(--mid); margin-top: 4px; }
  .pac-lightbox-close { position: absolute; top: 24px; right: 32px; font-size: 32px; color: var(--mid); cursor: pointer; background: transparent; border: none; line-height: 1; }
  .pac-lightbox-close:hover { color: var(--white); }

  /* Toast */
  .pac-toast { position: fixed; bottom: 32px; left: 50%; transform: translateX(-50%) translateY(20px); background: var(--pink); color: var(--white); padding: 12px 28px; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; opacity: 0; transition: all .3s; z-index: 2000; pointer-events: none; }
  .pac-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }


  /* TURTLE LOGO */
  .nav-turtle-wrap {
    width: 46px; height: 46px;
    border-radius: 50%;
    background: var(--white);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 0 0 1.5px rgba(232,66,110,0.5);
    transition: box-shadow 0.3s, transform 0.4s cubic-bezier(.34,1.56,.64,1);
    overflow: hidden;
  }
  .nav-turtle-wrap:hover {
    box-shadow: 0 0 0 2.5px var(--pink), 0 0 20px rgba(232,66,110,0.4);
    transform: rotate(12deg) scale(1.14);
  }
  .nav-turtle {
    width: 42px; height: 42px;
    object-fit: contain;
    display: block;
    animation: turtleFloat 4s ease-in-out infinite;
  }
  @keyframes turtleFloat {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    30%       { transform: translateY(-2px) rotate(-3deg); }
    70%       { transform: translateY(2px) rotate(2deg); }
  }


  /* ── SPLASH SCREEN ── */
  #pac-splash {
    position: fixed; inset: 0; z-index: 9999;
    background: var(--black);
    display: flex; align-items: center; justify-content: center;
    flex-direction: column;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }
  #pac-splash.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
  .splash-inner { text-align: center; }
  .splash-logo-wrap {
    width: 110px; height: 110px; border-radius: 50%;
    background: var(--white);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 24px;
    box-shadow: 0 0 0 2px var(--blue), 0 0 40px rgba(93,200,232,0.3);
    animation: splashPulse 1.2s ease-in-out infinite alternate;
  }
  @keyframes splashPulse {
    from { box-shadow: 0 0 0 2px var(--blue), 0 0 20px rgba(93,200,232,0.2); }
    to   { box-shadow: 0 0 0 4px var(--blue), 0 0 50px rgba(93,200,232,0.5); }
  }
  .splash-turtle {
    width: 96px; height: 96px; object-fit: contain;
    animation: splashSpin 2s ease-in-out infinite alternate;
  }
  @keyframes splashSpin {
    from { transform: rotate(-8deg) scale(0.95); }
    to   { transform: rotate(8deg) scale(1.05); }
  }
  .splash-name {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 56px; letter-spacing: 12px;
    color: var(--white); margin-bottom: 32px;
  }
  .splash-bar {
    width: 200px; height: 2px; background: rgba(var(--w1),0.1);
    margin: 0 auto; overflow: hidden;
  }
  .splash-progress {
    height: 100%; width: 0%;
    background: linear-gradient(90deg, var(--blue), var(--pink));
    animation: splashLoad 0.7s ease-out forwards;
  }
  @keyframes splashLoad { to { width: 100%; } }

  /* Story photo block */
  .story-block--photo { overflow: hidden; }
  .story-photo-bg {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover; object-position: center top;
    opacity: 0.55;
    transition: opacity 0.4s, transform 0.4s;
  }
  .story-block--photo:hover .story-photo-bg { opacity: 0.75; transform: scale(1.05); }

  #merch {
    background: var(--black);
    background-image:
      radial-gradient(ellipse at 20% 50%, rgba(93,200,232,0.04) 0%, transparent 60%),
      radial-gradient(ellipse at 80% 20%, rgba(232,66,110,0.06) 0%, transparent 50%),
      repeating-linear-gradient(
        45deg,
        transparent,
        transparent 40px,
        rgba(var(--w1),0.012) 40px,
        rgba(var(--w1),0.012) 41px
      );
  }

  /* Blue accent overrides */
  .disc-badge--ep    { color: var(--blue); border-color: var(--blue); }
  .disc-section-count { color: var(--blue); background: rgba(93,200,232,0.08); border-color: rgba(93,200,232,0.3); }
  .tour-date-num { color: var(--blue); }
  .story-label { color: var(--blue); }
  .pac-tab.active, .pac-tab:hover { color: var(--white); border-bottom-color: var(--blue); }
  .pac-count { background: rgba(93,200,232,0.1); border-color: rgba(93,200,232,0.3); color: var(--blue); }
  .sk-all-dates { color: var(--blue) !important; }


  /* ── SCROLL TO TOP ── */
  #scroll-top {
    position: fixed; bottom: 32px; right: 32px; z-index: 500;
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--pink); color: var(--white); border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    opacity: 0; transform: translateY(12px);
    transition: opacity 0.3s, transform 0.3s, background 0.2s;
    box-shadow: 0 4px 20px rgba(232,66,110,0.4);
  }
  #scroll-top.visible { opacity: 1; transform: translateY(0); }
  #scroll-top:hover { background: var(--blue); box-shadow: 0 4px 20px rgba(93,200,232,0.4); }
  #scroll-top svg { width: 18px; height: 18px; }

  /* ── MOBILE NAV ── */
  .hamburger {
    display: none; flex-direction: column; gap: 5px;
    background: transparent; border: none; cursor: pointer; padding: 4px;
    position: relative; z-index: 250;
  }
  .hamburger span {
    display: block; width: 24px; height: 2px;
    background: var(--white); transition: all 0.3s;
  }
  .hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .hamburger.open span:nth-child(2) { opacity: 0; }
  .hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Bascule nav -> menu hamburger dès 1200px (évite le tassement) */
  @media (max-width: 1200px) {
    .nav-links {
      display: none; position: fixed; inset: 0;
      background: rgb(var(--nav));
      flex-direction: column; align-items: center; justify-content: safe center;
      gap: 14px; z-index: 200; padding: 70px 24px 20px; overflow-y: auto;
    }
    .nav-links.open { display: flex; }
    .nav-links a { font-size: 14px; letter-spacing: 3px; }
    #hamburger, .hamburger { display: flex; }
    #nav-section-indicator { display: none; }
    /* Fix overlay menu : <nav> a un backdrop-filter qui pieageait le
       position:fixed de .nav-links (overlay confine a la barre). On le retire
       en mobile pour couvrir tout l'ecran ; le bouton (x) reste au-dessus. */
    body nav { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
    .hamburger { position: relative; z-index: 300; }
  }

  @media (max-width: 768px) {
    nav { padding: 16px 20px; }
    .nav-links {
      display: none; position: fixed; inset: 0;
      background: rgb(var(--nav));
      flex-direction: column; align-items: center; justify-content: safe center;
      gap: 14px; z-index: 200; padding: 70px 24px 20px; overflow-y: auto;
    }
    .nav-links.open { display: flex; }
    .nav-links a { font-size: 14px; letter-spacing: 3px; }
    .lang-switcher { display: none; }
    .hamburger { display: flex; }
    /* Hero */
    #hero { padding: 100px 20px 80px; }
    .hero-title { font-size: clamp(60px, 18vw, 120px); }
    .hero-ctas { flex-direction: column; gap: 12px; }
    .btn-primary, .btn-outline { text-align: center; }
    /* About */
    #about { grid-template-columns: 1fr; gap: 40px; padding: 60px 20px; margin-top: 44px; }
    .about-visual { aspect-ratio: 4/3; }
    /* Story */
    .story-grid { grid-template-columns: 1fr 1fr; }
    /* Music */
    .disc-featured { grid-template-columns: 1fr; }
    .disc-albums-row, .disc-eps-row { grid-template-columns: 1fr; }
    .disc-singles-table .disc-single-row { grid-template-columns: 32px 1fr; gap: 10px; }
    .disc-single-row .platform-links, .disc-single-row .disc-single-player { display: none; }
    /* Merch */
    .merch-grid { grid-template-columns: 1fr 1fr; }
    /* Tour */
    section { padding: 60px 20px; }
    .tour-item { grid-template-columns: 60px 1fr auto; gap: 16px; }
    /* Pacifists */
    .pac-photo-grid { grid-template-columns: 1fr 1fr; }
    .pac-tabs { flex-wrap: wrap; gap: 4px; }
    /* Footer */
    footer { flex-direction: column; align-items: flex-start; gap: 20px; padding: 40px 20px; }
  }
  @media (max-width: 480px) {
    .story-grid { grid-template-columns: 1fr; }
    .merch-grid { grid-template-columns: 1fr; }
    .albums-row { grid-template-columns: 1fr; }
    .disc-section-header { flex-wrap: wrap; }
  }


  /* ── YOUTUBE SECTION ── */
  .yt-section { margin-top: 56px; padding-top: 48px; border-top: 1px solid rgba(var(--w1),0.07); }
  .yt-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-bottom: 24px; }
  .yt-card { background: var(--surface); border: 1px solid rgba(var(--w1),0.06); overflow: hidden; }
  .yt-embed-wrap { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
  .yt-embed-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; }
  .yt-label { padding: 12px 14px; font-size: 12px; color: var(--mid); letter-spacing: 0.5px; }
  .yt-more { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--pink); text-decoration: none; }
  .yt-more:hover { opacity: .75; }

  


  /* ── HERO PACIFISTS COUNTER ── */
  .hero-pacifists-count {
    position: absolute; bottom: 90px; right: 40px; z-index: 3;
    text-align: right;
  }
  .hero-pac-num {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 42px; line-height: 1; color: var(--white);
    letter-spacing: 2px;
  }
  .hero-pac-label {
    font-size: 10px; letter-spacing: 3px; text-transform: uppercase;
    color: rgba(var(--w1),0.5);
  }

  /* ── INSTAGRAM SECTION ── */
  .insta-section { margin-top: 56px; padding-top: 48px; border-top: 1px solid rgba(var(--w1),0.07); }
  .insta-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
  .insta-title { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--mid); display: flex; align-items: center; gap: 10px; }
  .insta-title svg { width: 16px; height: 16px; }
  .insta-link { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--pink); text-decoration: none; }
  .insta-link:hover { opacity: .75; }
  .insta-embed { background: var(--surface); border: 1px solid rgba(var(--w1),0.06); padding: 24px; text-align: center; }
  .insta-embed p { font-size: 13px; color: var(--mid); }
  .insta-follow-btn {
    display: inline-flex; align-items: center; gap: 10px;
    margin-top: 16px; padding: 12px 28px;
    background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
    color: var(--white); text-decoration: none;
    font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
    font-family: 'DM Sans', sans-serif; font-weight: 500;
    transition: opacity .2s;
  }
  .insta-follow-btn:hover { opacity: .85; }
  .insta-follow-btn svg { width: 16px; height: 16px; }


  /* ══ FIXES ══ */

  /* 1. Press SVG icons — force small size everywhere */
  .press-ext-link svg,
  .press-read-more svg,
  .press-ico-quote svg { width: 16px !important; height: 16px !important; flex-shrink: 0; }
  .press-hero-btn svg { width: 14px !important; height: 14px !important; flex-shrink: 0; }

  /* 2. Press hero button — compact, no overflow */
  .press-hero-btn {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    margin-top: 16px; padding: 11px 22px !important;
    background: var(--blue); color: #0a0a0a !important;
    font-size: 11px !important; letter-spacing: 2px; text-transform: uppercase;
    font-family: 'DM Sans', sans-serif; font-weight: 600;
    text-decoration: none; transition: opacity .2s;
    width: auto !important; max-width: fit-content !important;
    white-space: nowrap;
  }
  .press-hero-btn:hover { opacity: .85; }

  /* 3. Press ext-link icon — small circle */
  .press-ext-link {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: 28px !important; height: 28px !important; border-radius: 50% !important;
    background: rgba(var(--w1),0.05); color: var(--mid);
    text-decoration: none; flex-shrink: 0; transition: all .2s;
  }
  .press-ext-link:hover { background: var(--blue) !important; color: #0a0a0a !important; }

  /* 4. Press read-more — inline text, no icon blowup */
  .press-read-more {
    display: inline-flex !important; align-items: center !important; gap: 4px !important;
    font-size: 10px !important; letter-spacing: 2px; text-transform: uppercase;
    color: var(--pink); text-decoration: none; margin-top: auto;
  }

  /* 5. Press grid — 3 col with visible separator */
  .press-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
    margin-top: 0 !important;
  }
  .press-card {
    background: var(--surface) !important; padding: 24px 20px !important;
    border: 1px solid rgba(var(--w1),0.07) !important;
    display: flex !important; flex-direction: column !important; gap: 8px !important;
  }

  /* 6. Hero button "Écouter" → blue */
  .btn-primary {
    background: var(--blue) !important;
    color: #0a0a0a !important;
  }
  .btn-primary:hover { background: var(--blue-dark) !important; }

  /* 7. Splash turtle — round image (not square) */
  .splash-logo-wrap {
    width: 120px !important; height: 120px !important;
    border-radius: 50% !important; overflow: hidden !important;
    background: var(--white) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    box-shadow: 0 0 0 3px var(--blue), 0 0 40px rgba(93,200,232,0.4) !important;
  }
  .splash-turtle {
    width: 108px !important; height: 108px !important;
    object-fit: contain !important; border-radius: 0 !important;
  }


  
  /* ══ VIDEOS ══ */
  #videos { background: var(--surface); }

  .vid-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 40px;
  }

  .vid-card { cursor: pointer; }

  .vid-thumb-wrap {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden;
    background: var(--surface);
  }

  .vid-thumb {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s;
  }
  .vid-card:hover .vid-thumb { transform: scale(1.04); }

  .vid-overlay {
    position: absolute; inset: 0;
    background: rgba(0,0,0,0.3);
    display: flex; align-items: center; justify-content: center;
    transition: background 0.3s;
  }
  .vid-card:hover .vid-overlay { background: rgba(0,0,0,0.15); }

  .vid-play-btn {
    width: 56px; height: 56px; border-radius: 50%;
    background: var(--pink);
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.3s, background 0.2s;
    box-shadow: 0 4px 20px rgba(232,66,110,0.5);
  }
  .vid-play-btn svg { width: 20px; height: 20px; color: #fff; margin-left: 3px; }
  .vid-card:hover .vid-play-btn { transform: scale(1.12); background: var(--blue); box-shadow: 0 4px 20px rgba(93,200,232,0.5); }

  /* Playing state */
  .vid-thumb-wrap.playing .vid-overlay { display: none; }
  .vid-thumb-wrap.playing .vid-thumb { display: none; }
  .vid-thumb-wrap.playing .vid-iframe-container { display: block !important; }

  .vid-iframe-container {
    position: absolute; inset: 0;
  }
  .vid-iframe-container iframe {
    width: 100%; height: 100%;
    border: none;
  }

  .vid-info { padding: 14px 0 4px; }
  .vid-meta { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
  .vid-tag {
    font-size: 9px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--pink); border: 1px solid var(--pink); padding: 2px 7px;
    font-family: 'DM Sans', sans-serif;
  }
  .vid-year { font-size: 10px; color: var(--mid); letter-spacing: 1px; }
  .vid-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 20px; letter-spacing: 1px; color: var(--white); margin: 0;
  }

  .vid-footer {
    margin-top: 36px; text-align: center;
  }
  .vid-channel-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 12px 28px;
    border: 1px solid rgba(var(--w1),0.15);
    color: var(--white); text-decoration: none;
    font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    font-family: 'DM Sans', sans-serif; font-weight: 500;
    transition: border-color 0.2s, color 0.2s;
  }
  .vid-channel-btn:hover { border-color: var(--pink); color: var(--pink); }

  @media (max-width: 900px) { .vid-grid { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 480px) { .vid-grid { grid-template-columns: 1fr; } }


  /* ══ ANIMATIONS & EFFECTS ══ */

  /* 1. SCROLL REVEAL — éléments cachés avant animation */
  [data-reveal] {
    opacity: 0;
    transform: translateY(32px);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  }
  [data-reveal].revealed {
    opacity: 1;
    transform: translateY(0);
  }
  [data-reveal="left"] { transform: translateX(-40px); }
  [data-reveal="left"].revealed { transform: translateX(0); }
  [data-reveal="right"] { transform: translateX(40px); }
  [data-reveal="right"].revealed { transform: translateX(0); }
  [data-reveal="scale"] { transform: scale(0.92) translateY(20px); }
  [data-reveal="scale"].revealed { transform: scale(1) translateY(0); }

  /* Cascade delays */
  [data-delay="1"] { transition-delay: 0.1s; }
  [data-delay="2"] { transition-delay: 0.2s; }
  [data-delay="3"] { transition-delay: 0.3s; }
  [data-delay="4"] { transition-delay: 0.4s; }
  [data-delay="5"] { transition-delay: 0.5s; }
  [data-delay="6"] { transition-delay: 0.6s; }

  /* 2. PARALLAX — hero backgrounds */
  .parallax-bg {
    will-change: transform;
    transition: none !important;
  }

  /* 3. DEPTH CARDS — hover lift effect */
  .press-card,
  .vid-card,
  .merch-card,
  .disc-album-card,
  .disc-ep-card,
  .disc-spotify-card,
  .disc-spotify-card-sm,
  .story-block {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.3s ease,
                border-color 0.3s ease !important;
  }
  .press-card:hover,
  .vid-card:hover,
  .merch-card:hover,
  .disc-album-card:hover,
  .disc-ep-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.4), 0 2px 8px rgba(93,200,232,0.08) !important;
  }
  .story-block:hover {
    transform: scale(1.02) !important;
    z-index: 2;
  }

  /* 4. CINEMATIC NAV TRANSITIONS */
  .nav-links a {
    position: relative;
  }
  .nav-links a::after {
    content: '';
    position: absolute; bottom: -4px; left: 0; right: 0;
    height: 1px; background: var(--blue);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .nav-links a:hover::after { transform: scaleX(1); }

  /* 5. SECTION HEADERS REVEAL */
  .section-title {
    background: linear-gradient(90deg, var(--white) 0%, rgba(var(--w1),0.6) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }

  /* 6. HERO TEXT ENTRANCE */
  .hero-tag   { animation: heroFadeUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.3s both; }
  .hero-title { animation: heroFadeUp 1s cubic-bezier(0.22,1,0.36,1) 0.4s both; }
  .hero-sub   { animation: heroFadeUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.55s both; }
  .hero-ctas  { animation: heroFadeUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.65s both; }
  .hero-pacifists-count { animation: heroFadeUp 0.8s cubic-bezier(0.22,1,0.36,1) 0.75s both; }

  @keyframes heroFadeUp {
    from { opacity: 0; transform: translateY(24px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* 7. TICKER smooth pulse */
  .ticker-text {
    transition: opacity 0.3s;
  }

  /* 8. SMOOTH PAGE TRANSITION OVERLAY */
  #page-transition {
    position: fixed; inset: 0; z-index: 8000;
    background: var(--black);
    opacity: 0; pointer-events: none;
    transition: opacity 0.3s ease;
  }
  #page-transition.flash {
    opacity: 0.4;
  }


  /* ══ GSAP IMMERSIVE ══ */

  /* Custom cursor */
  
  #pac-cursor {
    position: fixed; z-index: 99999;
    width: 12px; height: 12px; border-radius: 50%;
    background: var(--pink);
    pointer-events: none;
    /* mix-blend-mode retiré (coûteux) ; ombre légère pour rester visible sur tout fond */
    box-shadow: 0 0 0 1.5px rgba(0,0,0,0.25), 0 0 6px rgba(0,0,0,0.3);
    transition: width 0.2s, height 0.2s, background 0.2s;
    will-change: transform;
  }
  #pac-cursor-ring {
    position: fixed; z-index: 99998;
    width: 36px; height: 36px; border-radius: 50%;
    border: 1px solid rgba(93,200,232,0.6);
    pointer-events: none;
    transform: translate(-50%, -50%);
    transition: width 0.3s, height 0.3s, border-color 0.3s;
  }
  #pac-cursor.hovering { width: 20px; height: 20px; background: var(--blue); }
  #pac-cursor-ring.hovering { width: 56px; height: 56px; border-color: var(--blue); }
   * { cursor: auto !important; }

  /* Hero letter split */
  .hero-letter {
    display: inline-block;
    will-change: transform, opacity;
  }

  /* Ken Burns on hero slides */
  .hero-slide.active {
    animation: kenBurns 8s ease-out forwards;
  }
  @keyframes kenBurns {
    from { transform: scale(1.08); }
    to   { transform: scale(1.0); }
  }

  /* Horizontal reveal line */
  .section-reveal-line {
    width: 0; height: 1px;
    background: linear-gradient(90deg, var(--blue), var(--pink));
    margin-bottom: 32px;
  }

  /* Word-by-word story text */
  .story-word { display: inline-block; opacity: 0; transform: translateY(8px); }

  /* ScrollTrigger section markers (invisible) */
  .gsap-section { will-change: transform; }

  /* Tilt cards */
  .tilt-card { transform-style: preserve-3d; will-change: transform; }
  .tilt-card > * { transform: translateZ(8px); }

  /* Typing cursor for hero */
  .hero-cursor-blink {
    display: inline-block; width: 3px; height: 0.8em;
    background: var(--pink); margin-left: 4px; vertical-align: middle;
    animation: blink 1s step-end infinite;
  }
  @keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }

  /* Counter animation */
  .counter-num { display: inline-block; }


  /* HERO TITLE COLORS — explicit per letter */
  .hero-title { color: var(--white); }
  .hero-title span[style] { -webkit-text-fill-color: unset !important; }
  .hero-letter { color: inherit !important; -webkit-text-fill-color: inherit !important; }


  /* ══════════════════════════════════════════
     CINEMATIC / APPLE STYLE — UPGRADE
  ══════════════════════════════════════════ */

  /* 1. FILM GRAIN OVERLAY */
  
  
    20%  { background-position: -30px 10px; }
    40%  { background-position: 10px -20px; }
    60%  { background-position: -15px 25px; }
    80%  { background-position: 20px -10px; }
    100% { background-position: 0 0; }

  /* 2. SECTION NUMBERING */
  .cinematic-num {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 11px; letter-spacing: 4px;
    color: rgba(var(--w1),0.15);
    margin-bottom: 6px;
    display: block;
  }

  /* 3. FULL-BLEED CINEMATIC SECTIONS */
  #about, #story, #music, #presse, #tour, #videos, #merch, #pacifists {
    position: relative;
  }
  #about::before, #story::before, #music::before,
  #presse::before, #videos::before, #merch::before {
    content: '';
    position: absolute; left: 0; right: 0; top: 0;
    height: 1px;
    background: linear-gradient(90deg,
      transparent 0%, rgba(93,200,232,0.2) 30%,
      rgba(232,66,110,0.2) 70%, transparent 100%);
  }

  /* 4. OVERSIZED CINEMATIC SECTION TITLES */
  .section-title {
    font-size: clamp(52px, 8vw, 100px) !important;
    letter-spacing: -1px !important;
    line-height: 0.9 !important;
  }

  /* 5. HERO — VIGNETTE + LETTERBOX */
  #hero::after {
    content: '';
    position: absolute; inset: 0; z-index: 1;
    background:
      radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,0.7) 100%),
      linear-gradient(to bottom, rgba(0,0,0,0.3) 0%, transparent 20%,
        transparent 75%, rgba(0,0,0,0.8) 100%);
    pointer-events: none;
  }
  /* Letterbox bars */
  #hero::before {
    content: '';
    position: absolute; left: 0; right: 0; z-index: 2;
    top: 0; height: 40px;
    background: var(--black);
    pointer-events: none;
  }

  /* 6. BIG WORD SCROLL — section reveal */
  .cinematic-word-reveal {
    overflow: hidden; display: block;
  }
  .cinematic-word-inner {
    display: block;
    transform: translateY(110%);
    transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .cinematic-word-inner.revealed {
    transform: translateY(0);
  }

  /* 7. FULL-SCREEN SNAP SECTIONS (optional, applied to key sections) */
  html { scroll-behavior: smooth; overflow-x: clip; }

  /* 8. ABOUT — CINEMATIC SPLIT */
  #about {
    background: linear-gradient(160deg, #0a0a0a 0%, #0d0810 60%, #0a0a0a 100%) !important;
  }

  /* 9. STORY — DARK CINEMA */
  #story {
    background: var(--surface) !important;
  }

  /* 10. MUSIC — GRADIENT DEPTH */
  #music {
    background: linear-gradient(180deg, #0a0a0a 0%, #080510 50%, #0a0a0a 100%) !important;
  }

  /* 11. HORIZONTAL SCROLL DISCOGRAPHY HINT */
  .disc-albums-row {
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .disc-albums-row::-webkit-scrollbar { display: none; }

  /* 12. MAGNETIC BUTTON PREP */
  .btn-primary, .btn-outline, .press-hero-cta, .merch-btn {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.3s ease !important;
  }
  .btn-primary:hover {
    box-shadow: 0 8px 30px rgba(93,200,232,0.4) !important;
  }
  .btn-outline:hover {
    box-shadow: 0 8px 30px rgba(var(--w1),0.1) !important;
  }

  /* Ripple on click */
  .btn-ripple {
    position: absolute; border-radius: 50%;
    background: rgba(var(--w1),0.25);
    transform: scale(0);
    animation: ripple 0.6s linear;
    pointer-events: none;
  }
  @keyframes ripple {
    to { transform: scale(4); opacity: 0; }
  }

  /* 13. CURSOR LABEL */
  #pac-cursor-label {
    position: fixed; z-index: 99997;
    font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--white); pointer-events: none;
    opacity: 0; transform: translate(16px, -50%);
    transition: opacity 0.2s;
    white-space: nowrap;
    font-family: 'DM Sans', sans-serif;
  }
  #pac-cursor-label.visible { opacity: 1; }

  /* 14. SECTION TRANSITIONS — color morphing bg */
  .section-bg-morph {
    background: transparent;
    transition: background 0.8s ease;
  }

  /* 15. APPLE-STYLE STICKY SECTION HEADER */
  .sticky-section-label {
    position: sticky; top: 64px; z-index: 10;
    padding: 8px 40px;
    background: rgba(var(--nav),0.7);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(var(--w1),0.04);
    font-size: 10px; letter-spacing: 3px; text-transform: uppercase;
    color: rgba(var(--w1),0.3);
    display: flex; align-items: center; justify-content: space-between;
  }
  .sticky-section-label .sticky-num { color: var(--pink); margin-right: 12px; }

  /* 16. PRESSE — cinematic magazine layout */
  .press-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }

  /* 17. VIDEO cards — cinema aspect */
  .vid-thumb-wrap {
    border-radius: 0 !important;
  }

  /* 18. FOOTER upgrade */
  footer {
    border-top: 1px solid rgba(var(--w1),0.04) !important;
    background: var(--surface) !important;
  }


  /* ══ CINEMATIC TITLE FIX ══ */
  /* Remove the word-reveal hiding — titles always visible */
  .cinematic-word-reveal {
    overflow: visible !important;
  }
  .cinematic-word-inner {
    transform: none !important;
    transition: none !important;
    display: block !important;
  }
  /* Instead use a simple fade+slide via data-reveal which is already working */
  .section-title {
    opacity: 1 !important;
    transform: none !important;
  }


  /* ══ AWWWARDS ELEMENTS ══ */

  /* Marquee */
  .aw-marquee-wrap {
    overflow: hidden;
    background: #5DC8E8;
    padding: 11px 0;
    border-top: 1px solid rgba(var(--w1),.06);
    border-bottom: 1px solid rgba(var(--w1),.06);
  }
  .aw-marquee-track {
    display: flex; white-space: nowrap;
    animation: aw-marquee 30s linear infinite;
  }
  .aw-marquee-item {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 13px; letter-spacing: 5px;
    color: rgba(0,0,0,.65); padding: 0 36px;
  }
  .aw-marquee-item em { color: rgba(0,0,0,.9); font-style: normal; margin-left: 4px; }
  @keyframes aw-marquee {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
  }

  /* Section numbering */
  .aw-sec-num {
    font-size: 9px; letter-spacing: 3px;
    color: rgba(var(--w1),.2);
    margin-right: 6px;
  }

  /* Sticky indicator */
  #aw-sticky-bar {
    position: fixed; top: 64px; left: 0; right: 0; z-index: 490;
    padding: 7px 40px;
    background: rgba(0,0,0,.6); backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(var(--w1),.04);
    display: flex; align-items: center; gap: 12px;
    font-size: 9px; letter-spacing: 3px; text-transform: uppercase;
    font-family: 'DM Sans', sans-serif;
    transition: opacity .3s;
  }
  #aw-sticky-num  { color: var(--pink); }
  #aw-sticky-name { color: rgba(var(--w1),.3); flex: 1; }
  #aw-sticky-prog { color: rgba(var(--w1),.15); }

  /* Footer */
  .aw-footer {
    background: #000;
    padding: 0 40px 48px;
    border-top: 1px solid rgba(var(--w1),.04);
    position: relative; overflow: hidden;
  }
  .aw-footer-wordmark {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(100px, 18vw, 220px);
    letter-spacing: 4px; line-height: .85; text-align: center;
    color: rgba(var(--w1),.03);
    pointer-events: none; user-select: none;
    padding-top: 32px; margin-bottom: -20px;
  }
  .aw-footer-body {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 48px; padding: 48px 0 40px;
    border-bottom: 1px solid rgba(var(--w1),.04);
    position: relative; z-index: 1;
  }
  .aw-footer-heading {
    font-size: 9px; letter-spacing: 4px; text-transform: uppercase;
    color: rgba(var(--w1),.2); margin-bottom: 18px; font-weight: 400;
  }
  .aw-footer-col a {
    display: block; font-size: 12px; color: rgba(var(--w1),.3);
    text-decoration: none; margin-bottom: 10px; letter-spacing: .5px;
    transition: color .2s;
  }
  .aw-footer-col a:hover { color: var(--white); }
  .aw-footer-bottom {
    display: flex; justify-content: center; align-items: center;
    padding-top: 24px; font-size: 10px;
    color: rgba(var(--w1),.18); letter-spacing: 1px;
    position: relative; z-index: 1;
  }

  @media (max-width: 768px) {
    .aw-footer-body { grid-template-columns: 1fr 1fr; gap: 32px; }
    .aw-footer-wordmark { font-size: clamp(72px, 20vw, 120px); }
    #aw-sticky-bar { padding: 6px 20px; }
  }
  @media (max-width: 480px) {
    .aw-footer-body { grid-template-columns: 1fr; }
  }


  /* Lang switcher — blue */
  .lang-btn.active { color: #000 !important; background: #5DC8E8 !important; border-color: #5DC8E8 !important; }
  .lang-btn:hover  { color: #000 !important; background: #5DC8E8 !important; border-color: #5DC8E8 !important; }


  /* ══ STORY EDITORIAL ══ */
  .story-editorial {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(var(--w1),0.05);
    margin-top: 40px;
  }
  .story-ed-item {
    background: var(--surface);
    padding: 44px 32px 40px;
    position: relative;
    overflow: hidden;
    transition: background 0.25s;
  }
  .story-ed-item:hover { background: var(--surface); }
  .story-ed-line {
    position: absolute;
    top: 0; left: 0;
    width: 2px; height: 0;
    background: var(--blue);
    transition: height 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  }
  .story-ed-item.revealed .story-ed-line { height: 100%; }
  .story-ed-year {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 72px;
    color: rgba(var(--w1),0.04);
    line-height: 1;
    position: absolute;
    right: 20px; bottom: 14px;
    pointer-events: none;
    user-select: none;
  }
  .story-ed-tag {
    font-size: 9px;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 16px;
    font-family: 'DM Sans', sans-serif;
    font-weight: 500;
  }
  .story-ed-desc {
    font-size: 13px;
    color: rgba(var(--w1),0.5);
    line-height: 1.75;
    font-weight: 300;
    position: relative;
    z-index: 1;
  }

  @media (max-width: 900px) { .story-editorial { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 480px) { .story-editorial { grid-template-columns: 1fr; } }


  /* ══ PRESS EDITORIAL ══ */
  #presse { background: var(--surface); }

  /* Featured */
  .press-ed-featured {
    background: #000;
    border: 1px solid rgba(var(--w1),.06);
    border-left: 3px solid var(--blue);
    padding: 36px 40px;
    margin-bottom: 1px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    align-items: center;
  }
  .press-ed-feat-source {
    font-size: 9px; letter-spacing: 3px; text-transform: uppercase;
    color: var(--blue); margin-bottom: 12px; display: block;
    grid-column: 1 / -1;
  }
  .press-ed-feat-dot { color: var(--pink); }
  .press-ed-feat-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(28px, 3.5vw, 48px);
    line-height: 1; color: var(--white); margin: 0;
  }
  .press-ed-feat-excerpt {
    font-size: 13px; color: rgba(var(--w1),.45);
    line-height: 1.75; font-weight: 300; margin: 0;
  }
  .press-ed-feat-link {
    display: inline-flex; align-items: center; gap: 8px;
    font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--pink); text-decoration: none; margin-top: 16px;
    grid-column: 1 / -1; transition: opacity .2s;
  }
  .press-ed-feat-link:hover { opacity: .7; }

  /* Grid */
  .press-editorial {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(var(--w1),.05);
  }
  .press-ed-item {
    background: var(--surface);
    padding: 36px 28px 32px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
    transition: background .25s;
  }
  .press-ed-item:hover { background: var(--surface); }
  .press-ed-line {
    position: absolute;
    top: 0; left: 0;
    width: 2px; height: 0;
    background: var(--pink);
    transition: height .7s cubic-bezier(.16, 1, .3, 1);
  }
  .press-ed-item.revealed .press-ed-line { height: 100%; }
  .press-ed-header {
    display: flex; justify-content: space-between; align-items: center;
  }
  .press-ed-source {
    font-size: 11px; letter-spacing: 2px; text-transform: uppercase;
    color: rgba(var(--w1),.3); font-family: 'DM Sans', sans-serif;
  }
  .press-ed-year {
    font-size: 10px; color: rgba(var(--w1),.2); letter-spacing: 1px;
  }
  .press-ed-tag {
    font-size: 9px; letter-spacing: 3px; text-transform: uppercase;
    color: var(--blue); font-family: 'DM Sans', sans-serif; font-weight: 500;
  }
  .press-ed-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 22px; letter-spacing: 1px;
    color: var(--white); margin: 0; line-height: 1.1;
  }
  .press-ed-quote {
    font-size: 12px; color: rgba(var(--w1),.45);
    line-height: 1.75; font-style: italic; font-weight: 300;
    flex: 1; margin: 0;
  }
  .press-ed-link {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 9px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--pink); text-decoration: none;
    margin-top: auto; transition: opacity .2s;
  }
  .press-ed-link:hover { opacity: .7; }

  @media (max-width: 900px) { .press-editorial { grid-template-columns: 1fr 1fr; } .press-ed-featured { grid-template-columns: 1fr; } }
  @media (max-width: 480px) { .press-editorial { grid-template-columns: 1fr; } }

  .aw-sec-num{display:none!important}

  /* ══ AMBIENT EFFECTS — CSS only, GPU-accelerated ══ */

  /* 1. HERO — gradient drift très lent */
  #hero::before {
    content: '';
    position: absolute; inset: 0; z-index: 1;
    background:
      radial-gradient(ellipse 80% 60% at 20% 50%, rgba(232,66,110,0.12) 0%, transparent 70%),
      radial-gradient(ellipse 60% 80% at 80% 30%, rgba(93,200,232,0.08) 0%, transparent 60%);
    background-size: 200% 200%;
    animation: heroGradientDrift 60s ease-in-out infinite alternate;
    pointer-events: none;
  }
  /* Suspend l'animation du dégradé quand le hero n'est plus visible (perf) */
  body.hero-offscreen #hero::before { animation-play-state: paused; }
  @keyframes heroGradientDrift {
    0%   { background-position: 0% 50%; }
    50%  { background-position: 100% 30%; }
    100% { background-position: 30% 80%; }
  }

  /* 2. ABOUT — glow rose très diffus, fixe */
  #about {
    background:
      radial-gradient(ellipse 50% 70% at 5% 50%, rgba(232,66,110,0.04) 0%, transparent 70%),
      var(--black) !important;
  }

  /* 3. STORY — glow bleu doux depuis la gauche */
  #story {
    background:
      radial-gradient(ellipse 40% 80% at 0% 50%, rgba(93,200,232,0.04) 0%, transparent 60%),
      #040404 !important;
  }

  /* 4. MUSIC — gradient profond qui respire */
  #music {
    background:
      radial-gradient(ellipse 60% 40% at 50% 0%, rgba(93,200,232,0.03) 0%, transparent 60%),
      radial-gradient(ellipse 40% 60% at 90% 100%, rgba(232,66,110,0.03) 0%, transparent 50%),
      #0a0a0a !important;
  }

  /* 5. PRESSE — glow rose très subtil à droite */
  #presse {
    background:
      radial-gradient(ellipse 50% 60% at 100% 30%, rgba(232,66,110,0.04) 0%, transparent 60%),
      #050505 !important;
  }

  /* 6. VIDEOS — ambiance bleue */
  #videos {
    background:
      radial-gradient(ellipse 50% 40% at 50% 100%, rgba(93,200,232,0.04) 0%, transparent 60%),
      #0a0a0a !important;
  }

  /* 7. FOOTER — respiration d'opacité du watermark */
  .aw-footer-wordmark {
    animation: wordmarkBreathe 8s ease-in-out infinite alternate;
    will-change: opacity;
  }
  @keyframes wordmarkBreathe {
    from { opacity: 1; color: rgba(var(--w1),0.03); }
    to   { opacity: 1; color: rgba(var(--w1),0.055); }
  }

  /* 8. NAV — micro variation de backdrop */
  nav {
    animation: navPulse 12s ease-in-out infinite alternate;
  }
  @keyframes navPulse {
    from { background: rgba(0,0,0,0.80); }
    to   { background: rgba(0,0,0,0.88); }
  }

  /* 9. HERO TITLE — très légère variation de luminosité */
  .hero-title {
    animation: titleGlow 6s ease-in-out infinite alternate;
  }
  @keyframes titleGlow {
    from { text-shadow: none; }
    to   { text-shadow: 0 0 80px rgba(232,66,110,0.08); }
  }

  /* 10. MERCH section — glow rose centré */
  #merch {
    background:
      radial-gradient(ellipse 60% 50% at 50% 50%, rgba(232,66,110,0.03) 0%, transparent 70%),
      #040404 !important;
  }

  /* 11. SECTION LABELS — subtle glow on color */
  .section-label {
    text-shadow: 0 0 20px rgba(232,66,110,0.2);
  }

  .sticky-num { display: none !important; }
  #sticky-prog { display: none !important; }

  

  /* Curseur custom : uniquement sur appareils à souris (désactivé tactile) */
  @media (hover: hover) and (pointer: fine) {
  /* ══ FISH CURSOR v2 — logo inspired ══ */
  * { cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQwIDI0Ij4KICA8IS0tIFRhaWwgZmluIChyaWdodCBzaWRlKSAtLT4KICA8cG9seWdvbiBwb2ludHM9IjQwLDQgMzIsMTIgNDAsMjAiIGZpbGw9IiMxYTFhMWEiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMC44Ii8+CiAgPCEtLSBCb2R5IC0tPgogIDxlbGxpcHNlIGN4PSIxOCIgY3k9IjEyIiByeD0iMTQiIHJ5PSI4IiBmaWxsPSIjMTExIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjEuMiIvPgogIDwhLS0gRG9yc2FsIGZpbiAtLT4KICA8cG9seWdvbiBwb2ludHM9IjEyLDQgMTgsMCAyMiw1IiBmaWxsPSIjMTExIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjAuOCIvPgogIDwhLS0gQmVsbHkgaGlnaGxpZ2h0IC0tPgogIDxwYXRoIGQ9Ik0gOCAxNCBRIDE4IDE4IDI4IDE0IiBzdHJva2U9InJnYmEoMjU1LDI1NSwyNTUsMC4yNSkiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIvPgogIDwhLS0gRXllIC0tPgogIDxjaXJjbGUgY3g9IjI0IiBjeT0iMTAiIHI9IjMiIGZpbGw9IndoaXRlIi8+CiAgPGNpcmNsZSBjeD0iMjQiIGN5PSIxMCIgcj0iMS41IiBmaWxsPSIjMTExIi8+CiAgPGNpcmNsZSBjeD0iMjUiIGN5PSI5IiByPSIwLjUiIGZpbGw9IndoaXRlIi8+CiAgPCEtLSBNb3V0aCBsaW5lIC0tPgogIDxwYXRoIGQ9Ik0gNSAxMiBRIDQgMTQgNiAxMyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8IS0tIFBpbmsgYnViYmxlIChub3NlKSAtLT4KICA8Y2lyY2xlIGN4PSI0IiBjeT0iMTEiIHI9IjQiIGZpbGw9IiNlMDQwYzgiIG9wYWNpdHk9IjAuOTUiLz4KICA8Y2lyY2xlIGN4PSIzIiBjeT0iOS41IiByPSIxLjIiIGZpbGw9InJnYmEoMjU1LDI1NSwyNTUsMC41KSIvPgo8L3N2Zz4=') 4 11, auto !important; }
  a, button, .vid-card, .press-ed-item, .story-ed-item,
  .merch-card, .disc-album-card, .disc-ep-card,
  .disc-single-row, .pac-tab, .pac-photo-item,
  .nav-links a, .lang-btn, .nav-turtle-wrap,
  [onclick], label, select, input, textarea {
    cursor: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDQwIDI0Ij4KICA8cG9seWdvbiBwb2ludHM9IjQwLDQgMzIsMTIgNDAsMjAiIGZpbGw9IiMwYTJhMzUiIHN0cm9rZT0iIzVEQzhFOCIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICA8ZWxsaXBzZSBjeD0iMTgiIGN5PSIxMiIgcng9IjE0IiByeT0iOCIgZmlsbD0iIzBhMWEyNSIgc3Ryb2tlPSIjNURDOEU4IiBzdHJva2Utd2lkdGg9IjEuMiIvPgogIDxwb2x5Z29uIHBvaW50cz0iMTIsNCAxOCwwIDIyLDUiIGZpbGw9IiMwYTFhMjUiIHN0cm9rZT0iIzVEQzhFOCIgc3Ryb2tlLXdpZHRoPSIwLjgiLz4KICA8cGF0aCBkPSJNIDggMTQgUSAxOCAxOCAyOCAxNCIgc3Ryb2tlPSJyZ2JhKDkzLDIwMCwyMzIsMC4zKSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIi8+CiAgPGNpcmNsZSBjeD0iMjQiIGN5PSIxMCIgcj0iMyIgZmlsbD0iIzVEQzhFOCIvPgogIDxjaXJjbGUgY3g9IjI0IiBjeT0iMTAiIHI9IjEuNSIgZmlsbD0iIzBhMWEyNSIvPgogIDxjaXJjbGUgY3g9IjI1IiBjeT0iOSIgcj0iMC41IiBmaWxsPSIjNURDOEU4IiBvcGFjaXR5PSIwLjgiLz4KICA8cGF0aCBkPSJNIDUgMTIgUSA0IDE0IDYgMTMiIHN0cm9rZT0iIzVEQzhFOCIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KICA8Y2lyY2xlIGN4PSI0IiBjeT0iMTEiIHI9IjQiIGZpbGw9IiNlMDQwYzgiIG9wYWNpdHk9IjAuOTUiLz4KICA8Y2lyY2xlIGN4PSIzIiBjeT0iOS41IiByPSIxLjIiIGZpbGw9InJnYmEoMjU1LDI1NSwyNTUsMC41KSIvPgo8L3N2Zz4=') 4 11, auto !important;
  }
  #pac-cursor, #pac-cursor-ring, #pac-cursor-label { display: none !important; }
  } /* fin @media curseur souris */


  /* ══ TYPOGRAPHY REFINEMENTS ══ */

  /* 1. SECTION PADDING — hiérarchie verticale */
  section { padding: 120px 48px !important; }
  #about  { padding: 0 !important; }
  #tour   { padding: 0 !important; }

  /* 2. SECTION TITLES — rythme, 3 niveaux */
  .section-title {
    font-size: clamp(64px, 8vw, 96px) !important;
    line-height: 0.93 !important;
    letter-spacing: -1px !important;
    margin-bottom: 56px !important;
  }

  /* Sous-titres discographie */
  .disc-featured-title {
    font-size: clamp(52px, 6vw, 72px) !important;
    line-height: 0.92 !important;
  }
  .disc-card-title {
    font-size: 28px !important;
    line-height: 1 !important;
  }
  .disc-section-label {
    font-size: 28px !important;
    letter-spacing: 3px !important;
  }

  /* 3. SECTION LABELS — plus aérés, style magazine */
  .section-label {
    font-size: 10px !important;
    letter-spacing: 5px !important;
    margin-bottom: 14px !important;
    text-transform: uppercase;
  }

  /* 4. BODY TEXT — line-height optimisé */
  .about-text p,
  .about-body,
  .about-body-f,
  .press-ed-quote,
  .story-ed-desc,
  .merch-text,
  .pac-intro-text {
    line-height: 1.85 !important;
    font-size: 14px !important;
    letter-spacing: 0.1px;
  }

  /* 5. HERO TITLE — légère respiration */
  .hero-title {
    letter-spacing: -3px !important;
    line-height: 0.88 !important;
  }

  /* 6. NAV LINKS — tracking plus aéré */
  .nav-links a {
    letter-spacing: 2.5px !important;
    font-size: 11px !important;
  }

  /* 7. STORY editorial — titre tag plus aéré */
  .story-ed-tag {
    letter-spacing: 4px !important;
    font-size: 9px !important;
    margin-bottom: 18px !important;
  }
  .story-ed-desc {
    font-size: 13px !important;
    line-height: 1.8 !important;
  }

  /* 8. PRESS editorial */
  .press-ed-title {
    font-size: 24px !important;
    letter-spacing: 0.5px !important;
    line-height: 1.05 !important;
    margin-bottom: 4px !important;
  }
  .press-ed-quote {
    font-size: 12.5px !important;
    line-height: 1.82 !important;
  }
  .press-ed-source {
    letter-spacing: 2.5px !important;
    font-size: 10px !important;
  }
  .press-ed-tag {
    letter-spacing: 4px !important;
  }

  /* 9. FEATURED PRESS HERO */
  .press-ed-feat-title {
    font-size: clamp(32px, 4vw, 54px) !important;
    line-height: 0.95 !important;
    letter-spacing: -0.5px !important;
  }
  .press-ed-feat-excerpt {
    font-size: 14px !important;
    line-height: 1.8 !important;
  }

  /* 10. MEMBER names */
  .member-name, .member-f-name {
    font-size: 26px !important;
    letter-spacing: 2px !important;
  }
  .member-role, .member-f-role {
    letter-spacing: 3px !important;
    font-size: 9px !important;
  }

  /* 11. FOOTER */
  .aw-footer-wordmark {
    letter-spacing: 2px !important;
    line-height: 0.85 !important;
  }
  .aw-footer-heading {
    letter-spacing: 5px !important;
  }
  .aw-footer-col a {
    letter-spacing: 0.3px !important;
    line-height: 1.9 !important;
  }

  /* 12. DISC singles */
  .disc-single-title {
    font-size: 20px !important;
    letter-spacing: 0.5px !important;
  }

  /* 13. VID title */
  .vid-title {
    font-size: 18px !important;
    letter-spacing: 0.5px !important;
  }
  .vid-tag, .vid-year {
    letter-spacing: 2px !important;
  }

  /* 14. MARQUEE — plus aéré */
  .aw-marquee-item {
    letter-spacing: 6px !important;
    font-size: 12px !important;
  }

  /* 15. HERO sub */
  .hero-sub {
    font-size: 13px !important;
    line-height: 1.85 !important;
    letter-spacing: 0.5px !important;
  }

  /* 16. HERO tag */
  .hero-tag {
    letter-spacing: 5px !important;
    font-size: 10px !important;
  }

  /* 17. Merch item */
  .merch-item-name {
    letter-spacing: 2px !important;
    line-height: 1.1 !important;
  }
  .merch-item-desc {
    font-size: 12px !important;
    line-height: 1.7 !important;
  }

  /* 18. ABOUT title — respiration entre les lignes */
  #about .section-title {
    line-height: 0.96 !important;
  }

  @media (max-width: 768px) {
    section { padding: 80px 24px !important; }
    .section-title { font-size: clamp(48px, 10vw, 72px) !important; }
    .hero-title { letter-spacing: -2px !important; }
  }


  /* ══ PINK CONTRAST REFINEMENT ══ */

  /* New pink scale:
     --pink-vivid:  #e8426e  (curseur, CTA buttons only)
     --pink:        #c8486a  (slightly desaturated — labels, badges)
     --pink-soft:   rgba(200,72,106,0.45) (borders, shadows, ambient)
  */

  /* SECTION LABELS — slightly desaturated */
  .section-label {
    color: #c8486a !important;
    text-shadow: none !important;
  }
  .sec-label { color: #c8486a !important; }

  /* BADGES — softer */
  .disc-badge--album { color: #c8486a !important; border-color: #c8486a !important; }
  .disc-type.album   { color: #c8486a !important; border-color: #c8486a !important; }
  .press-tag[style*="e8426e"] { color: #c8486a !important; border-color: #c8486a !important; }

  /* SECTION REVEAL LINES — more subtle */
  .section-reveal-line {
    background: rgba(200,72,106,0.35) !important;
  }

  /* PRESS editorial line — keep more vivid (it's the key accent) */
  .press-ed-line { background: rgba(200,72,106,0.7) !important; }

  /* STORY ed line stays blue — already ok */

  /* READ MORE links — softer */
  .press-ed-link   { color: #c8486a !important; }
  .press-read-more { color: #c8486a !important; }
  .press-feat-link-f,
  .press-ed-feat-link { color: #c8486a !important; }

  /* DISC singles hover */
  .disc-single-row:hover .disc-single-title { color: #c8486a !important; }
  .disc-single-row:hover .disc-single-num   { color: #c8486a !important; }

  /* VID play button — keep vivid (it's a CTA) */
  .vid-play-btn { background: #e8426e !important; } /* unchanged */

  /* MERCH price */
  .merch-price { color: #c8486a !important; }
  .merch-item-price { color: #c8486a !important; }

  /* MERCH quote border */
  .merch-quote { border-left-color: rgba(200,72,106,0.5) !important; color: #c8486a !important; }

  /* PRESS source links */
  .press-source { color: rgba(200,72,106,0.6) !important; }

  /* CARD hover borders — very soft */
  .press-card:hover        { border-color: rgba(200,72,106,0.2) !important; }
  .disc-album-card:hover   { border-color: rgba(200,72,106,0.2) !important; }
  .disc-ep-card:hover      { border-color: rgba(200,72,106,0.2) !important; }

  /* MEMBER role labels */
  .member-role, .member-f-role { color: #c8486a !important; }

  /* ABOUT badge */
  .about-badge { background: #c8486a !important; }

  /* STORY tag — stays blue, not pink */

  /* DISC section count — softer */
  .disc-section-count {
    color: #c8486a !important;
    background: rgba(200,72,106,0.08) !important;
    border-color: rgba(200,72,106,0.25) !important;
  }

  /* SK footer link */
  .sk-all-dates { color: var(--blue) !important; } /* already blue */

  /* Insta follow btn stays gradient — ok */

  /* HERO tag */
  .hero-tag { color: #c8486a !important; }

  /* PAC count */
  .pac-count {
    color: #c8486a !important;
    background: rgba(200,72,106,0.08) !important;
    border-color: rgba(200,72,106,0.25) !important;
  }
  .pac-msg-location { color: #c8486a !important; }
  .pac-photo-date   { color: #c8486a !important; }

  /* BTN primary stays vivid — it's the main CTA */
  .btn-primary { background: var(--blue) !important; } /* already blue */
  .btn-pink    { background: var(--blue) !important; } /* already blue */

  /* Press hero feat source dot */
  .press-ed-feat-dot { color: #c8486a !important; }

  /* Footer bottom small text */
  .aw-footer-bottom { color: rgba(var(--w1),0.15) !important; }

  /* Nav scroll-top btn */
  #scroll-top, #scroll-top-f { background: #c8486a !important; }

  /* Pac submit btn stays vivid */
  .pac-submit { background: #c8486a !important; }

  /* Press ed tag (Interview etc) stays more visible */
  .press-ed-tag { color: var(--blue) !important; }


  /* ══ DENSITY + BORDERS + HERO MICRO-LIFE ══ */

  /* 1. VERTICAL DENSITY — échelle hiérarchique */
  /* Sections narratives */
  #about  { padding: 0 !important; }
  #story  { padding: 100px 48px !important; }
  #presse { padding: 100px 48px 0 !important; }

  /* Sections de contenu */
  #music     { padding: 96px 48px !important; }
  #videos    { padding: 96px 48px !important; }
  #pacifists { padding: 96px 48px !important; }

  /* Sections courtes */
  #tour   { padding: 0 !important; }
  #merch  { padding: 80px 48px !important; }

  /* Espacement interne réduit */
  .section-title  { margin-bottom: 44px !important; }
  .story-editorial { margin-top: 32px !important; }
  .press-editorial { margin-top: 0 !important; }
  .vid-grid        { margin-top: 32px !important; }
  .merch-intro     { margin-bottom: 36px !important; }
  .disc-albums-row { margin-bottom: 40px !important; }
  .disc-eps-row    { margin-bottom: 40px !important; }

  /* Laptop medium — 1024 to 1280px */
  @media (max-width: 1280px) {
    #story, #presse    { padding: 80px 40px !important; }
    #music, #videos, #pacifists { padding: 80px 40px !important; }
    #merch             { padding: 64px 40px !important; }
    .section-title     { margin-bottom: 36px !important; }
  }

  /* Mobile */
  @media (max-width: 768px) {
    #story, #presse    { padding: 64px 24px !important; }
    #music, #videos    { padding: 64px 24px !important; }
    #merch, #pacifists { padding: 56px 24px !important; }
    .section-title     { margin-bottom: 28px !important; }
  }

  /* 2. BORDER RADIUS — design system strict : 0 / 4px / 50% */
  /* Tout ce qui est éditorial → 0 */
  .story-ed-item,
  .press-ed-item,
  .press-ed-featured,
  .disc-album-card,
  .disc-ep-card,
  .disc-featured,
  .disc-spotify-card,
  .disc-spotify-card-sm,
  .merch-card,
  .merch-art,
  .vid-card,
  .vid-thumb-wrap,
  .pac-upload-zone,
  .pac-input,
  .pac-textarea,
  .press-hero-v2,
  .aw-footer,
  .btn-primary,
  .btn-outline,
  .btn-pink,
  .btn-outline-f,
  .btn-blue,
  .btn-out,
  .pac-submit,
  .merch-btn,
  .merch-cta-card,
  .tour-btn,
  #scroll-top,
  #scroll-top-f { border-radius: 0 !important; }

  /* Spotify embeds → 4px uniquement */
  .sp-embed,
  .sp-embed-lg,
  .sp-embed-md,
  .sp-embed-sm { border-radius: 4px !important; }

  /* Cercles → 50% inchangé */
  .nav-turtle-wrap,
  .splash-logo-wrap,
  .pac-avatar,
  .platform-btn { border-radius: 50% !important; }

  /* 3. HERO MICRO-LIFE — neutralisé (remplacé par heroBreathe unique, optimisé perf) */


  /* DISC-FEATURED — force 2col at all desktop sizes */
  @media (min-width: 769px) {
    .disc-featured {
      display: grid !important;
      grid-template-columns: 280px 1fr !important;
      gap: 36px !important;
      align-items: start !important;
    }
  }


  /* ══ RESTORED CSS ══ */
  .nav-lang { display: flex; gap: 4px; align-items: center; flex-shrink: 0; }
  .lang-btn { font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: rgba(var(--w1),0.4); background: transparent; border: 1px solid rgba(var(--w1),0.2); padding: 5px 10px; font-family: 'DM Sans', sans-serif; text-decoration: none; transition: all .2s; line-height: 1; }
  .lang-btn.active { color: #000 !important; background: #5DC8E8 !important; border-color: #5DC8E8 !important; }
  .lang-btn:hover  { color: #000 !important; background: #5DC8E8 !important; border-color: #5DC8E8 !important; }

  .about-body { font-size: 14px; color: rgba(var(--w1),0.6); line-height: 1.85; font-weight: 300; margin-bottom: 16px; }
  .about-body strong { color: var(--white); font-weight: 500; }
  .about-badge { display: inline-block; font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: var(--pink); border: 1px solid var(--pink); padding: 4px 12px; margin-bottom: 24px; }
  .artist-nick { font-style: normal; font-size: 0.75em; color: var(--blue); letter-spacing: 1px; font-family: 'DM Sans', sans-serif; font-weight: 400; opacity: 0.8; }

  .tour-hero { position: relative; min-height: 420px; background-size: cover; background-position: center 30%; display: flex; align-items: flex-end; overflow: hidden; }
  .tour-hero-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.78); }
  .tour-hero-content { position: relative; z-index: 2; padding: 48px 40px; }

  .hero-pacifists-count { position: absolute; bottom: 52px; right: 48px; text-align: right; z-index: 3; }
  .pac-count-num { font-family: 'Bebas Neue', sans-serif; font-size: 32px; line-height: 1; color: var(--white); display: block; }
  .pac-count-lbl { font-size: 9px; letter-spacing: 3px; text-transform: uppercase; color: rgba(var(--w1),0.35); display: block; margin-top: 2px; }

  /* Marquee */
  .aw-marquee-wrap { overflow: hidden; background: #5DC8E8; padding: 11px 0; border-top: 1px solid rgba(var(--w1),.06); border-bottom: 1px solid rgba(var(--w1),.06); }
  .aw-marquee-track { display: flex; white-space: nowrap; animation: aw-marquee 30s linear infinite; }
  .aw-marquee-item { font-family: 'Bebas Neue', sans-serif; font-size: 13px; letter-spacing: 5px; color: rgba(0,0,0,.65); padding: 0 36px; }
  .aw-marquee-item em { color: rgba(0,0,0,.9); font-style: normal; }
  @keyframes aw-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

  /* Scroll top */
  .scroll-top { position: fixed; bottom: 32px; right: 32px; z-index: 500; width: 44px; height: 44px; border-radius: 50%; background: #c8486a; color: var(--white); border: none; cursor: none; display: flex; align-items: center; justify-content: center; opacity: 0; transform: translateY(12px); transition: opacity .3s, transform .3s; box-shadow: 0 4px 20px rgba(200,72,106,.4); }
  .scroll-top.visible { opacity: 1; transform: translateY(0); }
  .scroll-top svg { width: 18px; height: 18px; }

  /* Nav mobile */
  .nav-hamburger { display: none; flex-direction: column; gap: 5px; cursor: none; padding: 4px; }
  .nav-hamburger span { display: block; width: 22px; height: 2px; background: var(--white); }
  @media (max-width: 768px) { .nav-hamburger { display: flex; } }
  .nav-mobile { position: fixed; inset: 0; top: 64px; z-index: 400; background: rgba(0,0,0,0.97); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px; transform: translateX(100%); transition: transform .3s ease; pointer-events: none; }
  .nav-mobile.open { transform: translateX(0); pointer-events: all; }
  .nav-mobile-link { font-family: 'Bebas Neue', sans-serif; font-size: 36px; letter-spacing: 4px; color: var(--white); text-decoration: none; }
  .nav-mobile-lang { display: flex; gap: 8px; margin-top: 16px; }
  #hero { padding: 0 !important; }


  /* ══ COMPACITÉ -12% ══ */

  /* Sections — hiérarchie verticale resserrée */
  #about  { padding: 0 !important; }
  #story  { padding: 88px 48px !important; }
  #music  { padding: 80px 48px !important; }
  #presse { padding: 88px 48px 0 !important; }
  #tour   { padding: 0 !important; }
  #videos { padding: 80px 48px !important; }
  #merch  { padding: 72px 48px !important; }
  #pacifists { padding: 80px 48px !important; }

  /* Titres — respiration réduite */
  .section-title  { margin-bottom: 32px !important; }
  .section-label  { margin-bottom: 10px !important; }

  /* Story editorial — cellules plus denses */
  .story-ed-item  { padding: 36px 28px 32px !important; }
  .story-ed-year  { font-size: 60px !important; }

  /* Press editorial */
  .press-ed-item    { padding: 28px 22px !important; }
  .press-ed-featured { padding: 28px 32px !important; }
  .press-ed-feat-title { font-size: clamp(26px, 3vw, 44px) !important; }

  /* About */
  .about-text { padding: 60px 48px !important; }
  .members    { margin-top: 36px !important; }
  .member-card { padding: 20px 24px !important; }

  /* Discographie */
  .disc-featured  { padding: 24px !important; }
  .disc-album-card { padding: 20px !important; }
  .disc-ep-card   { padding: 18px !important; }
  .disc-albums-row { margin-bottom: 36px !important; }
  .disc-eps-row   { margin-bottom: 36px !important; }
  .music-header   { margin-bottom: 36px !important; }
  .disc-cat-title { margin-bottom: 20px !important; }
  .disc-section-header { margin-bottom: 18px !important; padding-bottom: 10px !important; }

  /* Vidéos */
  .vid-info     { padding: 10px 0 3px !important; }
  .vid-footer   { margin-top: 24px !important; }

  /* Merch */
  .merch-intro  { margin-bottom: 28px !important; }
  .merch-art    { height: 120px !important; }
  .merch-card-info { padding: 16px 20px 20px !important; }

  /* Footer */
  .aw-footer         { padding: 0 40px 40px !important; }
  .aw-footer-wordmark { padding-top: 24px !important; margin-bottom: -16px !important; }
  .aw-footer-body    { padding: 36px 0 32px !important; gap: 40px !important; }
  .aw-footer-bottom  { padding-top: 20px !important; }

  /* Tour hero */
  .tour-hero         { min-height: 340px !important; }
  .tour-hero-content { padding: 36px 40px !important; }

  /* Pacifists */
  .pac-intro    { margin-bottom: 40px !important; }
  .pac-tabs     { margin-bottom: 28px !important; }
  .pac-upload-zone { padding: 36px 24px !important; }

  /* Laptop medium */
  @media (max-width: 1280px) {
    #story, #music, #videos, #pacifists { padding-left: 36px !important; padding-right: 36px !important; }
    #presse, #merch { padding-left: 36px !important; padding-right: 36px !important; }
  }

  /* Mobile */
  @media (max-width: 768px) {
    #story, #music, #presse, #videos, #merch, #pacifists { padding: 56px 20px !important; }
    .section-title { margin-bottom: 24px !important; }
    .about-text { padding: 40px 24px !important; }
  }


  /* ══ SPLASH RESTORED ══ */
  #pac-splash {
    position: fixed; inset: 0; z-index: 9999;
    background: #000;
    display: flex; align-items: center; justify-content: center;
    flex-direction: column;
  }
  .splash-inner {
    display: flex; flex-direction: column;
    align-items: center; gap: 0;
    text-align: center;
  }
  .splash-logo-wrap {
    width: 120px; height: 120px; border-radius: 50%;
    background: #fff; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 0 0 2px rgba(93,200,232,0.5), 0 0 32px rgba(93,200,232,0.2);
    margin-bottom: 36px;
  }
  .splash-turtle { width: 104px; height: 104px; object-fit: contain; }
  .splash-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 64px; letter-spacing: 14px;
    color: #fff; line-height: 1;
    margin-bottom: 20px;
  }
  .splash-pk { color: #e8426e; }
  .splash-sub {
    font-family: 'DM Sans', sans-serif;
    font-size: 10px; letter-spacing: 6px; text-transform: uppercase;
    color: rgba(var(--w1),0.3);
    margin-bottom: 28px;
  }
  .splash-bar {
    width: 200px; height: 1px;
    background: rgba(var(--w1),0.08);
    margin-bottom: 24px; overflow: hidden;
  }
  .splash-progress {
    height: 100%; width: 0%;
    background: linear-gradient(90deg, #5DC8E8, #e8426e);
    transition: width 2.2s ease-in-out;
  }
  .splash-dots {
    display: flex; gap: 6px; align-items: center; justify-content: center;
  }
  .splash-dot {
    width: 5px; height: 5px; border-radius: 50%;
    background: #c8486a; opacity: 0.4;
    animation: splashDot 1.2s ease-in-out infinite;
  }
  .splash-dot:nth-child(1) { animation-delay: 0s; }
  .splash-dot:nth-child(2) { animation-delay: 0.2s; }
  .splash-dot:nth-child(3) { animation-delay: 0.4s; }
  @keyframes splashDot {
    0%, 100% { opacity: 0.25; transform: scale(1); }
    50%       { opacity: 1;    transform: scale(1.3); }
  }


  /* ══════════════════════════════════════════════════════
     DESIGN SYSTEM — v1.0
     Motion grammar · Border system · Spacing · Hover
  ══════════════════════════════════════════════════════ */

  :root {
    /* Motion grammar */
    --ease-premium:  cubic-bezier(.22, .61, .36, 1);
    --ease-out:      cubic-bezier(.16, 1, .3, 1);
    --ease-in:       cubic-bezier(.55, 0, 1, .45);
    --ease-spring:   cubic-bezier(.34, 1.56, .64, 1);

    --dur-instant:  .15s;
    --dur-fast:     .25s;
    --dur-medium:   .45s;
    --dur-slow:     .80s;
    --dur-xslow:   1.20s;

    /* Border system — 0 / 1px only */
    --border:        rgba(var(--w1),.07);
    --border-hover:  rgba(var(--w1),.14);
    --border-accent: rgba(93,200,232,.25);
    --radius:        0px;

    /* Shadow system */
    --shadow-sm:  0 2px 12px rgba(0,0,0,.35);
    --shadow-md:  0 8px 32px rgba(0,0,0,.50);
    --shadow-lg:  0 20px 60px rgba(0,0,0,.65);
    --glow-blue:  0 0 40px rgba(93,200,232,.10);
    --glow-pink:  0 0 40px rgba(200,72,106,.12);

    /* Palette rationalisée */
    --pink:       #c8486a;   /* désaturé vs #e8426e */
    --pink-light: #d4607a;
    --blue:       #5DC8E8;
    --black:      #080808;
    --white:      #f0ebe3;   /* beige cassé */
    --mid:        rgba(var(--w2),.50);
    --subtle:     rgba(var(--w2),.38);

    /* Spacing scale */
    --sp-1: 4px;  --sp-2: 8px;   --sp-3: 12px;  --sp-4: 16px;
    --sp-5: 24px; --sp-6: 32px;  --sp-7: 48px;  --sp-8: 64px;
    --sp-9: 96px;
  }

  /* ── Global transitions ───────────────────────────── */
  a, button, .btn-primary, .btn-outline,
  .lang-btn, .vid-card, .press-ed-item,
  .story-ed-item, .merch-card, .disc-album-card,
  .disc-ep-card, .pac-tab, .press-ed-featured {
    transition:
      background  var(--dur-fast)  var(--ease-premium),
      border-color var(--dur-fast) var(--ease-premium),
      color       var(--dur-fast)  var(--ease-premium),
      transform   var(--dur-medium) var(--ease-out),
      box-shadow  var(--dur-medium) var(--ease-out),
      opacity     var(--dur-fast)  var(--ease-premium);
  }

  /* ── Nav ─────────────────────────────────────────── */
  nav {
    backdrop-filter: blur(14px) saturate(1.4) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.4) !important;
    background: rgba(8,8,8,.72) !important;
    transition: background var(--dur-medium) var(--ease-premium) !important;
    border-bottom: 1px solid var(--border) !important;
  }
  .nav-links a {
    letter-spacing: .06em;
    transition: color var(--dur-fast) var(--ease-premium),
                opacity var(--dur-fast) var(--ease-premium);
  }
  .nav-links a:hover { color: var(--white) !important; opacity: 1; }

  /* ── Hero micro-life — neutralisé (remplacé par heroBreathe unique, optimisé perf) ── */

  /* Grain cinéma */
  #hero::after {
    content: '';
    position: absolute; inset: 0; z-index: 2;
    pointer-events: none;
    opacity: .025;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
    background-repeat: repeat;
    mix-blend-mode: overlay;
    animation: grainShift 8s steps(10) infinite;
  }
  @keyframes grainShift {
    0%,100%{ background-position:  0%   0%; }
    10%    { background-position: 10%  15%; }
    20%    { background-position: 30%   5%; }
    30%    { background-position: 50%  20%; }
    40%    { background-position: 20%  80%; }
    50%    { background-position: 70%  50%; }
    60%    { background-position: 40%  70%; }
    70%    { background-position: 80%  30%; }
    80%    { background-position: 60%  90%; }
    90%    { background-position: 15%  60%; }
  }

  /* Blue glow ambience in hero */
  .hero-overlay {
    background:
      linear-gradient(to top, rgba(8,8,8,.88) 0%, rgba(8,8,8,.2) 50%, transparent 100%),
      linear-gradient(120deg, rgba(93,200,232,.04) 0%, transparent 60%) !important;
  }

  /* ── Buttons ──────────────────────────────────────── */
  .btn-primary {
    background: var(--pink) !important;
    border: none !important;
    border-radius: 0 !important;
    letter-spacing: .12em !important;
    font-size: 11px !important;
    padding: 14px 32px !important;
    box-shadow: 0 4px 24px rgba(200,72,106,.28) !important;
  }
  .btn-primary:hover {
    background: var(--pink-light) !important;
    box-shadow: 0 6px 32px rgba(200,72,106,.42) !important;
    transform: translateY(-1px) !important;
  }
  .btn-outline {
    border: 1px solid rgba(var(--w1),.25) !important;
    border-radius: 0 !important;
    letter-spacing: .12em !important;
    font-size: 11px !important;
    padding: 14px 32px !important;
  }
  .btn-outline:hover {
    border-color: var(--white) !important;
    background: rgba(var(--w1),.05) !important;
    transform: translateY(-1px) !important;
  }

  /* ── Sections typography ──────────────────────────── */
  .section-label {
    font-size: 9px !important;
    letter-spacing: .35em !important;
    text-transform: uppercase;
    color: var(--pink) !important;
    font-weight: 400;
  }
  .section-title {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(40px, 5vw, 64px) !important;
    letter-spacing: .04em !important;
    line-height: .92 !important;
    color: var(--white) !important;
  }
  .section-reveal-line {
    width: 32px; height: 1px;
    background: var(--pink);
    margin: 10px 0 18px;
    transition: width var(--dur-slow) var(--ease-premium);
  }
  .revealed .section-reveal-line,
  [data-reveal].revealed ~ .section-reveal-line { width: 64px; }

  /* ── Cards — unified hover ────────────────────────── */
  .story-ed-item:hover,
  .press-ed-item:hover {
    border-color: var(--border-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-sm) !important;
  }
  .vid-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--shadow-md) !important;
  }
  .merch-card:hover {
    border-color: var(--border-accent) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--glow-blue) !important;
  }
  .disc-album-card:hover,
  .disc-ep-card:hover {
    border-color: var(--border-accent) !important;
    box-shadow: var(--glow-blue) !important;
  }

  /* ── Scroll reveal — unified timing ──────────────── */
  [data-reveal] {
    opacity: 0;
    transform: translateY(16px);
    transition:
      opacity  var(--dur-slow) var(--ease-out),
      transform var(--dur-slow) var(--ease-out);
  }
  [data-reveal].revealed {
    opacity: 1;
    transform: translateY(0);
  }

  /* ── Lang buttons ─────────────────────────────────── */
  .lang-btn {
    font-size: 9px !important;
    letter-spacing: .18em !important;
    padding: 5px 10px !important;
    border: 1px solid var(--border) !important;
    transition:
      background var(--dur-fast) var(--ease-premium),
      border-color var(--dur-fast) var(--ease-premium),
      color var(--dur-fast) var(--ease-premium) !important;
  }

  /* ── Mobile refinement ────────────────────────────── */
  @media (max-width: 768px) {
    .section-title { font-size: clamp(32px, 8vw, 48px) !important; }
    .btn-primary, .btn-outline { padding: 12px 24px !important; font-size: 10px !important; }
    .hero-content { padding: 0 20px 72px !important; }
    .story-ed-item { padding: 28px 20px !important; }
    .vid-card:hover { transform: none !important; }
    .merch-card:hover { transform: none !important; }
  }


  /* ══ TICKER / HERO OVERFLOW FIX ══ */
  #hero { overflow: hidden !important; }
  .ticker {
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 4 !important;
    overflow: hidden !important;
    height: auto !important;
  }
  .ticker-inner {
    display: flex !important;
    white-space: nowrap !important;
    flex-wrap: nowrap !important;
  }
  .ticker-text {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
  /* Remove duplicate aw-marquee CSS that might render via pseudo-elements */
  .aw-marquee-wrap { display: none !important; }


  /* ══ MOBILE COMPACT + HERO MICRO-VIE ══ */

  /* ── Hero micro-vie organique ─────────────────────────────── */
  .hero-slide.active {
    /* Optimisé : une seule animation douce (transform uniquement, déporté GPU).
       Remplace 4 animations simultanées (dont margin = reflow, et filter = repaint coûteux). */
    animation: heroBreathe 50s ease-in-out infinite alternate !important;
    will-change: transform;
  }
  @keyframes heroBreathe {
    from { transform: scale(1.00) translate3d(0, 0, 0); }
    to   { transform: scale(1.035) translate3d(0, -0.6%, 0); }
  }

  /* ── Mobile compact — toutes sections ─────────────────────── */
  @media (max-width: 768px) {

    /* Hero */
    #hero { height: 72vh !important; min-height: 460px !important; }
    .hero-content { padding: 0 20px 60px !important; max-width: 100% !important; }
    .hero-title { font-size: clamp(52px, 14vw, 72px) !important; letter-spacing: .02em !important; }
    .hero-sub { font-size: 12px !important; line-height: 1.6 !important; margin-bottom: 24px !important; }
    .hero-ctas { gap: 10px !important; flex-wrap: wrap !important; }
    .btn-primary, .btn-outline { padding: 11px 22px !important; font-size: 10px !important; }
    .hero-tag { font-size: 9px !important; letter-spacing: .2em !important; margin-bottom: 16px !important; }

    /* Sections — espacement vertical réduit */
    #about    { padding: 0 !important; }
    #story    { padding: 48px 20px !important; }
    #music    { padding: 52px 20px !important; }
    #presse   { padding: 48px 20px 0 !important; }
    #videos   { padding: 48px 20px !important; }
    #merch    { padding: 44px 20px !important; }
    #pacifists{ padding: 48px 20px !important; }

    /* Titres */
    .section-title  { font-size: clamp(28px, 8vw, 40px) !important; margin-bottom: 20px !important; }
    .section-label  { font-size: 10px !important; letter-spacing: .28em !important; }

    /* About */
    .about-text { padding: 36px 20px 40px !important; }
    #about > div:last-child { padding-left: 20px !important; padding-right: 20px !important; }
    #about .about-text { padding-left: 0 !important; padding-right: 0 !important; }
    .about-body { font-size: 13px !important; line-height: 1.75 !important; }
    .members    { margin-top: 28px !important; gap: 10px !important; }
    .member-card { padding: 16px 18px !important; }

    /* Story — 1 colonne, cards plus serrées */
    .story-editorial { grid-template-columns: 1fr !important; gap: 1px !important; }
    .story-ed-item   { padding: 24px 20px !important; }
    .story-ed-year   { font-size: 44px !important; margin-bottom: 6px !important; }

    /* Press */
    .press-editorial { grid-template-columns: 1fr !important; }
    .press-ed-featured { padding: 22px 20px !important; }
    .press-ed-feat-title { font-size: 24px !important; }
    .press-ed-item   { padding: 20px !important; }

    /* Disc */
    .music-header    { margin-bottom: 24px !important; flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
    .disc-section-header { margin-bottom: 14px !important; }

    /* Videos */
    .vid-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
    .vid-info { padding: 8px 0 2px !important; }
    .vid-title { font-size: 14px !important; }

    /* Merch */
    .merch-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
    .merch-art  { height: 100px !important; }
    .merch-card-info { padding: 14px 16px 16px !important; }

    /* Footer */
    .aw-footer  { padding: 0 20px 32px !important; }
    .aw-footer-wordmark { font-size: clamp(56px, 18vw, 80px) !important; padding-top: 20px !important; }
    .aw-footer-body { padding: 28px 0 24px !important; gap: 28px !important; }
    .aw-footer-col a { font-size: 12px !important; }

    /* Pacifists */
    .pac-tabs   { gap: 0 !important; }
    .pac-tab    { padding: 10px 16px !important; font-size: 10px !important; }
    .pac-upload-zone { padding: 28px 16px !important; }

    /* Tour hero */
    .tour-hero  { min-height: 260px !important; }
    .tour-hero-content { padding: 28px 20px !important; }
  }

  /* Small phones */
  @media (max-width: 390px) {
    .hero-title { font-size: 48px !important; }
    #story, #music, #videos, #presse { padding-left: 16px !important; padding-right: 16px !important; }
    .story-ed-item { padding: 20px 16px !important; }
  }


  /* ══ SECTION NUANCES ══ */
  #story      { background: linear-gradient(180deg, #090b0f 0%, #0b0d11 100%) !important; }
  #lyrics     { background: linear-gradient(180deg, #090b0f 0%, #0c1118 100%) !important; }
  #transmission { background: linear-gradient(180deg, #090b0f 0%, #0b1218 100%) !important; }
  #videos     { background: linear-gradient(180deg, #090b0f 0%, #0a0c10 100%) !important; }
  #pacifists  { background: linear-gradient(180deg, #090b0f 0%, #0c0f14 100%) !important; }

  /* ══ SPLASH FIX ══ */
  #pac-splash {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    background: #000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .aw-footer-credit {
    text-align: center; font-size: 9px; letter-spacing: .18em; text-transform: uppercase;
    color: rgba(var(--w2),.18); font-family: 'DM Sans',sans-serif;
    padding: 16px 0 0; border-top: 1px solid rgba(var(--w1),.07); margin-top: 8px;
  }


  /* ══ LYRICS ══ */
  #lyrics { padding: 88px 48px; }
  .lyrics-albums { display: flex; flex-direction: column; gap: 48px; margin-top: 40px; }
  .lyrics-album { border-top: 1px solid var(--border); padding-top: 32px; }
  .lyrics-album-header { display: flex; align-items: baseline; gap: 16px; margin-bottom: 4px; }
  .lyrics-album-title { font-family: 'Bebas Neue', sans-serif; font-size: 28px; letter-spacing: .06em; color: var(--white); line-height: 1; }
  .lyrics-album-year { font-size: 10px; letter-spacing: .18em; color: var(--subtle); font-family: 'DM Sans', sans-serif; text-transform: uppercase; }
  .lyrics-album-type { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--pink); border: 1px solid var(--pink); padding: 2px 7px; font-family: 'DM Sans', sans-serif; opacity: .7; }
  .lyrics-tracks { display: flex; flex-direction: column; margin-top: 20px; }
  .lyrics-track { border-bottom: 1px solid var(--border); overflow: hidden; }
  .lyrics-track-header { display: flex; align-items: center; gap: 16px; padding: 16px 0; cursor: pointer; user-select: none; transition: opacity .25s ease; }
  .lyrics-track-header:hover { opacity: .75; }
  .lyrics-track-num { font-family: 'DM Sans', sans-serif; font-size: 10px; letter-spacing: .1em; color: var(--subtle); width: 24px; flex-shrink: 0; text-align: right; }
  .lyrics-track-name { font-family: 'Bebas Neue', sans-serif; font-size: 18px; letter-spacing: .06em; color: var(--white); flex: 1; }
  .lyrics-track-tag { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--blue); font-family: 'DM Sans', sans-serif; opacity: .6; }
  .lyrics-track-toggle { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform .45s ease; }
  .lyrics-track-toggle svg { width: 12px; height: 12px; stroke: var(--mid); }
  .lyrics-track.open .lyrics-track-toggle { transform: rotate(180deg); }
  .lyrics-content { max-height: 0; overflow: hidden; transition: max-height .8s ease; }
  .lyrics-track.open .lyrics-content { max-height: 200px; }
  .lyrics-genius-link { padding: 8px 0 24px 40px; }
  .lyrics-ext-link { display: inline-flex; align-items: center; gap: 7px; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--blue); text-decoration: none; font-family: 'DM Sans', sans-serif; font-weight: 500; transition: color .25s ease; }
  .lyrics-ext-link:hover { color: var(--white); }
  @media (max-width: 768px) { #lyrics { padding: 52px 20px; } }


  /* ══ TRANSMISSION ══ */
  #transmission { padding: 88px 48px; }
  .tx-desc { font-size: 11px; color: var(--subtle); font-family: 'DM Sans',sans-serif; max-width: 480px; line-height: 1.6; margin-bottom: 32px; }
  .tx-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--border); }
  .tx-filter-btn { font-size: 10px; letter-spacing: .18em; text-transform: uppercase; font-family: 'DM Sans',sans-serif; font-weight: 500; padding: 5px 12px; border: 1px solid var(--border); background: transparent; color: var(--subtle); cursor: pointer; transition: all .25s ease; }
  .tx-filter-btn:hover, .tx-filter-btn.active { color: #000; background: var(--blue); border-color: var(--blue); }
  .tx-timeline { display: flex; flex-direction: column; }
  .tx-signal { display: grid; grid-template-columns: 36px 1fr auto; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--border); align-items: start; transition: background .25s ease; }
  .tx-signal:hover { background: rgba(var(--w1),.015); }
  .tx-signal.tx-featured { border-left: 2px solid var(--pink); padding-left: 16px; margin-left: -18px; }
  .tx-signal.tx-hidden { display: none; }
  .tx-type { font-size: 18px; padding-top: 2px; }
  .tx-body { display: flex; flex-direction: column; gap: 4px; }
  .tx-cat { font-size: 7px; letter-spacing: .24em; text-transform: uppercase; font-family: 'DM Sans',sans-serif; font-weight: 600; }
  .tx-cat-video { color: #FF4444; } .tx-cat-release { color: #1DB954; } .tx-cat-live { color: var(--blue); }
  .tx-cat-official { color: var(--pink); } .tx-cat-media { color: #f0c070; } .tx-cat-community { color: #a78bfa; }
  .tx-title { font-family: 'DM Sans',sans-serif; font-size: 13px; font-weight: 500; color: var(--white); line-height: 1.45; }
  .tx-note { font-family: 'DM Sans',sans-serif; font-size: 11px; font-style: italic; color: var(--subtle); line-height: 1.5; margin-top: 1px; }
  .tx-source-row { display: flex; align-items: center; gap: 8px; margin-top: 3px; }
  .tx-source { font-size: 9px; color: var(--subtle); font-family: 'DM Sans',sans-serif; }
  .tx-link { font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); text-decoration: none; font-family: 'DM Sans',sans-serif; display: inline-flex; align-items: center; gap: 4px; transition: color .25s ease; }
  .tx-link:hover { color: var(--white); }
  .tx-time { font-size: 9px; color: var(--subtle); font-family: 'DM Sans',sans-serif; white-space: nowrap; padding-top: 4px; }
  .tx-more-btn { display: block; margin: 24px auto 0; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; font-family: 'DM Sans',sans-serif; font-weight: 500; padding: 9px 22px; border: 1px solid var(--border); background: transparent; color: var(--subtle); cursor: pointer; transition: all .25s ease; }
  .tx-more-btn:hover { color: var(--white); border-color: var(--subtle); }
  .tx-footer { margin-top: 28px; padding-top: 16px; border-top: 1px solid var(--border); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
  .tx-powered { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: rgba(var(--w2),.15); font-family: 'DM Sans',sans-serif; }
  .tx-supabase { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: rgba(93,200,232,.25); font-family: 'DM Sans',sans-serif; }
  @media (max-width: 1024px) { .tx-signal { grid-template-columns: 36px 1fr; } .tx-time { display: none; } }
  @media (max-width: 768px) { #transmission { padding: 52px 20px; } }


  /* ══ SUPPORT PACIFICA ══ */
  #merch { padding: 0; }
  .merch-hero { height: 280px; background: linear-gradient(135deg,#0a0a0a,#1a0a12,#0a0a1a); position: relative; display: flex; align-items: flex-end; }
  .merch-hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top,rgba(8,8,8,.95) 0%,rgba(8,8,8,.3) 100%); }
  .merch-hero-content { position: relative; z-index: 2; padding: 0 48px 40px; }
  .merch-body { padding: 48px 48px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
  .merch-cta-block { display: flex; flex-direction: column; gap: 20px; }
  .merch-tagline { font-size: 13px; line-height: 1.8; color: rgba(var(--w2),.55); font-weight: 300; }
  .merch-cta-primary { display: inline-flex; align-items: center; gap: 10px; font-family: 'DM Sans',sans-serif; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: #000; background: var(--blue); text-decoration: none; padding: 14px 28px; align-self: flex-start; transition: background .25s ease, transform .25s ease; }
  .merch-cta-primary:hover { background: #7dd6ee; transform: translateY(-2px); }
  .merch-cta-secondary { display: inline-flex; align-items: center; gap: 8px; font-family: 'DM Sans',sans-serif; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--pink); text-decoration: none; align-self: flex-start; border-bottom: 1px solid rgba(200,72,106,.3); padding-bottom: 2px; transition: color .25s ease; }
  .merch-cta-secondary:hover { color: var(--white); }
  .merch-bandcamp-note { font-size: 10px; color: var(--subtle); font-family: 'DM Sans',sans-serif; line-height: 1.6; padding-top: 8px; border-top: 1px solid var(--border); }
  .merch-bandcamp-note strong { color: rgba(var(--w2),.4); }
  .merch-disclaimer { background: rgba(var(--w1),.02); border: 1px solid var(--border); padding: 28px; display: flex; flex-direction: column; gap: 12px; }
  .merch-disclaimer-title { font-family: 'Bebas Neue',sans-serif; font-size: 15px; letter-spacing: .06em; color: rgba(var(--w2),.4); }
  .merch-disclaimer-text { font-size: 12px; line-height: 1.75; color: var(--subtle); font-weight: 300; font-family: 'DM Sans',sans-serif; }
  .merch-previews { padding: 0 48px 56px; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--border); }
  .merch-preview-card { background: var(--surface); padding: 24px; display: flex; flex-direction: column; gap: 6px; transition: background .25s ease; }
  .merch-preview-card:hover { background: var(--surface); }
  .merch-preview-emoji { font-size: 24px; margin-bottom: 4px; }
  .merch-preview-name { font-family: 'Bebas Neue',sans-serif; font-size: 17px; letter-spacing: .06em; color: var(--white); }
  .merch-preview-sub { font-size: 9px; letter-spacing: .12em; color: var(--subtle); font-family: 'DM Sans',sans-serif; text-transform: uppercase; }
  @media (max-width: 1024px) { .merch-body { grid-template-columns: 1fr; } .merch-previews { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 768px) { .merch-hero-content { padding: 0 20px 28px; } .merch-body, .merch-previews { padding-left: 20px; padding-right: 20px; } }


  /* ══ BIO DRAWER ══ */
  #bio-drawer {
    position: fixed !important;
    top: 0 !important; right: 0 !important; bottom: 0 !important;
    width: min(600px, 92vw) !important;
    z-index: 9000 !important;
    background: var(--surface) !important;
    border-left: 1px solid var(--border) !important;
    transform: translateX(100%) !important;
    transition: transform .8s cubic-bezier(.22,.61,.36,1) !important;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch !important;
  }
  #bio-drawer.open { transform: translateX(0) !important; }
  #bio-overlay {
    position: fixed !important; inset: 0 !important; z-index: 8900 !important;
    background: rgba(0,0,0,0) !important; pointer-events: none !important;
    transition: background .8s cubic-bezier(.22,.61,.36,1) !important;
  }
  #bio-overlay.open { background: rgba(0,0,0,.65) !important; pointer-events: all !important; }
  .bio-drawer-inner { padding: 48px 40px 80px; }
  .bio-drawer-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 40px; padding-bottom: 24px; border-bottom: 1px solid var(--border); }
  .bio-drawer-label { font-size: 9px; letter-spacing: .28em; text-transform: uppercase; color: var(--pink); font-family: 'DM Sans',sans-serif; margin-bottom: 8px; }
  .bio-drawer-title { font-family: 'Bebas Neue',sans-serif; font-size: 42px; letter-spacing: .04em; line-height: .92; color: var(--white); }
  #bio-close { background: none; border: none; color: var(--mid); cursor: pointer; font-size: 22px; line-height: 1; padding: 4px; transition: color .25s ease; }
  #bio-close:hover { color: var(--white); }
  .bio-block { margin-bottom: 32px; }
  .bio-block-title { font-family: 'Bebas Neue',sans-serif; font-size: 17px; letter-spacing: .06em; color: var(--blue); margin-bottom: 10px; }
  .bio-block p { font-size: 13px; line-height: 1.85; color: rgba(var(--w2),.58); font-weight: 300; margin-bottom: 10px; font-family: 'DM Sans',sans-serif; }
  .bio-block strong { color: var(--white); font-weight: 500; }
  .bio-block em { color: var(--pink); font-style: normal; }
  .bio-timeline { border-left: 1px solid var(--border); padding-left: 24px; margin-left: 8px; }
  .bio-tl-item { padding-bottom: 20px; position: relative; }
  .bio-tl-item::before { content: ''; position: absolute; left: -29px; top: 5px; width: 7px; height: 7px; border-radius: 50%; background: var(--pink); }
  .bio-tl-year { font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: var(--pink); font-family: 'DM Sans',sans-serif; margin-bottom: 4px; }
  .bio-tl-text { font-size: 13px; line-height: 1.7; color: rgba(var(--w2),.52); font-weight: 300; font-family: 'DM Sans',sans-serif; }
  .bio-tl-text strong { color: var(--white); font-weight: 500; }
  .bio-trigger { display: inline-flex; align-items: center; gap: 8px; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--blue); font-family: 'DM Sans',sans-serif; font-weight: 500; background: none; border: none; cursor: pointer; padding: 0; margin-top: 20px; transition: color .25s ease, gap .25s ease; }
  .bio-trigger:hover { color: var(--white); gap: 12px; }
  @media (max-width: 768px) { #bio-drawer { width: 100vw !important; border-left: none !important; } .bio-drawer-inner { padding: 32px 20px 60px; } }


  /* ══ SEARCH ══ */
  #search-btn { background:none;border:none;padding:6px;display:flex;align-items:center;justify-content:center;color:var(--mid);cursor:pointer;flex-shrink:0;transition:color .25s ease; }
  #search-btn:hover { color:var(--white); }
  #search-btn svg { width:15px;height:15px; }
  #search-overlay { position:fixed;inset:0;z-index:7000;background:rgba(8,8,8,.96);backdrop-filter:blur(16px);display:flex;flex-direction:column;align-items:center;padding-top:120px;opacity:0;pointer-events:none;transition:opacity .45s ease; }
  #search-overlay.open { opacity:1;pointer-events:all; }
  #search-close { position:absolute;top:24px;right:32px;background:none;border:none;color:var(--mid);cursor:pointer;font-size:22px;line-height:1;transition:color .25s ease; }
  #search-close:hover { color:var(--white); }
  #search-input-wrap { width:100%;max-width:640px;padding:0 24px; }
  #search-input { width:100%;background:transparent;border:none;border-bottom:1px solid rgba(var(--w2),.2);color:var(--white);font-family:'Bebas Neue',sans-serif;font-size:36px;letter-spacing:.06em;padding:8px 0 12px;outline:none;transition:border-color .25s ease; }
  #search-input:focus { border-color:var(--blue); }
  #search-input::placeholder { color:rgba(var(--w2),.18); }
  #search-results { width:100%;max-width:640px;padding:24px 24px 0;display:flex;flex-direction:column;gap:2px;max-height:60vh;overflow-y:auto; }
  .search-result-item { display:flex;align-items:center;gap:16px;padding:12px 16px;text-decoration:none;color:var(--white);border:1px solid transparent;transition:background .25s ease,border-color .25s ease; }
  .search-result-item:hover { background:rgba(var(--w1),.04);border-color:var(--border); }
  .search-result-tag { font-size: 10px;letter-spacing:.2em;text-transform:uppercase;color:var(--pink);font-family:'DM Sans',sans-serif;width:72px;flex-shrink:0; }
  .search-result-title { font-family:'DM Sans',sans-serif;font-size:13px;color:rgba(var(--w2),.75);flex:1; }
  .search-result-title strong { color:var(--white);font-weight:500; }
  .search-empty { font-size:12px;color:var(--subtle);font-family:'DM Sans',sans-serif;padding:16px;font-style:italic; }
  #search-hint { margin-top:20px;font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--subtle);font-family:'DM Sans',sans-serif; }


  /* ══ BTN ECOUTER BLEU ══ */
  .btn-primary, .hero-btn-primary {
    background: #5DC8E8 !important;
    color: #000 !important;
    border: none !important;
    box-shadow: 0 4px 24px rgba(93,200,232,.28) !important;
  }
  .btn-primary:hover, .hero-btn-primary:hover {
    background: #7dd6ee !important;
    box-shadow: 0 6px 32px rgba(93,200,232,.42) !important;
  }


  /* ══ HIDE SECTION NUMBERS ══ */
  .cinematic-num, .section-num, .pac-section-num { display: none !important; }


  /* ══ MERCH V2 ══ */
  #merch { padding: 80px 48px; }
  .merch-intro { max-width: 680px; margin-bottom: 28px; }
  .merch-intro p { font-size: 15px; line-height: 1.8; color: rgba(var(--w2),.65); font-weight: 300; font-family: 'DM Sans',sans-serif; }
  .merch-intro strong { color: var(--white); font-weight: 500; }
  .merch-quote { border-left: 3px solid var(--pink); padding: 12px 20px; margin: 24px 0 40px; }
  .merch-quote p { font-family: 'Bebas Neue',sans-serif; font-size: 18px; letter-spacing: .06em; color: var(--pink); }
  .merch-quote span { font-size: 12px; color: var(--subtle); font-family: 'DM Sans',sans-serif; font-weight: 300; }
  .merch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--border); margin-bottom: 1px; }
  .merch-card { background: var(--surface); display: flex; flex-direction: column; cursor: pointer; text-decoration: none; transition: background .25s ease; }
  .merch-card:hover { background: var(--surface); }
  .merch-card-visual { height: 160px; display: flex; align-items: center; justify-content: center; font-size: 48px; position: relative; overflow: hidden; }
  .merch-card-body { padding: 20px 24px 24px; }
  .merch-card-name { font-family: 'Bebas Neue',sans-serif; font-size: 20px; letter-spacing: .06em; color: var(--white); margin-bottom: 6px; }
  .merch-card-desc { font-size: 12px; color: var(--subtle); font-family: 'DM Sans',sans-serif; line-height: 1.5; margin-bottom: 10px; }
  .merch-card-price { font-size: 13px; color: var(--pink); font-family: 'DM Sans',sans-serif; font-weight: 500; }
  .merch-cta-row { background: var(--pink); display: flex; align-items: center; justify-content: space-between; padding: 0; }
  .merch-cta-row a { display: flex; align-items: center; justify-content: center; width: 100%; padding: 20px 28px; text-decoration: none; font-family: 'DM Sans',sans-serif; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: #fff; transition: background .25s ease; }
  .merch-cta-row a:hover { background: #d43a5e; }
  .merch-note { padding: 16px 24px; text-align: center; font-size: 11px; color: var(--subtle); font-family: 'DM Sans',sans-serif; background: var(--surface); }
  @media (max-width:1024px) { .merch-grid { grid-template-columns: repeat(2,1fr); } }
  @media (max-width:768px) { #merch { padding: 52px 20px; } .merch-grid { grid-template-columns: 1fr; } }


  /* ══ ABOUT BADGE ══ */
  .about-badge {
    display: inline-block !important;
    background: var(--pink) !important;
    color: #fff !important;
    font-family: 'DM Sans', sans-serif !important;
    font-size: 10px !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    padding: 7px 16px !important;
    font-weight: 500 !important;
    border: none !important;
    margin-bottom: 20px !important;
  }


  /* ══ LYRICS HERO ══ */
  .lyrics-hero {
    position: relative;
    height: 480px;
    background-size: cover;
    background-position: center 30%;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    margin-bottom: 0;
  }
  .lyrics-hero-overlay {
    position: absolute; inset: 0;
    background:
      linear-gradient(to top, rgba(8,8,8,.92) 0%, rgba(8,8,8,.3) 50%, rgba(8,8,8,.1) 100%),
      linear-gradient(to right, rgba(8,8,8,.5) 0%, transparent 50%);
  }
  .lyrics-hero-content {
    position: relative; z-index: 2;
    padding: 0 48px 40px;
  }
  #lyrics { padding-top: 0 !important; }
  @media (max-width: 768px) {
    .lyrics-hero { height: 320px; }
    .lyrics-hero-content { padding: 0 20px 28px; }
  }


  /* ══ SUPPORT PACIFICA V3 ══ */
  #merch { padding: 0; }
  .sp-hero {
    height: 300px;
    background: linear-gradient(135deg, #0a0608 0%, #180a12 50%, #0a0a18 100%);
    position: relative; display: flex; align-items: flex-end;
  }
  .sp-hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(8,8,8,.9) 0%, rgba(8,8,8,.2) 100%);
  }
  .sp-hero-content { position: relative; z-index: 2; padding: 0 48px 40px; }
  .sp-body { padding: 56px 48px 32px; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
  .sp-left { display: flex; flex-direction: column; gap: 20px; }
  .sp-tagline { font-size: 14px; line-height: 1.85; color: rgba(var(--w2),.6); font-weight: 300; font-family: 'DM Sans',sans-serif; }
  .sp-tagline strong { color: var(--white); font-weight: 500; }
  .sp-cta-main {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: 'DM Sans',sans-serif; font-size: 10px; letter-spacing: .2em;
    text-transform: uppercase; font-weight: 600; color: #000;
    background: var(--blue); text-decoration: none; padding: 14px 28px;
    align-self: flex-start; transition: background .25s ease, transform .25s ease;
    box-shadow: 0 4px 24px rgba(93,200,232,.25);
  }
  .sp-cta-main:hover { background: #7dd6ee; transform: translateY(-2px); }
  .sp-cta-band {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: 'DM Sans',sans-serif; font-size: 9px; letter-spacing: .18em;
    text-transform: uppercase; color: var(--pink); text-decoration: none;
    align-self: flex-start; border-bottom: 1px solid rgba(200,72,106,.3);
    padding-bottom: 2px; transition: color .25s ease, gap .25s ease;
  }
  .sp-cta-band:hover { color: var(--white); gap: 12px; }
  .sp-bandcamp-note {
    font-size: 10px; color: var(--subtle); font-family: 'DM Sans',sans-serif;
    line-height: 1.65; padding-top: 12px; border-top: 1px solid var(--border);
  }
  .sp-bandcamp-note strong { color: rgba(var(--w2),.4); }
  .sp-right {
    background: rgba(var(--w1),.025); border: 1px solid var(--border);
    padding: 28px; display: flex; flex-direction: column; gap: 14px;
  }
  .sp-disclaimer-icon { font-size: 22px; opacity: .45; }
  .sp-disclaimer-title {
    font-family: 'Bebas Neue',sans-serif; font-size: 15px;
    letter-spacing: .06em; color: rgba(var(--w2),.35);
  }
  .sp-disclaimer-text {
    font-size: 12px; line-height: 1.8; color: var(--subtle);
    font-weight: 300; font-family: 'DM Sans',sans-serif;
  }
  .sp-previews {
    padding: 0 48px 64px;
    display: grid; grid-template-columns: repeat(3,1fr);
    gap: 1px; background: var(--border);
  }
  .sp-preview {
    background: var(--surface); padding: 32px 24px; display: flex;
    flex-direction: column; gap: 8px;
    text-decoration: none; transition: background .25s ease;
  }
  .sp-preview:hover { background: var(--surface); }
  .sp-preview-emoji { font-size: 32px; margin-bottom: 6px; }
  .sp-preview-name {
    font-family: 'Bebas Neue',sans-serif; font-size: 20px;
    letter-spacing: .06em; color: var(--white);
  }
  .sp-preview-sub {
    font-size: 9px; letter-spacing: .14em; color: var(--subtle);
    font-family: 'DM Sans',sans-serif; text-transform: uppercase;
  }
  @media (max-width:1024px) { .sp-body { grid-template-columns: 1fr; gap:32px; } .sp-previews { grid-template-columns: 1fr 1fr; } }
  @media (max-width:768px) { .sp-hero-content { padding: 0 20px 28px; } .sp-body, .sp-previews { padding-left: 20px; padding-right: 20px; } }


  /* ══ TOUR WIDGET ══ */
  #tour { padding: 88px 48px; }
  .tour-widget-wrap { margin-top: 40px; display: flex; flex-direction: column; gap: 24px; }
  .tour-bandsintown-embed {
    width: 100%; background: rgba(var(--w1),.02);
    border: 1px solid var(--border); padding: 32px;
    display: flex; flex-direction: column; align-items: center;
    gap: 16px; text-align: center;
  }
  .tour-bit-logo { font-size: 32px; }
  .tour-bit-title {
    font-family: 'Bebas Neue',sans-serif; font-size: 18px;
    letter-spacing: .06em; color: var(--white);
  }
  .tour-bit-sub {
    font-size: 11px; color: var(--subtle); font-family: 'DM Sans',sans-serif;
  }
  .tour-bit-actions { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
  .tour-bit-btn-main {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: 'DM Sans',sans-serif; font-size: 10px; letter-spacing: .2em;
    text-transform: uppercase; font-weight: 600; color: #000;
    background: var(--blue); text-decoration: none; padding: 12px 24px;
    transition: background .25s ease;
  }
  .tour-bit-btn-main:hover { background: #7dd6ee; }
  .tour-bit-btn-sec {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: 'DM Sans',sans-serif; font-size: 10px; letter-spacing: .2em;
    text-transform: uppercase; font-weight: 500; color: var(--white);
    background: transparent; text-decoration: none; padding: 12px 24px;
    border: 1px solid var(--border); transition: border-color .25s ease, color .25s ease;
  }
  .tour-bit-btn-sec:hover { border-color: var(--white); }
  .tour-photo { width: 100%; height: 300px; object-fit: cover; object-position: center 30%; opacity: .6; filter: grayscale(40%); }
  @media (max-width:768px) { #tour { padding: 52px 20px; } }

  /* ══ SPACING FIX ══ */
  #merch .sp-hero { height: 480px !important; }
  @media (max-width:768px){ #merch .sp-hero { height: 320px !important; } }
  #videos { padding-bottom: 24px !important; }
  #merch { padding-top: 24px !important; }
  #pacifists { padding-top: 64px !important; }


  /* ══ TOUR V2 ══ */
  #tour { padding: 88px 48px; }
  .tour-intro { max-width: 560px; margin-bottom: 40px; }
  .tour-intro p { font-size: 13px; line-height: 1.8; color: var(--subtle); font-family: 'DM Sans',sans-serif; }
  .tour-bit-widget-wrap {
    background: rgba(var(--w1),.02); border: 1px solid var(--border);
    padding: 40px; display: flex; flex-direction: column; align-items: center; gap: 20px;
  }
  .tour-bit-icon { font-size: 36px; }
  .tour-bit-heading {
    font-family: 'Bebas Neue',sans-serif; font-size: 22px;
    letter-spacing: .06em; color: var(--white); text-align: center;
  }
  .tour-bit-sub { font-size: 11px; color: var(--subtle); font-family: 'DM Sans',sans-serif; text-align: center; max-width: 360px; }
  .tour-bit-btns { display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 8px; }
  .tour-bit-btn-primary {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: 'DM Sans',sans-serif; font-size: 10px; letter-spacing: .2em;
    text-transform: uppercase; font-weight: 600; color: #000;
    background: var(--blue); text-decoration: none; padding: 13px 28px;
    transition: background .25s ease, transform .25s ease;
  }
  .tour-bit-btn-primary:hover { background: #7dd6ee; transform: translateY(-2px); }
  .tour-bit-btn-secondary {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: 'DM Sans',sans-serif; font-size: 10px; letter-spacing: .2em;
    text-transform: uppercase; font-weight: 500; color: var(--white);
    background: transparent; text-decoration: none; padding: 13px 28px;
    border: 1px solid var(--border); transition: border-color .25s ease;
  }
  .tour-bit-btn-secondary:hover { border-color: rgba(var(--w1),.4); }
  .tour-bit-note { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: rgba(var(--w2),.2); font-family: 'DM Sans',sans-serif; margin-top: 4px; }
  @media (max-width: 768px) { #tour { padding: 52px 20px; } .tour-bit-widget-wrap { padding: 28px 20px; } }


  /* ══ FOOTER PACIFICA ══ */
  .aw-footer-brand-text {
    font-family: 'Bebas Neue',sans-serif !important;
    font-size: clamp(72px, 12vw, 160px) !important;
    letter-spacing: .04em !important;
    line-height: .88 !important;
    background: linear-gradient(135deg, #e8426e 0%, #5DC8E8 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    opacity: .18 !important;
    display: block !important;
    user-select: none !important;
  }


  /* ══ FOOTER WORDMARK ══ */
  .aw-footer-wordmark {
    font-family: 'Bebas Neue', sans-serif !important;
    font-size: clamp(80px, 13vw, 180px) !important;
    letter-spacing: .04em !important;
    line-height: .88 !important;
    background: linear-gradient(135deg, #e8426e 0%, #5DC8E8 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    opacity: .35 !important;
    display: block !important;
    user-select: none !important;
    padding: 0 40px !important;
  }


  /* ══ BG NUANCES V2 ══ */
  #hero        { background: var(--surface) !important; }
  #about       { background: var(--surface) !important; }
  #story       { background: linear-gradient(180deg, #0a0a0a 0%, #0b0d10 100%) !important; }
  #music       { background: var(--surface) !important; }
  #lyrics      { background: linear-gradient(180deg, #0a0a0a 0%, #0b0e12 100%) !important; }
  #transmission{ background: linear-gradient(180deg, #0a0a0a 0%, #0c1015 100%) !important; }
  #tour        { background: var(--surface) !important; }
  #videos      { background: linear-gradient(180deg, #0a0a0a 0%, #0b0c0e 100%) !important; }
  #merch       { background: var(--surface) !important; }
  #pacifists   { background: linear-gradient(180deg, #0a0a0a 0%, #0b0d11 100%) !important; }
  footer       { background: #050607 !important; }


  /* ══ SP QUOTE ══ */
  .sp-quote {
    padding: 20px 0 0;
    border-left: 3px solid var(--pink);
    padding-left: 20px;
    margin: 0 48px 0;
  }
  .sp-quote-text {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 17px; letter-spacing: .05em;
    color: var(--pink); line-height: 1.3;
  }
  .sp-quote-attr {
    font-size: 10px; color: var(--subtle);
    font-family: 'DM Sans', sans-serif;
    letter-spacing: .1em;
  }


  /* ══ TICKER POSITION FIX ══ */
  #hero { position: relative; padding-bottom: 32px !important; }
  .ticker {
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    z-index: 10 !important;
    background: #5DC8E8 !important;
    padding: 6px 0 !important;
    height: auto !important;
  }
  .ticker-inner { display: flex !important; white-space: nowrap !important; animation: ticker 25s linear infinite !important; }
  .ticker-text { font-family: 'Bebas Neue', sans-serif !important; font-size: 12px !important; letter-spacing: 3px !important; color: #fff !important; padding: 0 40px !important; }

  /* Mobile : on désencombre le hero — l'identité + le crédit photo restent dans le footer */
  .hero-identity { display: none !important; }
  .hero-photo-credit { display: none !important; }


  /* ══ NEW TO PACIFICA ══ */
  #new-to-pacifica {
    padding: 64px 48px;
    background: rgba(93,200,232,.04);
    border-top: 1px solid rgba(93,200,232,.1);
    border-bottom: 1px solid rgba(93,200,232,.1);
  }
  .ntp-label {
    font-size: 9px; letter-spacing: .28em; text-transform: uppercase;
    color: var(--blue); font-family: 'DM Sans',sans-serif;
    margin-bottom: 8px;
  }
  .ntp-title {
    font-family: 'Bebas Neue',sans-serif; font-size: 32px;
    letter-spacing: .06em; color: var(--white); margin-bottom: 32px;
  }
  .ntp-cards {
    display: grid; grid-template-columns: repeat(3,1fr); gap: 1px;
    background: var(--border);
  }
  .ntp-card {
    background: var(--surface); padding: 28px 24px 32px;
    text-decoration: none; display: flex; flex-direction: column; gap: 12px;
    transition: background .25s ease;
    position: relative; overflow: hidden;
  }
  .ntp-card::before {
    content: ''; position: absolute; bottom: 0; left: 0; right: 0;
    height: 2px; background: var(--blue); transform: scaleX(0);
    transition: transform .35s ease; transform-origin: left;
  }
  .ntp-card:hover { background: var(--surface); }
  .ntp-card:hover::before { transform: scaleX(1); }
  .ntp-card-emoji { font-size: 28px; }
  .ntp-card-title {
    font-family: 'Bebas Neue',sans-serif; font-size: 20px;
    letter-spacing: .06em; color: var(--white);
  }
  .ntp-card-desc {
    font-size: 12px; line-height: 1.65; color: var(--subtle);
    font-family: 'DM Sans',sans-serif; font-weight: 300; flex: 1;
  }
  .ntp-card-cta {
    font-size: 9px; letter-spacing: .2em; text-transform: uppercase;
    color: var(--blue); font-family: 'DM Sans',sans-serif; font-weight: 500;
    display: flex; align-items: center; gap: 6px; margin-top: 4px;
  }
  @media (max-width:1024px) { .ntp-cards { grid-template-columns: 1fr; } }
  @media (max-width:768px) { #new-to-pacifica { padding: 48px 20px; } }


  /* ══ CROSS LINKS ══ */
  .cross-link {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 9px; letter-spacing: .2em; text-transform: uppercase;
    color: var(--blue); text-decoration: none;
    font-family: 'DM Sans',sans-serif; font-weight: 500;
    transition: color .25s ease, gap .25s ease;
    margin-top: 4px;
  }
  .cross-link:hover { color: var(--white); gap: 10px; }
  .section-cross-row {
    display: flex; gap: 24px; flex-wrap: wrap;
    padding: 20px 0 0; border-top: 1px solid var(--border); margin-top: 32px;
  }


  /* ══ SECTION CONTINUE ══ */
  .section-continue {
    display: flex; align-items: center; justify-content: flex-end;
    padding: 32px 48px 0; gap: 10px;
    font-size: 9px; letter-spacing: .24em; text-transform: uppercase;
    color: rgba(var(--w2),.2); font-family: 'DM Sans',sans-serif;
    text-decoration: none; transition: color .25s ease;
  }
  .section-continue:hover { color: rgba(var(--w2),.5); }
  .section-continue svg { width: 10px; height: 10px; opacity: .4; }
  @media (max-width:768px) { .section-continue { padding: 24px 20px 0; } }


  /* ══ MANIFESTO ══ */
  .footer-manifesto {
    text-align: center;
    font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
    color: rgba(var(--w2),.18); font-family: 'DM Sans',sans-serif;
    padding: 20px 40px 8px; font-style: italic; font-weight: 300;
    border-top: 1px solid rgba(var(--w1),.04); margin-top: 24px;
  }


  /* ══ PACIFISTS ENRICHMENT ══ */
  .pac-fan-quote-wrap {
    margin: 48px 0 0; padding: 36px 40px;
    border: 1px solid var(--border);
    background: rgba(93,200,232,.03);
    position: relative; overflow: hidden;
  }
  .pac-fan-quote-wrap::before {
    content: '"'; position: absolute; top: -10px; left: 20px;
    font-family: 'Bebas Neue',sans-serif; font-size: 120px;
    color: rgba(93,200,232,.06); line-height: 1; pointer-events: none;
  }
  .pac-fan-quote-label {
    font-size: 10px; letter-spacing: .28em; text-transform: uppercase;
    color: var(--blue); font-family: 'DM Sans',sans-serif; margin-bottom: 16px;
  }
  .pac-fan-quote-text {
    font-family: 'DM Sans',sans-serif; font-size: 15px;
    line-height: 1.75; color: rgba(var(--w2),.7); font-weight: 300;
    font-style: italic; margin-bottom: 12px;
  }
  .pac-fan-quote-author {
    font-size: 10px; letter-spacing: .14em; color: var(--subtle);
    font-family: 'DM Sans',sans-serif;
  }
  .pac-photo-month-wrap { margin: 40px 0 0; }
  .pac-photo-month-label {
    font-size: 10px; letter-spacing: .28em; text-transform: uppercase;
    color: var(--pink); font-family: 'DM Sans',sans-serif; margin-bottom: 16px;
  }
  .pac-photo-month-card {
    border: 1px solid var(--border); overflow: hidden;
    position: relative;
  }
  .pac-photo-month-placeholder {
    height: 280px; background: linear-gradient(135deg,#0f0a14,#0a0f1a);
    display: flex; align-items: center; justify-content: center;
    flex-direction: column; gap: 12px;
  }
  .pac-photo-month-icon { font-size: 36px; opacity: .4; }
  .pac-photo-month-sub {
    font-size: 10px; letter-spacing: .18em; text-transform: uppercase;
    color: var(--subtle); font-family: 'DM Sans',sans-serif; text-align: center;
  }


  /* ══ TX ARCHIVE ══ */
  .tx-year-tabs {
    display: flex; gap: 2px; margin-bottom: 24px;
    border-bottom: 1px solid var(--border); padding-bottom: 0;
  }
  .tx-year-tab {
    font-family: 'DM Sans',sans-serif; font-size: 9px; letter-spacing: .2em;
    text-transform: uppercase; font-weight: 600; padding: 8px 18px 10px;
    background: transparent; border: none; color: var(--subtle);
    cursor: pointer; border-bottom: 2px solid transparent;
    transition: color .25s ease, border-color .25s ease;
    margin-bottom: -1px;
  }
  .tx-year-tab.active { color: var(--blue); border-bottom-color: var(--blue); }
  .tx-year-panel { display: none; }
  .tx-year-panel.active { display: block; }
  .tx-archive-signal {
    display: grid; grid-template-columns: 36px 1fr auto;
    gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--border);
    align-items: start;
  }
  .tx-archive-time {
    font-size: 9px; color: var(--subtle); font-family: 'DM Sans',sans-serif;
    white-space: nowrap; padding-top: 4px;
  }


  /* ══ UNIFORM CTA ══ */
  .cta-read, .cta-listen, .cta-watch, .cta-explore, .cta-support {
    display: inline-flex; align-items: center; gap: 7px;
    font-size: 9px; letter-spacing: .2em; text-transform: uppercase;
    font-family: 'DM Sans',sans-serif; font-weight: 500;
    text-decoration: none; transition: color .25s ease, gap .25s ease;
  }
  .cta-read    { color: var(--white); }
  .cta-listen  { color: var(--blue); }
  .cta-watch   { color: #FF4444; }
  .cta-explore { color: var(--blue); }
  .cta-support { color: var(--pink); }
  .cta-read:hover, .cta-listen:hover, .cta-watch:hover,
  .cta-explore:hover, .cta-support:hover { gap: 11px; opacity: .8; }


  /* ══ EMOTIONAL INTERLUDES ══ */
  .interlude {
    padding: 56px 48px;
    display: flex; flex-direction: column; align-items: center;
    text-align: center; gap: 12px;
    position: relative; overflow: hidden;
  }
  .interlude::before {
    content: '';
    position: absolute; top: 0; left: 50%; transform: translateX(-50%);
    width: 1px; height: 32px;
    background: linear-gradient(to bottom, transparent, rgba(var(--w2),.12));
  }
  .interlude::after {
    content: '';
    position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
    width: 1px; height: 32px;
    background: linear-gradient(to top, transparent, rgba(var(--w2),.12));
  }
  .interlude-text {
    font-family: 'DM Sans', sans-serif;
    font-size: 16px; line-height: 1.75;
    font-weight: 300; font-style: italic;
    color: rgba(var(--w2),.45);
    max-width: 560px;
    letter-spacing: .01em;
  }
  .interlude-text em {
    color: rgba(var(--w2),.7);
    font-style: italic;
  }
  .interlude-attr {
    font-size: 9px; letter-spacing: .24em; text-transform: uppercase;
    color: rgba(var(--w2),.2); font-family: 'DM Sans', sans-serif;
    margin-top: 4px;
  }
  .interlude-accent {
    width: 24px; height: 1px;
    background: var(--pink); opacity: .5; margin-bottom: 4px;
  }
  @media (max-width: 768px) {
    .interlude { padding: 40px 24px; }
    .interlude-text { font-size: 14px; }
  }


  /* ══ STICKY PLAYER ══ */
  #sticky-player {
    position: fixed; bottom: 24px; right: 24px; z-index: 8500;
    width: 320px; background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: 0 8px 32px rgba(0,0,0,.6);
    transform: translateY(120%);
    transition: transform .5s cubic-bezier(.22,.61,.36,1);
    overflow: hidden;
  }
  #sticky-player.open { transform: translateY(0); }
  .sticky-player-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 14px; border-bottom: 1px solid var(--border);
    background: var(--surface);
  }
  .sticky-player-label {
    font-size: 10px; letter-spacing: .2em; text-transform: uppercase;
    color: var(--blue); font-family: 'DM Sans',sans-serif; font-weight: 500;
  }
  #sticky-player-close {
    background: none; border: none; color: var(--subtle);
    cursor: pointer; font-size: 16px; line-height: 1; padding: 0 2px;
    transition: color .2s ease;
  }
  #sticky-player-close:hover { color: var(--white); }
  #sticky-player iframe {
    display: block; width: 100%; height: 80px;
  }
  @media (max-width: 768px) {
    #sticky-player { width: calc(100vw - 32px); right: 16px; bottom: 16px; }
  }


  /* ══ PACIFISTS GALLERY ══ */
  .pac-gallery-wrap { margin: 48px 0 0; }
  .pac-gallery-label {
    font-size: 10px; letter-spacing: .28em; text-transform: uppercase;
    color: var(--blue); font-family: 'DM Sans',sans-serif; margin-bottom: 20px;
  }
  .pac-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
  }
  .pac-gallery-item {
    aspect-ratio: 1; overflow: hidden; cursor: pointer;
    background: var(--surface); position: relative;
  }
  .pac-gallery-item img {
    width: 100%; height: 100%; object-fit: cover;
    filter: grayscale(100%) contrast(1.1);
    transition: filter .4s ease, transform .4s ease;
  }
  .pac-gallery-item:hover img {
    filter: grayscale(60%) contrast(1.1);
    transform: scale(1.04);
  }
  .pac-gallery-placeholder {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #0d0d0d, #151515);
    display: flex; align-items: center; justify-content: center;
    font-size: 28px; opacity: .3;
  }
  /* Lightbox */
  #pac-lightbox {
    position: fixed; inset: 0; z-index: 9500;
    background: rgba(0,0,0,.92); backdrop-filter: blur(8px);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; pointer-events: none;
    transition: opacity .35s ease;
  }
  #pac-lightbox.open { opacity: 1; pointer-events: all; }
  #pac-lightbox img {
    max-width: 90vw; max-height: 85vh; object-fit: contain;
    filter: grayscale(100%) contrast(1.1);
  }
  #pac-lightbox-close {
    position: absolute; top: 20px; right: 28px;
    background: none; border: none; color: rgba(var(--w2),.5);
    font-size: 28px; cursor: pointer; line-height: 1;
    transition: color .2s ease;
  }
  #pac-lightbox-close:hover { color: var(--white); }
  @media (max-width: 768px) { .pac-gallery-grid { grid-template-columns: repeat(2,1fr); } }


  /* ══ UNIFIED MICRO-INTERACTIONS ══ */

  /* PRIMARY BUTTONS — blue fill, lift */
  .btn-primary, .hero-btn-primary,
  .merch-cta-primary, .sp-cta-main,
  .tour-bit-btn-primary, .ntp-card,
  .merch-cta-primary:link {
    transition:
      background   .25s cubic-bezier(.22,.61,.36,1),
      transform    .25s cubic-bezier(.22,.61,.36,1),
      box-shadow   .25s cubic-bezier(.22,.61,.36,1) !important;
  }
  .btn-primary:hover, .hero-btn-primary:hover,
  .merch-cta-primary:hover, .sp-cta-main:hover,
  .tour-bit-btn-primary:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 24px rgba(93,200,232,.3) !important;
  }

  /* CTA LINKS — text + arrow, gap widens */
  .bio-trigger,
  .cross-link,
  .ntp-card-cta,
  .tx-link,
  .lyrics-ext-link,
  .sp-cta-band,
  .section-continue,
  .merch-cta-secondary,
  .tour-bit-btn-secondary {
    transition:
      color  .25s ease,
      gap    .3s  cubic-bezier(.22,.61,.36,1),
      opacity .25s ease !important;
  }
  .bio-trigger:hover,
  .cross-link:hover,
  .tx-link:hover,
  .lyrics-ext-link:hover,
  .sp-cta-band:hover {
    gap: 11px !important;
    color: var(--white) !important;
  }

  /* SUBTLE LINKS — opacity only */
  .aw-footer-nav a,
  .aw-footer-social a,
  footer a {
    transition: opacity .2s ease, color .2s ease !important;
    opacity: .55;
  }
  .aw-footer-nav a:hover,
  .aw-footer-social a:hover,
  footer a:hover {
    opacity: 1 !important;
    color: var(--white) !important;
  }

  /* NAV LINKS — consistent underline reveal */
  .nav-links a {
    transition: color .2s ease !important;
    position: relative;
  }
  .nav-links a::after {
    content: '';
    position: absolute; bottom: -2px; left: 0; right: 0;
    height: 1px; background: var(--blue);
    transform: scaleX(0); transform-origin: left;
    transition: transform .3s cubic-bezier(.22,.61,.36,1);
  }
  .nav-links a:hover::after { transform: scaleX(1); }

  /* CARDS — subtle lift */
  .ntp-card, .merch-card, .sp-preview,
  .merch-preview-card, .tx-signal {
    transition: background .25s ease, transform .25s cubic-bezier(.22,.61,.36,1) !important;
  }
  .ntp-card:hover, .merch-card:hover, .sp-preview:hover {
    transform: translateY(-2px) !important;
  }



  /* ════════════════════════════════════════════════════════
     AMBIANCE — SOMBRE PROFOND (défaut) <-> CRÉPUSCULE
     Le texte reste clair dans les deux modes ; seul le fond
     se relève vers un slate gris-bleu (Crépuscule).
     ════════════════════════════════════════════════════════ */
  :root{
    --w1: 255,255,255;   /* canal premier-plan (clair, inchangé entre modes) */
    --w2: 240,235,227;   /* canal texte chaud (clair, inchangé) */
    --nav: 10,10,10;     /* fond translucide nav */
    --surface: #0a0a0a;  /* surface cartes / sections pleines */
    --surface-2: #141414;/* survol cartes */
    --footer: #050505;
  }

  html[data-theme="dim"]{
    --black:  #242a35;   /* plancher slate (Crépuscule) */
    --nav:    36,42,53;
    --surface:   #2d333f;
    --surface-2: #373e4c;
    --footer:    #1c212a;
    --mid:    rgba(var(--w2),.52);  /* texte secondaire un peu plus lisible sur slate */
    --border:       rgba(var(--w1),.10);
    --border-hover: rgba(var(--w1),.18);
    color-scheme: dark;
    /* --white, --pink, --blue : INCHANGÉS -> identité préservée */
  }

  /* Transition douce au basculement */
  html[data-theme] body,
  html[data-theme] nav,
  html[data-theme] section,
  html[data-theme] footer,
  html[data-theme] .disc-album-card,
  html[data-theme] .disc-ep-card,
  html[data-theme] .merch-card,
  html[data-theme] .yt-card,
  html[data-theme] .ntp-card,
  html[data-theme] .press-card,
  html[data-theme] #bio-drawer{
    transition: background-color .4s ease, background .4s ease, border-color .4s ease;
  }

  /* Sections en dégradé : relevées en slate sur le mode crépuscule
     (ID + attribut + !important : gagnent sur les règles existantes) */
  html[data-theme="dim"] #story        { background: linear-gradient(180deg,#262c38 0%,#222834 100%) !important; }
  html[data-theme="dim"] #lyrics       { background: linear-gradient(180deg,#272e3b 0%,#222834 100%) !important; }
  html[data-theme="dim"] #transmission { background: linear-gradient(180deg,#28323f 0%,#222834 100%) !important; }
  html[data-theme="dim"] #videos       { background: linear-gradient(180deg,#262d38 0%,#222834 100%) !important; }
  html[data-theme="dim"] #pacifists    { background: linear-gradient(180deg,#272f3c 0%,#222834 100%) !important; }
  html[data-theme="dim"] #new-to-pacifica{ background: rgba(93,200,232,.06) !important; }
  html[data-theme="dim"] #hero         { background: #1d2230 !important; }
  html[data-theme="dim"] footer        { background: var(--footer) !important; }

  /* ── Bouton d'ambiance (dans la nav) ── */
  #theme-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    width:30px; height:30px; padding:0; border-radius:50%;
    background:transparent; border:1px solid var(--border-hover);
    color:var(--white); cursor:pointer; flex-shrink:0;
    transition:color .2s, border-color .2s, transform .25s;
  }
  #theme-toggle:hover{ color:var(--blue); border-color:var(--blue); transform:rotate(-18deg); }
    #theme-toggle svg{ width:15px; height:15px; display:block; }
  #calm-toggle{ display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; padding:0; border-radius:50%; background:transparent; border:1px solid var(--border-hover); color:var(--white); cursor:pointer; flex-shrink:0; transition:color .2s, border-color .2s; }
  #calm-toggle:hover{ color:var(--blue); border-color:var(--blue); }
  #calm-toggle svg{ width:13px; height:13px; display:block; }
  html[data-calm] #calm-toggle{ color:var(--blue); border-color:var(--blue); }


  /* ── Accessibilité : mouvement réduit ── */
  /* #4 : focus clavier visible (accessibilite) */
  :focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; border-radius: 2px; }
  :focus:not(:focus-visible) { outline: none; }

  @media (prefers-reduced-motion: reduce){
    *, *::before, *::after{
      animation-duration: .001ms !important;
      animation-iteration-count: 1 !important;
      animation-delay: 0s !important;
      transition-duration: .001ms !important;
      scroll-behavior: auto !important;
    }
    [data-reveal]{ opacity: 1 !important; transform: none !important; }
    .cinematic-word-inner{ transform: none !important; }
    /* Hero : on fige totalement les animations lourdes (perf vieux GPU / accessibilité) */
    .hero-slide.active{ animation: none !important; transform: none !important; }
    #hero::before{ animation: none !important; }
    .parallax-bg{ transform: none !important; }
    #pac-cursor, #pac-cursor-ring, #pac-cursor-label{ display: none !important; }
    *{ cursor: auto !important; }
  }

  /* #1 : MODE CALME (bouton utilisateur) — meme effet que reduce-motion */
  html[data-calm] *, html[data-calm] *::before, html[data-calm] *::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    animation-delay:0s !important; transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  html[data-calm] [data-reveal]{ opacity:1 !important; transform:none !important; }
  html[data-calm] .cinematic-word-inner{ transform:none !important; }
  html[data-calm] .hero-slide.active{ animation:none !important; transform:none !important; }
  html[data-calm] #hero::before{ animation:none !important; }
  html[data-calm] .parallax-bg{ transform:none !important; }
  html[data-calm] #pac-cursor, html[data-calm] #pac-cursor-ring, html[data-calm] #pac-cursor-label{ display:none !important; }
  html[data-calm] *{ cursor:auto !important; }
  /* #2 : badge "nouveau" sur les signaux Transmission vus depuis la derniere visite */
  .tx-badge-new{ display:inline-block; margin-bottom:8px; font-size:9px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--black); background:var(--blue); border-radius:999px; padding:2px 9px; }
  .tx-signal.tx-new{ box-shadow: inset 3px 0 0 var(--blue); }

/* ── Concerts : À venir / Passés ── */
.cc-wrap{ max-width:760px; margin:0 auto; }
.cc-section{ margin-bottom:44px; }
.cc-head{ display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:14px; margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid rgba(var(--w1),0.12); }
.cc-h{ font-family:'Bebas Neue',sans-serif; font-size:32px; letter-spacing:2px; color:var(--white); margin:0; }
.cc-filters{ display:flex; gap:10px; }
.cc-select{ background:transparent; color:var(--mid); border:1px solid rgba(var(--w1),0.18); border-radius:999px; padding:6px 14px; font-family:'DM Sans',sans-serif; font-size:12px; letter-spacing:.5px; cursor:pointer; }
.cc-row{ display:grid; grid-template-columns:62px 1fr auto; align-items:center; gap:18px; padding:15px 4px; border-bottom:1px solid rgba(var(--w1),0.08); transition:background .25s; }
.cc-row:hover{ background:rgba(var(--w1),0.035); }
.cc-date{ display:flex; flex-direction:column; align-items:center; line-height:1; }
.cc-day{ font-family:'Bebas Neue',sans-serif; font-size:30px; color:var(--blue); }
.cc-mon{ font-size:11px; letter-spacing:1px; text-transform:uppercase; color:var(--mid); margin-top:3px; }
.cc-year{ font-size:10px; color:var(--mid); opacity:.55; margin-top:1px; }
.cc-info{ display:flex; flex-direction:column; gap:3px; }
.cc-loc{ font-family:'DM Sans',sans-serif; font-weight:500; font-size:15px; color:var(--white); letter-spacing:.3px; }
.cc-country{ color:var(--mid); font-weight:400; }
.cc-venue{ font-size:13px; color:var(--mid); }
.cc-tickets{ display:inline-block; font-size:11px; letter-spacing:1.5px; text-transform:uppercase; color:var(--blue); border:1px solid var(--blue); border-radius:999px; padding:7px 16px; text-decoration:none; white-space:nowrap; transition:all .25s; }
.cc-tickets:hover{ background:var(--blue); color:var(--black); }
.cc-cal{ display:inline-block; margin-top:8px; font-size:10px; letter-spacing:1px; text-transform:uppercase; color:rgba(var(--w1),.45); text-decoration:none; white-space:nowrap; transition:color .25s; }
.cc-cal:hover{ color:var(--blue); }
.cc-row.is-past{ opacity:.6; }
.cc-row.is-past .cc-day{ color:var(--white); }
.cc-empty{ color:var(--mid); font-style:italic; padding:12px 4px; }
/* ── Concerts : carte en vedette (affiche de tournée) ── */
.cc-featured{ display:flex; gap:32px; align-items:center; background:rgba(var(--w1),0.04); border:1px solid rgba(var(--w1),0.09); border-radius:18px; padding:28px; margin-bottom:46px; }
.cc-featured-poster{ flex:0 0 auto; display:block; line-height:0; }
.cc-featured-poster img{ width:240px; height:auto; border-radius:10px; display:block; }
.cc-featured-info{ flex:1; min-width:0; }
.cc-featured-title{ font-family:'Bebas Neue',sans-serif; font-size:48px; line-height:0.95; letter-spacing:1px; color:var(--white); margin:0 0 10px; }
.cc-featured-sub{ font-size:13px; letter-spacing:2px; text-transform:uppercase; color:var(--mid); margin:0 0 24px; }
.cc-featured-cta{ display:inline-block; font-size:12px; letter-spacing:2px; text-transform:uppercase; background:var(--blue); color:var(--black); border-radius:999px; padding:13px 34px; text-decoration:none; font-weight:500; transition:transform .2s; }
.cc-featured-cta:hover{ transform:translateY(-2px); }
@media (max-width:600px){
  .cc-featured{ flex-direction:column; text-align:center; gap:18px; padding:20px; }
  .cc-featured-poster img{ width:210px; }
  .cc-featured-title{ font-size:36px; }
}
@media (max-width:600px){
  .cc-row{ grid-template-columns:50px 1fr; }
  .cc-cta{ grid-column:2; padding-top:4px; }
  .cc-h{ font-size:26px; }
  .cc-head{ gap:10px; }
}

/* ════════════════════════════════════════════════════════════
   Patch contraste WCAG AA (accessibilite) — ajoute le 11/06.
   Remonte juste assez les textes secondaires pour passer 4.5:1
   sur les fonds #0a0a0a / #141414, en gardant l'ambiance sombre.
   ════════════════════════════════════════════════════════════ */
:root{ --mid:rgba(var(--w2),.68); --subtle:rgba(var(--w2),.64); }
.interlude-text{ color:rgba(var(--w2),.68); }
.interlude-attr{ color:rgba(var(--w2),.64); }
.section-continue{ color:rgba(var(--w2),.68); }
.cc-cal{ color:rgba(var(--w1),.64); }
.cc-year{ opacity:.85; }
.tour-bit-note{ color:rgba(var(--w2),.64); }
.aw-footer-heading{ color:rgba(var(--w1),.64); }
.footer-manifesto{ color:rgba(var(--w2),.48); }
.aw-footer-col a{ color:rgba(var(--w1),.64); }
.sp-disclaimer{ opacity:1; }
.sp-disclaimer-title,.sp-disclaimer-text{ color:rgba(var(--w2),.66); }

  /* ── Newsletter ─────────────────────────── */
  .nl-band { background: var(--black); padding: 80px 40px; border-top: 1px solid var(--border); }
  .nl-inner { max-width: 560px; margin: 0 auto; text-align: center; }
  .nl-title { font-family: 'Bebas Neue', sans-serif; font-size: clamp(40px,7vw,64px); letter-spacing: 2px; color: var(--white); line-height: 1; margin: 14px 0 16px; }
  .nl-text { font-size: 15px; line-height: 1.6; color: rgba(var(--w2),.66); margin: 0 auto 28px; max-width: 460px; }
  .nl-form { display: flex; gap: 12px; max-width: 440px; margin: 0 auto; }
  .nl-input { flex: 1; }
  .nl-submit { margin-top: 0; white-space: nowrap; }
  .nl-consent { font-size: 11px; line-height: 1.5; color: rgba(var(--w2),.5); margin-top: 18px; }
  .nl-msg { font-size: 13px; letter-spacing: 1px; margin-top: 14px; min-height: 18px; }
  .nl-msg.ok { color: var(--blue); }
  .nl-msg.err { color: var(--pink-light); }
  @media (max-width: 560px) { .nl-band { padding: 60px 20px; } .nl-form { flex-direction: column; } }
  

  /* ══ QA MOBILE — fixes débordement (414px) + photo About corps entiers ══ */
  @media (max-width: 768px) {
    /* Photo À propos : portrait comme desktop -> corps entiers (au lieu de 4/3 qui recadre le haut) */
    .about-visual { aspect-ratio: 3/4 !important; }
    /* Cartes membres empilées (member-name est en nowrap -> sinon la rangée force ~485px) */
    .members { flex-direction: column !important; }
    /* Discographie : une seule colonne sur mobile (sinon ~509px) */
    .disc-featured, .disc-albums-row, .disc-eps-row { grid-template-columns: 1fr !important; }
    /* Option (b) : on garde FR/EN/ES sur mobile, on masque les 3 icônes (recherche/ambiance/calme)
       -> le hamburger redevient accessible. La réduction d'animations reste assurée par prefers-reduced-motion (OS). */
    nav #search-btn, nav #theme-toggle, nav #calm-toggle { display: none !important; }
  }


/* Lyrics : état "bientôt" (en attente de l'accord du groupe) */
.lyrics-notice { max-width: 720px; margin: 0 auto 40px; padding: 18px 26px; text-align: center; font-size: 14px; line-height: 1.6; color: rgba(var(--w1),0.6); border: 1px solid rgba(var(--w1),0.12); border-radius: 12px; background: rgba(var(--w1),0.03); }

/* Newsletter : masquée sur EN/ES tant que les listes Brevo EN/ES n'existent pas (FR seul actif) */
/* Newsletter : désormais active en EN/ES (listes Brevo dédiées créées 03/07). Ancienne règle de masquage retirée. */

/* ========================================================================
   PAGES INTÉRIEURES — en-têtes légers + finitions (bascule multi-pages)
   Ajouté le 02/07/2026. Provient de l'ancien bloc <style> du shell.
   ======================================================================== */

.page-header { padding: 114px 40px 8px; }
.page-header .ph-label { font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--pink); margin: 0 0 14px; }
.page-header .ph-title { font-family: 'Bebas Neue', sans-serif; font-weight: 400; font-size: clamp(54px, 8.5vw, 104px); line-height: 0.96; letter-spacing: 1px; color: var(--white); margin: 0 0 18px; }
.page-header .ph-tagline { color: var(--mid); font-size: 15px; line-height: 1.6; max-width: 560px; margin: 0; font-weight: 300; }
.page-header + section { padding-top: 36px !important; }
.page-header + #about { padding-top: 56px !important; }
.page-header + #music { padding-top: 56px !important; }
.page-header + #tour { padding-top: 40px !important; }
.page-header + #pacifists { padding-top: 44px !important; }
.page-header + #merch { padding-top: 48px !important; }

/* Sous-titre du hero : contraste renforcé */
.hero-content .hero-sub { color: rgba(var(--w1),0.86); }

/* Barre de nav : alignement vertical (pour le bouton Soutenir en pilule) */
.nav-links { align-items: center; }

/* Bouton "Soutenir" (CTA pilule contour rose) */
.nav-links a[data-cta="shop"] { color: var(--pink) !important; border: 1px solid var(--pink); border-radius: 999px; padding: 5px 14px; line-height: 1; display: inline-flex; align-items: center; transition: background .2s, color .2s, border-color .2s; }
.nav-links a[data-cta="shop"]::after { display: none !important; }
.nav-links a[data-cta="shop"]:hover { background: var(--pink); color: var(--white) !important; }

/* Newsletter : bande fine horizontale (pré-footer global) */
.nl-band { padding: 44px 40px 50px !important; }
.nl-inner { max-width: 1080px !important; display: flex; align-items: center; justify-content: space-between; gap: 44px; text-align: left !important; flex-wrap: wrap; }
.nl-copy { flex: 1 1 300px; }
.nl-copy .section-label { margin-bottom: 8px; }
.nl-title { font-size: clamp(24px, 3vw, 34px) !important; margin: 0 0 6px !important; }
.nl-text { font-size: 13px !important; line-height: 1.5 !important; margin: 0 !important; max-width: 480px !important; }
.nl-action { flex: 0 0 auto; }
.nl-form { margin: 0 !important; align-items: stretch; }
.nl-input, .nl-submit { box-sizing: border-box !important; height: 48px !important; }
.nl-submit { background: var(--blue) !important; color: #0a0a0a !important; padding: 0 30px !important; margin: 0 !important; display: inline-flex; align-items: center; justify-content: center; }
.nl-submit:hover { background: var(--blue-dark) !important; }
.nl-consent { font-size: 11px !important; line-height: 1.5 !important; margin: 12px 0 0 !important; max-width: 340px; }

/* Responsive */
@media (max-width: 760px) {
  .nl-band { padding: 34px 20px 40px !important; }
  .nl-inner { flex-direction: column; align-items: stretch; text-align: center !important; gap: 20px; }
  .nl-text { margin: 0 auto !important; }
  .nl-consent { margin: 12px auto 0 !important; }
}
@media (max-width: 768px) {
  .page-header { padding: 100px 20px 4px; }
  .page-header + section { padding-top: 24px !important; }
}

/* Hero mobile : rééquilibrage symétrique (annule le left:40px hérité du desktop) */
@media (max-width: 768px) {
  .hero-content { left: 20px !important; right: 20px !important; max-width: none !important; padding: 0 0 60px !important; }
}

/* Transmission : réafficher la date en mobile (sous le contenu, colonne 2) */
@media (max-width: 1024px) {
  .tx-signal .tx-time { display: block !important; grid-column: 2 !important; text-align: left; margin-top: 6px; font-size: 10px; color: var(--subtle); white-space: nowrap; padding-top: 0; }
}
