:root{--bg:#ecece8;--ink:#101010;--muted:#696963;--line:#c7c7c0;--paper:#f6f6f2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,4vw,64px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(236,236,232,.92);backdrop-filter:blur(12px)}.topbar a{text-decoration:none}.back{font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}nav{display:flex;gap:clamp(16px,3vw,42px)}nav a{font-size:.78rem;text-transform:uppercase;letter-spacing:.11em}.hero{max-width:1380px;margin:auto;min-height:calc(100svh - 68px);padding:clamp(55px,8vw,120px) clamp(22px,6vw,90px);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(45px,8vw,130px);align-items:center}.eyebrow{margin:0 0 20px;text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;font-weight:700;color:var(--muted)}h1{font-size:clamp(4.3rem,11vw,10rem);line-height:.78;letter-spacing:-.075em;margin:0 0 42px;max-width:800px}.lead{font-size:clamp(1.3rem,2.2vw,2rem);line-height:1.28;max-width:720px;margin:0 0 24px}.intro{font-size:1rem;line-height:1.75;color:var(--muted);max-width:590px}.hero-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:38px}.button{display:inline-flex;text-decoration:none;border:1px solid var(--ink);padding:13px 17px;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;transition:.2s}.button:hover,.button.primary{background:var(--ink);color:var(--bg)}.button.primary:hover{background:transparent;color:var(--ink)}.hero-art{margin:0}.frame{background:var(--paper);padding:clamp(14px,2vw,26px);box-shadow:0 28px 70px rgba(0,0,0,.12);transform:rotate(1.2deg);transition:transform .35s}.frame:hover{transform:rotate(0)}.frame img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.hero-art figcaption{text-align:right;margin-top:14px;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted)}.manifesto{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:55px clamp(22px,6vw,90px);display:flex;justify-content:space-between;gap:30px;font-size:clamp(1.4rem,3vw,3rem);letter-spacing:-.035em}.manifesto p{margin:0;max-width:600px}.manifesto p:last-child{text-align:right}.section{max-width:1380px;margin:auto;padding:clamp(75px,10vw,145px) clamp(22px,6vw,90px)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:50px}h2{font-size:clamp(3rem,7vw,7rem);line-height:.9;letter-spacing:-.06em;margin:0}.section-note{margin:0 0 7px;color:var(--muted);line-height:1.65;max-width:520px}.album-list{border-top:1px solid var(--ink)}.album{display:grid;grid-template-columns:55px 112px 1fr 50px;gap:24px;align-items:center;padding:18px 10px;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}.album:hover{background:var(--paper);padding-left:18px;padding-right:18px}.album-number{font-size:.7rem;letter-spacing:.14em;color:var(--muted)}.album-cover{background:var(--paper);padding:7px}.album-cover img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.album-meta{font-size:.67rem;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);margin:0 0 7px}.album h3{font-size:clamp(1.35rem,2.5vw,2.4rem);letter-spacing:-.035em;margin:0 0 6px}.album-copy>p:last-child{margin:0;color:var(--muted);line-height:1.45}.album-arrow{font-size:1.7rem;text-align:right}.construction{font-size:.82rem;color:var(--muted);margin:22px 0 0;max-width:620px}.listening{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr .8fr;gap:clamp(50px,10vw,150px);align-items:end}.listen-copy h2{max-width:800px}.listen-copy>p:last-child{line-height:1.7;color:var(--muted);max-width:620px}.bandcamp{display:flex;justify-content:space-between;align-items:center;text-decoration:none;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:24px 4px;font-size:clamp(1rem,1.7vw,1.35rem);transition:padding .2s}.bandcamp:hover{padding-left:14px;padding-right:14px}.bandcamp strong{font-size:1.6rem}footer{border-top:1px solid var(--line);padding:28px clamp(22px,4vw,64px);display:flex;gap:28px;justify-content:space-between;font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}footer a{text-decoration:none;color:var(--ink)}@media(max-width:800px){nav{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:15px}.hero-art{max-width:520px}.manifesto{flex-direction:column}.manifesto p:last-child{text-align:left}.section-head,.listening{grid-template-columns:1fr}.album{grid-template-columns:35px 82px 1fr}.album-arrow{display:none}.album-copy>p:last-child{display:none}footer{flex-direction:column;gap:10px}}@media(max-width:520px){h1{font-size:clamp(3.6rem,20vw,6rem)}.hero-links{flex-direction:column}.button{justify-content:center}.album{grid-template-columns:65px 1fr;gap:15px}.album-number{display:none}.album-cover{grid-row:1}.album-copy{grid-column:2}.manifesto{font-size:1.55rem}}

/* --- Illustration musicale : albums et pistes --- */

.release-list {
  border-top: 1px solid var(--ink);
}

.release-row {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 22px 8px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  transition: .2s;
}

.release-row:hover {
  background: var(--paper);
  padding-left: 16px;
  padding-right: 16px;
}

.release-number {
  font-size: .68rem;
  letter-spacing: .13em;
  color: var(--muted);
}

.release-name {
  display: block;
  font-size: clamp(1.4rem, 2.5vw, 2.4rem);
  font-weight: 800;
  letter-spacing: -.035em;
}

.release-meta {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .11em;
}

.release-arrow {
  font-size: 1.6rem;
}

.album-page,
.track-page {
  max-width: var(--max);
  margin: auto;
  padding: clamp(55px, 8vw, 110px) clamp(22px, 6vw, 90px);
}

.album-header,
.track-header {
  margin-bottom: 48px;
  max-width: 900px;
}

.album-title,
.track-title {
  font-size: clamp(3.2rem, 7vw, 7rem);
  line-height: .88;
  letter-spacing: -.06em;
  margin: 0 0 20px;
}

.album-date,
.track-meta {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .76rem;
}

.track-list {
  counter-reset: tracks;
  border-top: 1px solid var(--ink);
}

.track-row {
  counter-increment: tracks;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
  gap: 16px;
  align-items: center;
  padding: 14px 4px;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
}

.track-row::before {
  content: counter(tracks, decimal-leading-zero);
  color: var(--muted);
  font-size: .68rem;
  letter-spacing: .12em;
}

.track-row:hover {
  background: var(--paper);
  padding-left: 12px;
  padding-right: 12px;
}

.track-duration {
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.track-arrow {
  font-size: 1.25rem;
}

.page-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 34px;
}

.track-context {
  max-width: 760px;
  padding: 28px 0;
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--line);
  line-height: 1.75;
  color: var(--muted);
}

@media (max-width: 640px) {
  .release-row {
    grid-template-columns: 1fr auto;
  }

  .release-number {
    display: none;
  }

  .track-row {
    grid-template-columns: 30px minmax(0, 1fr) auto;
  }

  .track-arrow {
    display: none;
  }
}
