/* One visible shelf layout. Jotform is a content source, never a second layout. */
.rotation-index-page{background:var(--paper)}
.rotation-index-page .site-header{background:rgba(30,39,49,.97)}
.rotation-index-hero{position:relative;padding:clamp(9rem,12vw,12rem) clamp(1.25rem,7vw,7rem) clamp(3rem,6vw,6rem);background:linear-gradient(135deg,#1d2936,#273a3a 58%,#382820);color:var(--paper-light)}
.rotation-index-hero:before{content:'';position:absolute;inset:1.5rem;border:1px solid #d3b06c47;pointer-events:none}
.rotation-index-card{position:relative;max-width:68rem;margin:auto;padding:clamp(1.5rem,4vw,4rem);border:1px solid #e7cfa17a;background:#1a2631c7;box-shadow:.75rem .75rem 0 #0f151b4d}
.rotation-back-link{display:inline-block;margin-bottom:2rem;color:#d9bd84;font:600 .7rem/1.5 var(--sans);letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.rotation-index-card .eyebrow{color:#d2ae6b}
.rotation-index-card h1{font:400 clamp(3.25rem,6vw,5.8rem)/1.1 var(--display);letter-spacing:-.035em;margin:.5rem 0 1.5rem}
.rotation-index-card h1 em{color:#d8bd84;font-family:var(--serif)}
.rotation-index-intro{max-width:45rem;font-size:clamp(1.05rem,1.45vw,1.22rem);line-height:1.6;color:#d7ccba}
.rotation-index-card .text-link{display:inline-block;margin-top:1rem;color:#ead8b5}
.rotation-shelves{width:min(100%,88rem);margin:auto;padding:clamp(2rem,5vw,5rem) clamp(.75rem,3vw,3rem)}
.rotation-shelf{position:relative;display:grid;grid-template-columns:minmax(12rem,.7fr) minmax(0,1.5fr);gap:clamp(1.5rem,3vw,3rem);align-items:start;padding:clamp(.75rem,2vw,2rem);border:1px solid #a57d3e6b;background:#fbf6ebe6;box-shadow:0 .7rem 2rem #2e261d12}
.rotation-shelf+.rotation-shelf{margin-top:2.5rem}
.rotation-shelf-heading{min-width:0}
.rotation-number{font:500 .7rem/1.5 var(--sans);letter-spacing:.13em;color:var(--brass);margin-bottom:1rem}
.rotation-shelf-heading .eyebrow{color:#765522}
.rotation-shelf-heading h2{font:400 clamp(2rem,3.4vw,3.35rem)/1.08 var(--display);letter-spacing:-.025em;margin:.5rem 0 1rem;max-width:14ch;color:var(--navy)}
.rotation-shelf-heading>p:last-child{font-size:1rem;line-height:1.55;color:var(--muted);max-width:28rem}
.rotation-widget{position:relative;min-width:0;width:100%;padding:.75rem;border:1px solid #a57d3e66;background:#263342;color:#f1e7d1}
/* Provider markup stays out of the visible layout and accessibility tree.
   Its real width is retained so its renderer can still create source cards. */
.rotation-widget>.jotform-mount{position:absolute;top:0;left:0;width:100%;height:1px;overflow:hidden;visibility:hidden;pointer-events:none;contain:layout paint}
.rotation-widget>.widget-fallback{display:block;margin:0;padding:0}
.widget-fallback-title{font:400 1.15rem/1.4 var(--display);color:#f1e7d1;margin:0 0 1rem}
/* This is the only rule that sets the card column count, at every width. */
.rotation-index-page .rotation-fallback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.35rem,1.2vw,1rem);align-items:stretch;margin:0;padding:0;list-style:none}
.rotation-fallback-grid>li{box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;min-width:0;padding:.6rem;border:1px solid #a57d3e66;background:#111a2494;overflow-wrap:anywhere}
.rotation-fallback-grid>li>a{display:flex;flex-direction:column;flex:1;gap:.5rem;min-width:0;color:inherit;text-decoration:none}
.rotation-fallback-grid .rotation-fallback-poster{position:static;display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:#1c2732;flex:none;border:0}
.rotation-fallback-grid strong{display:block;min-width:0;min-height:2.7em;margin:0;padding:0;color:#f1e7d1;font:500 clamp(.8rem,1.1vw,1rem)/1.35 var(--display);overflow-wrap:anywhere}
.rotation-fallback-grid>li>span{display:block;min-height:2.7em;color:#d3cbbb;font:400 .78rem/1.4 var(--sans)}
.rotation-fallback-grid a:hover strong{color:#e8c277}
.rotation-fallback-grid a:focus-visible{outline:2px solid #e8c277;outline-offset:3px}
.rotation-display-data{display:flex;flex-direction:column;gap:.5rem;min-width:0;margin-top:.2rem}
.rotation-media-meta{display:flex;flex-wrap:wrap;gap:.35rem .7rem;color:#d6bd88;font:500 .7rem/1.5 var(--sans)}
.rotation-media-genres{display:flex;flex-wrap:wrap;gap:.25rem;color:#e1d7c4;font:400 .64rem/1.4 var(--sans)}
.rotation-media-genres>span{border:1px solid #a57d3e55;padding:.13rem .3rem;border-radius:2px;overflow-wrap:anywhere}
.rotation-media-description{margin:0;font:400 .82rem/1.55 var(--sans);color:#d1c9b9;overflow-wrap:anywhere}
.playlist-panel{display:flex;flex-direction:column;gap:1rem;min-width:0;width:100%;padding:.75rem;border:1px solid #a57d3e66;background:#263342}
.playlist-player{min-width:0;width:100%;background:#111a24}
.rotation-shelf .playlist-player iframe{display:block;position:static;width:100%;height:auto;min-height:200px;aspect-ratio:16/9;border:0}
.playlist-fallback{display:none;padding:1rem;color:#d7ccba;font:400 .9rem/1.6 var(--sans)}
.playlist-fallback a,.playlist-external{color:#e8c277;text-decoration:none;font:600 .75rem/1.5 var(--sans);letter-spacing:.06em}
.playlist-player.is-failed .playlist-fallback{display:block}
.playlist-player.is-failed iframe{display:none}
.playlist-external{align-self:flex-start;padding:.4rem 0}
@media(max-width:1100px){.rotation-shelf{grid-template-columns:minmax(0,1fr);gap:1.5rem}.rotation-shelf-heading h2{max-width:none}.rotation-widget,.playlist-panel{max-width:52rem;justify-self:center}}
@media(max-width:700px){
 .rotation-index-hero{padding:8rem 1rem 3rem}
 .rotation-index-hero:before{display:none}
 .rotation-index-card{box-shadow:.4rem .4rem 0 #0f151b4d}
 .rotation-shelves{padding:2rem .6rem}
 .rotation-shelf{padding:.6rem;gap:1rem}
 .rotation-shelf+.rotation-shelf{margin-top:1.5rem}
 .rotation-widget{padding:.3rem}
 .rotation-fallback-grid>li{padding:.25rem;gap:.35rem}
 .rotation-fallback-grid>li>a{gap:.35rem}
 .rotation-fallback-grid strong{font-size:clamp(.73rem,2.5vw,.95rem);line-height:1.35;min-height:0}
 .rotation-fallback-grid>li>span{font-size:.68rem;line-height:1.4;min-height:0}
 .rotation-display-data{gap:.35rem}
 .rotation-media-meta{font-size:.64rem;gap:.2rem .35rem}
 .rotation-media-genres{font-size:.61rem;gap:.2rem}
 .rotation-media-genres>span{padding:.1rem .2rem}
 .rotation-media-description{font-size:.7rem;line-height:1.45}
 .playlist-panel{padding:.4rem}
}
@media(prefers-reduced-motion:reduce){.rotation-index-page{scroll-behavior:auto}}

.playlist-status{margin:0;color:#e8d6b0;font:400 .85rem/1.5 var(--sans)}