/* ===== Music: vinyl ===== */
.deck{display:flex;align-items:center;justify-content:center;gap:56px;flex-wrap:wrap;max-width:900px;margin:0 auto 44px}
.turn{position:relative;width:min(340px,78vw);aspect-ratio:1}
.turn::before{content:"";position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(circle,rgba(240,215,140,.28),transparent 65%);animation:pulse 6s ease-in-out infinite}
.vinyl{position:relative;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#1a1a1f 0 30%,#0b0b0e 31%,#16161b 45%,#0a0a0d 60%,#18181d 75%,#08080a 100%);box-shadow:0 0 0 2px rgba(240,215,140,.45),0 30px 60px -20px rgba(0,0,0,.8);animation:spin 3.2s linear infinite;animation-play-state:paused}
.vinyl.isplay{animation-play-state:running}
.grooves{position:absolute;inset:4%;border-radius:50%;background:repeating-radial-gradient(circle,rgba(255,255,255,.035) 0 1px,transparent 1px 4px),conic-gradient(from 30deg,transparent,rgba(240,215,140,.14) 8%,transparent 16%,transparent 50%,rgba(240,215,140,.1) 58%,transparent 66%)}
.lbl{position:absolute;inset:32%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 3px #C79A3E}
.lbl img{width:100%;height:100%;object-fit:cover;display:block}
.spindle{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--g2);box-shadow:0 0 10px var(--g2)}
.arm{position:absolute;right:-6%;top:-4%;width:16%;height:58%;border-radius:999px;transform-origin:50% 8%;transform:rotate(-18deg);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.arm::before{content:"";position:absolute;left:50%;top:0;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:radial-gradient(circle,var(--g2),#9c7a32)}
.arm::after{content:"";position:absolute;left:50%;top:14px;bottom:0;width:4px;margin-left:-2px;border-radius:999px;background:linear-gradient(var(--g2),#9c7a32)}
.turn.isplay .arm{transform:rotate(8deg)}
.np{flex:1 1 300px;max-width:380px;text-align:center}
.np h3{font-size:2rem;color:var(--iv);margin:8px 0 18px}
.eq{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:54px;margin-bottom:20px}
.eq i{width:5px;height:14%;border-radius:999px;background:linear-gradient(var(--g2),var(--g));box-shadow:0 0 10px rgba(240,215,140,.55);transition:height .25s}
.eq.isplay i{animation:eqb 1s ease-in-out infinite alternate}
.eq i:nth-child(3n){animation-delay:-.3s}.eq i:nth-child(3n+1){animation-delay:-.6s}.eq i:nth-child(4n){animation-duration:.7s}.eq i:nth-child(5n){animation-duration:1.3s}
@keyframes eqb{0%{height:12%}100%{height:100%}}
.ctl{display:flex;align-items:center;gap:16px;justify-content:center}
.pbtn{flex:none;width:72px;height:72px;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 35% 30%,#fff1c4,var(--g2) 35%,#B58A35);box-shadow:0 0 0 6px rgba(240,215,140,.15),0 12px 30px -8px rgba(240,215,140,.7);display:grid;place-items:center;transition:transform .3s}
.pbtn:hover{transform:scale(1.07)}.pbtn:focus-visible{outline:2px solid var(--iv);outline-offset:4px}
.pbtn span{width:0;height:0;border-left:20px solid #0A1730;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:6px}
.pbtn.on span{width:20px;height:22px;border:0;margin:0;background:linear-gradient(90deg,#0A1730 0 7px,transparent 7px 13px,#0A1730 13px)}
.prog{flex:1;height:6px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;cursor:pointer}
.prog div{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--g),var(--g2))}
.tm{font-size:.8rem;color:#aab5c9;min-width:36px}
.tracks{list-style:none;display:flex;flex-direction:column;gap:12px;max-width:620px;margin:0 auto}
.trk{all:unset;box-sizing:border-box;cursor:pointer;width:100%;display:flex;align-items:center;gap:16px;padding:14px 24px 14px 14px;border-radius:999px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(240,215,140,.18);transition:transform .35s,border-color .35s,box-shadow .35s}
.trk:hover,.trk:focus-visible{transform:translateY(-3px);border-color:rgba(240,215,140,.55);box-shadow:0 0 30px -10px rgba(240,215,140,.45)}
.trk .tn{flex:none;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(240,215,140,.5);color:var(--g2);font-family:"Playfair Display";font-size:.95rem}
.trk b{flex:1;color:var(--iv);font-weight:600}.trk .ti{font-size:.78rem;color:#8e9ab0}
.trk.on{border-color:var(--g);background:linear-gradient(120deg,rgba(240,215,140,.16),rgba(255,255,255,.03))}.trk.on .tn{background:var(--g2);color:#0A1730}
#listen .soon-l,#book-club .soon-l{color:var(--iv)}
.cover{border-radius:50%;aspect-ratio:1;object-fit:cover;width:180px;margin:0 auto 18px;box-shadow:0 0 0 2px rgba(240,215,140,.5),0 0 40px -8px rgba(240,215,140,.4)}
/* ===== Books: fanned shelf ===== */
.shelf{position:relative;max-width:760px;margin:0 auto;padding:30px 0 70px;perspective:1100px}
.fan{display:flex;justify-content:center;align-items:flex-end;gap:0}
.bk{position:relative;width:200px;aspect-ratio:2/3;margin:0 -18px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1);animation:float 6s ease-in-out infinite;outline:none;cursor:pointer;z-index:1}
.b1{transform:rotateY(24deg) rotateZ(-7deg) translateY(10px)}.b2{transform:translateZ(40px);z-index:2;animation-delay:-2s}.b3{transform:rotateY(-24deg) rotateZ(7deg) translateY(10px);animation-delay:-4s}
.bk:hover,.bk:focus-visible,.bk.up{transform:translateY(-26px) rotateY(0) rotateZ(0) translateZ(80px) scale(1.04);z-index:5}
@keyframes float{50%{margin-top:-12px}}
.bkf{position:absolute;inset:0;border-radius:10px 22px 22px 10px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:radial-gradient(120% 80% at 50% 0%,#20407a,#0C1C3D 70%);box-shadow:inset 6px 0 10px -4px rgba(0,0,0,.6),0 0 0 1px rgba(240,215,140,.5),0 30px 50px -20px rgba(0,0,0,.85);transition:box-shadow .5s}
.b2 .bkf{background:radial-gradient(120% 80% at 50% 0%,#F6F0E3,#E2D4B2 80%)}
.bk:hover .bkf,.bk:focus-visible .bkf,.bk.up .bkf{box-shadow:inset 6px 0 10px -4px rgba(0,0,0,.6),0 0 0 1.5px var(--g2),0 0 50px -6px rgba(240,215,140,.6),0 40px 60px -20px rgba(0,0,0,.9)}
.bkr{position:absolute;inset:14px;border-radius:50% 50% 14px 14px/36% 36% 14px 14px;border:1px solid rgba(240,215,140,.5)}
.bkm{width:50px;height:50px;border-radius:50%;border:1px solid var(--g);display:grid;place-items:center;font-family:"Playfair Display";color:var(--g2);margin-bottom:16px}
.bkt{font-family:"Playfair Display";font-style:italic;font-size:1.25rem;color:var(--iv);line-height:1.2}
.bka{margin-top:14px;font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--g2)}
.b2 .bkm{color:#8a6a2a}.b2 .bkt{color:#0A1730}.b2 .bka{color:#8a6a2a}
.arc{position:absolute;left:6%;right:6%;bottom:30px;height:56px;border-radius:50%;background:radial-gradient(ellipse,rgba(240,215,140,.35),transparent 70%);border-bottom:2px solid rgba(240,215,140,.55);filter:blur(.3px)}
.seat{position:relative;max-width:720px;margin:0 auto;text-align:center;padding:70px 44px 60px;border-radius:50%/42%;background:radial-gradient(70% 70% at 50% 40%,rgba(240,215,140,.12),rgba(255,255,255,.02));border:1px solid rgba(240,215,140,.4);box-shadow:0 0 80px -20px rgba(240,215,140,.45),inset 0 0 60px -20px rgba(240,215,140,.3)}
.seatg{position:absolute;inset:-8%;border-radius:50%;background:radial-gradient(circle,rgba(240,215,140,.2),transparent 65%);z-index:-1;animation:pulse 7s ease-in-out infinite}
.seat h2{font-size:clamp(2rem,6vw,3rem);color:var(--iv);margin:10px 0 8px}.seat p{color:#c3cbd9;max-width:480px;margin:0 auto 22px}.seat .note{font-size:.82rem;color:#8e9ab0;margin-top:20px}
.chairs{display:flex;justify-content:center;gap:12px;margin:0 auto 24px}.chairs i{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--g2);box-shadow:0 0 12px rgba(240,215,140,.5)}.chairs i:nth-child(3){background:var(--g2)}
/* ===== Gallery: organic mosaic ===== */
.orgo{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:28px 40px;max-width:980px;margin:0 auto;padding:20px 0}
.orgo .gi{margin:0;text-align:center;will-change:transform}
.orgo .gbtn{position:relative;overflow:visible;box-shadow:none;background:none;border-radius:0}
.orgo .gbtn picture{display:block;overflow:hidden;box-shadow:0 0 0 2px rgba(240,215,140,.5),0 30px 60px -24px rgba(0,0,0,.8);transition:box-shadow .5s,transform .5s cubic-bezier(.2,.8,.2,1)}
.orgo .gbtn img{width:100%;height:100%;object-fit:cover}
.orgo .gbtn::before{content:"";position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(circle,rgba(240,215,140,.4),transparent 65%);opacity:0;transition:opacity .5s;z-index:-1}
.orgo .gbtn:hover::before,.orgo .gbtn:focus-visible::before{opacity:1}
.orgo .gbtn:hover picture,.orgo .gbtn:focus-visible picture{transform:translateY(-6px);box-shadow:0 0 0 2px var(--g2),0 0 50px -4px rgba(240,215,140,.6)}
.f-oval{width:260px;margin-top:0}.f-oval picture{aspect-ratio:3/4;border-radius:50%}
.f-arch{width:240px;margin-top:80px!important}.f-arch picture{aspect-ratio:3/4.2;border-radius:999px 999px 30px 30px}
.f-circle{width:230px;margin-top:20px!important}.f-circle picture{aspect-ratio:1;border-radius:50%}
.orgo .gi figcaption{margin-top:14px;font-family:"Playfair Display";font-style:italic;font-size:1rem;color:#c3cbd9}
.orgo .gi{animation:float2 8s ease-in-out infinite}.orgo .f-arch{animation-delay:-3s}.orgo .f-circle{animation-delay:-5s}
@keyframes float2{50%{translate:0 -10px}}
.soon{border-radius:50%/40%;padding:44px 30px}
@media(max-width:640px){
 .deck{gap:30px}.np h3{font-size:1.6rem}.trk{padding:10px 18px 10px 10px;gap:12px}.trk .ti{display:none}.pbtn{width:64px;height:64px}
 .bk{width:min(128px,33vw);margin:0 -14px}.bkt{font-size:.9rem}.bkm{width:34px;height:34px;font-size:.8rem;margin-bottom:10px}.bkf{padding:12px}.bkr{inset:8px}.bka{font-size:.5rem;letter-spacing:.16em}
 .seat{padding:56px 22px 46px;border-radius:44% / 22%}.seat .ctas{flex-direction:column;align-items:center}
 .orgo{gap:22px 16px}.f-oval{width:min(240px,64vw)}.f-arch{width:min(150px,40vw);margin-top:0!important}.f-circle{width:min(150px,40vw);margin-top:40px!important}
}
@media(max-width:340px){.bk{width:110px}.np{flex-basis:260px}}
@media (prefers-reduced-motion:reduce){.vinyl,.orgo .gi,.bk,.eq i{animation:none!important}.arm,.bk{transition:none}}
.turn{flex:none;height:min(340px,78vw)}@media(max-width:640px){.turn{width:min(280px,74vw);height:min(280px,74vw)}}
.csf .cs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1.5px dashed rgba(240,215,140,.55);background:radial-gradient(circle at 50% 35%,rgba(240,215,140,.16),rgba(255,255,255,.02) 70%);box-shadow:0 0 50px -16px rgba(240,215,140,.45);text-align:center;padding:16px}
.f-oval .cs{aspect-ratio:3/4;border-radius:50%}.f-arch .cs{aspect-ratio:3/4.2;border-radius:999px 999px 30px 30px}.f-circle .cs{aspect-ratio:1;border-radius:50%}
.csm{width:52px;height:52px;border-radius:50%;border:1px solid var(--g);display:grid;place-items:center;font-family:"Playfair Display";color:var(--g2)}
.cst{font-family:"Playfair Display";font-style:italic;color:var(--iv);font-size:1.05rem}
.mlbl{display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 35%,#F0D78C,#B58A35)}
.mlbl span{font-family:"Playfair Display";font-weight:700;color:#0A1730;font-size:clamp(1rem,5vw,1.6rem);line-height:1}.mlbl small{font-size:.5rem;letter-spacing:.2em;text-transform:uppercase;color:#0A1730;margin-top:4px}
