/* Music theme (preview only). Animates transform/opacity only. */
:root{--mred:#C8102E;--mink:#111}
/* 1) floating notes in the home hero */
.hero.photo .notes{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.hero.photo .hero-inner{z-index:2}
.notes svg{position:absolute;bottom:-50px;width:40px;height:40px;fill:#fff;stroke:#00000080;stroke-width:1.2;paint-order:stroke;filter:drop-shadow(0 1px 2px #00000080);opacity:0;animation:noteUp 9s linear infinite}
.notes svg:nth-child(1){left:8%;animation-delay:0s}
.notes svg:nth-child(2){left:22%;width:30px;animation-delay:2.2s;fill:#ff6b6b}
.notes svg:nth-child(3){left:40%;animation-delay:4.5s;width:34px}
.notes svg:nth-child(4){left:62%;animation-delay:1.2s;fill:#ff6b6b}
.notes svg:nth-child(5){left:78%;width:36px;animation-delay:3.4s}
.notes svg:nth-child(6){left:91%;width:28px;animation-delay:6s}
@keyframes noteUp{0%{transform:translate3d(0,0,0) rotate(-8deg);opacity:0}15%{opacity:.9}50%{transform:translate3d(14px,-260px,0) rotate(8deg)}85%{opacity:.7}100%{transform:translate3d(-10px,-560px,0) rotate(-6deg);opacity:0}}
/* 2) vinyl spin on Beer Playlist song cards */
.playlist li{position:relative;overflow:hidden;padding-right:4.2rem}
.playlist li::after{content:"";z-index:0;position:absolute;right:-22px;top:50%;width:76px;height:76px;margin-top:-38px;border-radius:50%;
background:conic-gradient(from 20deg,#fff0 0 6%,#ffffff80 9%,#fff0 13% 50%,#ffffff60 54%,#fff0 58%),radial-gradient(circle,var(--mred) 0 9px,#fff 9px 11px,var(--mred) 11px 16px,#111 16px 17px,#222 17px 22px,#111 22px 23px,#222 23px 28px,#111 28px 29px,#1a1a1a 29px);
transform:rotate(0deg);transition:transform .9s cubic-bezier(.2,.7,.3,1);opacity:.92}
.playlist li:hover::after,.playlist li:focus-within::after,.playlist li.spin::after{transform:rotate(540deg)}
/* 3) line-art dividers */
.mdiv{height:56px;margin:2.2rem auto 1rem;max-width:100%;background:no-repeat center/auto 100%}
.mdiv svg{display:block;margin:0 auto;height:56px;width:auto;max-width:100%}
@media (prefers-reduced-motion:reduce){
.notes{display:none}
.playlist li::after{transition:none}.playlist li:hover::after,.playlist li.spin::after{transform:none}}

/* v2 home layout bits */
.pl-story{margin:.3rem 0 0;font-size:.95rem}
.pl-play{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;padding:.3rem .75rem;border-radius:999px;background:#111;color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;position:relative;z-index:1}
.pl-play:hover{background:#C8102E;color:#fff}.pl-play svg{width:14px;height:14px;fill:currentColor}
.tags{display:flex;gap:.4rem;flex-wrap:wrap;margin:.3rem 0}
.tag{font-size:.78rem;font-weight:700;padding:.15rem .55rem;border-radius:999px;border:1.5px solid #111;color:#111}
.tag-music{background:#111;color:#fff}.tag-truck{border-color:#C8102E;color:#A50E25}
.book{display:grid;gap:1rem;grid-template-columns:1fr;align-items:center}
.book img{width:100%;height:100%;max-height:320px;object-fit:cover;border-radius:12px}
.trail{display:grid;gap:1rem;grid-template-columns:1fr}
.trail .map{width:100%;min-height:280px;border:0;border-radius:12px}
@media(min-width:760px){.book{grid-template-columns:1.2fr 1fr}.trail{grid-template-columns:1fr 1.2fr}}
.sticky-book{display:none}
@media(max-width:700px){.sticky-book{display:flex;justify-content:center;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:#ffffffee;border-top:1px solid #e5e5e5}
.sticky-book .btn{width:100%;max-width:420px;text-align:center;margin:0}
body.has-sticky{padding-bottom:calc(4.2rem + env(safe-area-inset-bottom))}}
