/* Détail ressource / programme — Épaule Perf */
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{background:var(--cream);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}

.wrap{max-width:1100px;margin:0 auto;padding:7.5rem 2.5rem 5rem}
.back{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);text-decoration:none;margin-bottom:2.6rem;transition:color .2s,gap .2s}
.back:hover{color:var(--terra);gap:.75rem}

/* HERO */
.r-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:3.5rem;align-items:start}
.r-eye{font-family:var(--font-mono);font-weight:500;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:1.3rem;display:flex;align-items:center;gap:.7rem}
.r-eye::before{content:'';width:28px;height:1px;background:currentColor}
.r-h1{font-family:var(--font-sans);font-weight:500;font-size:clamp(2.4rem,5vw,4rem);line-height:1;letter-spacing:-.03em;margin:0 0 1.4rem;max-width:15ch}
.r-h1 .it{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--night)}
.r-lede{font-size:1.15rem;line-height:1.55;color:#2c2e34;max-width:46ch}

/* COVER + META */
.r-side{position:sticky;top:6.5rem}
.r-cover{aspect-ratio:4/5;border-radius:14px;position:relative;overflow:hidden;background:var(--night);color:var(--cream);box-shadow:0 30px 60px -30px rgba(14,26,58,.4)}
.r-cover{position:relative;background:#000;}
.r-cover.info{background:var(--accent-info)}
.r-cover.soon{background:linear-gradient(180deg,#1a2240 0%,var(--night) 100%)}
.r-cover-glyph{position:absolute;bottom:-46px;right:-32px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:340px;line-height:.7;color:rgba(242,239,230,.08);user-select:none}
.r-cover-anatomy{position:absolute;bottom:22px;left:22px;width:64px;height:64px;opacity:.85;color:rgba(242,239,230,.85)}
.r-cover-tag{position:absolute;top:18px;left:20px;font-family:var(--font-mono);font-weight:500;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,239,230,.75);background:rgba(242,239,230,.14);padding:5px 11px;border-radius:99px;backdrop-filter:blur(6px)}
.r-cover.terra .r-cover-tag{background:rgba(255,255,255,.18)}
.r-cover-title{position:absolute;left:24px;right:24px;bottom:26px;font-family:var(--font-sans);font-weight:500;font-size:1.5rem;line-height:1.1;letter-spacing:-.02em;z-index:2}
.r-cover-title b{display:block;font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(242,239,230,.6);margin-top:10px}

.r-meta{margin-top:1.8rem;font-family:var(--font-mono);font-size:.8rem}
.r-meta div{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line);color:var(--mid)}
.r-meta b{color:var(--ink);font-weight:500;text-align:right}
.r-cta{margin-top:1.6rem;display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1rem 1.4rem;background:var(--night);color:var(--cream);border-radius:99px;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s}
.r-cta .arr{width:26px;height:26px;border-radius:50%;background:rgba(242,239,230,.18);display:grid;place-items:center;font-size:13px;transition:transform .25s,background .2s}
.r-cta:hover{background:var(--terra);transform:translateY(-1px)}
.r-cta:hover .arr{transform:translateX(3px);background:rgba(15,17,21,.2)}
.r-cta.ghost{background:transparent;color:var(--mid);border:1px solid var(--line-2);justify-content:center;cursor:default}
.r-cta.ghost:hover{background:transparent;color:var(--mid);transform:none}

/* SOMMAIRE */
.r-section{margin-top:5.5rem}
.r-section-eye{font-family:var(--font-mono);font-weight:500;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);margin-bottom:1.4rem}
.r-section h2{font-family:var(--font-sans);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.05;letter-spacing:-.025em;margin:0 0 2.4rem;max-width:20ch}
.r-section h2 .it{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--night)}
.toc{border-top:1px solid var(--line-2)}
.toc-item{display:grid;grid-template-columns:64px 1fr;gap:1.4rem;padding:1.6rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.toc-n{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;color:var(--terra);font-weight:500;white-space:nowrap}
.toc-t{font-family:var(--font-sans);font-weight:500;font-size:1.22rem;letter-spacing:-.01em;color:var(--ink)}
.toc-t span{display:block;font-weight:400;font-size:.96rem;color:#3a3c43;margin-top:.4rem;line-height:1.55}

/* BAND */
.r-band{margin-top:5.5rem;background:var(--ink);color:var(--cream);border-radius:14px;padding:3rem 2.6rem;display:grid;grid-template-columns:1.5fr auto;gap:2.5rem;align-items:center}
.r-band h3{font-family:var(--font-sans);font-weight:500;font-size:2rem;line-height:1.05;letter-spacing:-.02em;margin:0;max-width:20ch}
.r-band h3 .it{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--terra)}
.r-band .btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.6rem;background:var(--terra);color:var(--cream);border-radius:99px;font-weight:500;font-size:.95rem;text-decoration:none;white-space:nowrap;transition:background .2s,transform .2s}
.r-band .btn:hover{background:var(--cream);color:var(--ink);transform:translateY(-2px)}

/* COVER HERO IMAGE */
.r-hero-cover{margin-bottom:2.4rem;border-radius:14px;overflow:hidden;position:relative;aspect-ratio:21/9;background:linear-gradient(135deg,var(--terra) 0%,#3a0080 60%,var(--night) 100%);display:flex;align-items:flex-end;padding:2.8rem 3rem}
.r-hero-cover::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgMjAwIDIwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMS40JyBudW1PY3RhdmVzPScyJyBzdGl0Y2hUaWxlcz0nc3RpdGNoJy8+PGZlQ29sb3JNYXRyaXggdmFsdWVzPScwIDAgMCAwIDAuOTUgMCAwIDAgMCAwLjkzIDAgMCAwIDAgMC44NyAwIDAgMCAwLjYgMCcvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIGZpbHRlcj0ndXJsKCNuKScvPjwvc3ZnPg==");opacity:.25;mix-blend-mode:overlay;pointer-events:none}
.r-hero-cover-glyph{position:absolute;top:-60px;right:-40px;font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:480px;line-height:.7;color:rgba(242,239,230,.06);pointer-events:none;user-select:none}
.r-hero-cover-inner{position:relative;z-index:1;display:flex;flex-direction:column;gap:.7rem}
.r-hero-cover-tag{font-family:var(--font-mono);font-weight:500;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,239,230,.65);display:flex;align-items:center;gap:.6rem}
.r-hero-cover-tag::before{content:'';width:22px;height:1px;background:currentColor}
.r-hero-cover-title{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.01em;color:var(--cream)}
.r-hero-cover-meta{font-family:var(--font-mono);font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,239,230,.5)}

@media(max-width:900px){
  .r-hero-cover{aspect-ratio:16/9;padding:1.8rem 1.8rem}
  .r-hero-cover-title{font-size:1.7rem}
  .r-hero-cover-glyph{font-size:300px;top:-30px;right:-20px}
}

@media(max-width:900px){
  .wrap{padding:6rem 1.5rem 3rem}
  .r-hero{grid-template-columns:1fr;gap:2.2rem}
  .r-side{position:static;order:-1}
  .r-cover{max-width:100%;aspect-ratio:3/2}
  .toc-item{grid-template-columns:48px 1fr;gap:1rem}
  .r-band{grid-template-columns:1fr;padding:2rem 1.6rem;gap:1.4rem}
  .r-band h3{font-size:1.55rem}
}
