/* Alta rotazione: the user's own sleeves, in the original quiet INPEACE shell. */
.rotation-page .page-heading{padding-bottom:38px}
.rotation-heading,.rotation-grid,.rotation-colophon{width:min(1200px,84%);margin-left:auto;margin-right:auto}
.rotation-heading{display:flex;justify-content:space-between;padding:0 0 24px;font-size:9px;letter-spacing:.045em;color:#777}
.rotation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:38px;row-gap:54px;padding-bottom:65px}
.record-card{min-width:0}
.record-art{display:block;position:relative;width:100%;aspect-ratio:1.12;isolation:isolate;text-align:left}
.record-jacket{display:block;position:absolute;left:0;top:7%;width:75%;aspect-ratio:1;z-index:2;transform:rotate(-3deg);box-shadow:0 7px 13px #0002;background:#f6f6f4;transition:transform .55s var(--ease)}
.record-jacket img{width:100%;height:100%;object-fit:contain}
.record-vinyl{display:block;position:absolute;left:23%;top:7%;width:75%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle at center,#151515 0 1px,#292929 1.2px 1.6px,#121212 2px 3px);box-shadow:0 4px 9px #0002;transition:transform .55s var(--ease)}
.record-vinyl:before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 15deg,transparent 0deg,#fff2 35deg,transparent 65deg,transparent 180deg,#fff2 215deg,transparent 245deg)}
.record-label{position:absolute;left:34%;top:34%;width:32%;aspect-ratio:1;border-radius:50%;background:#edece6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#171717}
.record-label .wordmark{font-size:23px;line-height:1;margin-top:-10px}
.record-label small{font-size:4px;letter-spacing:.04em}
.record-label:after{content:"";position:absolute;top:calc(50% - 2px);left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:#111}
.record-art:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.record-art:focus-visible .record-vinyl{transform:translateX(5%) rotate(10deg)}
.record-art:focus-visible .record-jacket{transform:rotate(-5deg) translateX(-1%)}
.record-caption{padding-top:13px;border-bottom:1px solid var(--line);padding-bottom:10px}
.record-mood{font-size:9px;line-height:1.5;letter-spacing:.025em;color:#777;display:flex;gap:12px;align-items:baseline}
.record-mood>span{color:#222}
.record-caption h2{font-size:17px;line-height:1.35;font-weight:400;letter-spacing:-.025em;margin:10px 0 8px}
.record-caption h2 button{padding:0;text-align:left;line-height:inherit;letter-spacing:inherit}
.record-caption h2 button:hover{text-decoration:underline;text-underline-offset:4px}
.record-description{font-size:11px;color:#777;line-height:1.7;min-height:38px}
.record-spotify{display:inline-flex;align-items:center;font-size:10px;min-height:44px;margin-top:5px}
.rotation-colophon{display:flex;justify-content:space-between;gap:18px;font-size:9px;color:#777;letter-spacing:.04em;padding:24px 0 60px;border-top:1px solid var(--line)}
.playlist-dialog{width:min(860px,calc(100% - 48px));max-width:860px;max-height:calc(100svh - 48px);padding:12px 28px 20px;overflow:auto}
.playlist-dialog .dialog-heading{margin-bottom:20px}
.playlist-dialog .dialog-heading .eyebrow{font-size:10px;letter-spacing:.04em}
.playlist-detail{display:grid;grid-template-columns:180px 1fr;gap:30px;align-items:center;margin-bottom:26px}
.playlist-detail>img{width:180px;height:180px;object-fit:contain;background:#f6f6f4}
.playlist-mood{font-size:9px;letter-spacing:.03em;line-height:1.6;color:#777}
.playlist-copy h2{font-size:25px;font-weight:400;letter-spacing:-.03em;line-height:1.2;margin:12px 0 14px}
.playlist-copy #playlistDescription{font-size:12px;line-height:1.8;color:#666;max-width:470px}
.playlist-copy>a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;margin-top:6px}
.playlist-player{min-height:352px;background:#f4f4f4;border-radius:12px;overflow:hidden}
.playlist-player iframe{display:block;width:100%;height:352px;border:0}
.playlist-player-note{font-size:10px;line-height:1.7;color:#777;margin-top:12px}
@media(hover:hover) and (pointer:fine){.record-art:hover .record-vinyl{transform:translateX(5%) rotate(10deg)}.record-art:hover .record-jacket{transform:rotate(-5deg) translateX(-1%)}}
@media(max-width:1050px){.rotation-heading,.rotation-grid,.rotation-colophon{width:88%}.rotation-grid{gap:45px 30px}}
@media(max-width:800px){.rotation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){
  .rotation-page .page-heading{padding-bottom:30px}
  .rotation-heading,.rotation-grid,.rotation-colophon{width:calc(100% - 40px)}
  .rotation-heading{font-size:9px;padding-bottom:14px}
  .rotation-grid{grid-template-columns:1fr;max-width:390px;row-gap:38px;padding-bottom:45px}
  .record-art{width:94%;margin:0 auto}
  .record-caption{padding-top:8px}
  .record-mood{font-size:9px}
  .record-caption h2{font-size:18px}
  .record-description{font-size:12px;min-height:0}
  .record-spotify{font-size:11px}
  .record-label .wordmark{font-size:28px}
  .record-label small{font-size:5px}
  .rotation-colophon{font-size:8px;line-height:1.6;padding-bottom:45px}
  .playlist-dialog{width:calc(100% - 20px);max-height:calc(100svh - 20px);padding:8px 18px 18px}
  .playlist-dialog .dialog-heading{margin-bottom:16px}
  .playlist-detail{grid-template-columns:76px 1fr;gap:16px;align-items:start;margin-bottom:20px}
  .playlist-detail>img{width:76px;height:76px}
  .playlist-copy h2{font-size:22px;margin:8px 0 12px}
  .playlist-copy #playlistDescription{font-size:11px;line-height:1.7}
  .playlist-mood{font-size:8px}
  .playlist-player-note{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.record-vinyl,.record-jacket{transition:none!important;transform:none!important}}
