/* ZEISMAN / turntable — uses the site's ink, panel, accent and corner treatment. */
.hero-turntable .vinyl-spin{animation:none!important;transform-origin:360px 450px!important;transform-box:view-box!important}
.hero-turntable .tonearm{animation:none!important;transform-origin:700px 180px!important;transform-box:view-box!important;transform:rotate(-24deg)!important;transition:transform 1.25s cubic-bezier(.4,0,.2,1)!important}
.hero-turntable.record-on .tonearm{transform:rotate(var(--record-arm-angle,-12deg))!important}
.hero-turntable.record-lifted .tonearm{transition:none!important;filter:drop-shadow(6px 10px 5px #0009)}
.hero-turntable.record-dragging .tonearm{transition:none!important}
#hero-record-cover{pointer-events:none}
#hero-engine{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
#hero-engine iframe{width:300px;height:166px;border:0}
.hero .phase-scene{z-index:0;pointer-events:none}
.hero .phase-scene::after{pointer-events:none}
.hero .hero-content{position:relative;z-index:1;pointer-events:none}
.hero .hero-content a,.hero .hero-content button,.hero-open-listen{pointer-events:auto}
#record-arm-control,#record-disc-control{pointer-events:none;outline:none}
.record-interactive #record-arm-control,.record-interactive #record-disc-control{pointer-events:all;touch-action:none;cursor:grab}
.record-interactive #record-arm-control:active,.record-interactive #record-disc-control:active{cursor:grabbing}
.record-arm-hit{pointer-events:inherit}
#record-arm-control:focus-visible .tonearm-shaft{stroke:#eff5f4;stroke-width:12}
#record-disc-control:focus-visible{stroke:var(--accent,#65bec3);stroke-width:4}
.hero-open-listen{position:relative}
.hero-consent-slot{display:contents}
#hero-consent[hidden]{display:none!important}
#hero-consent{box-sizing:border-box;position:absolute;inset:auto 0 0;z-index:4;width:100%;padding:clamp(18px,2vw,26px);color:var(--ink,#eff5f4);background:linear-gradient(145deg,#173b43,#10282f 75%);border:1px solid #3f727b;border-radius:3px 26px 3px 26px;box-shadow:0 14px 44px #030c104d;text-align:left;overflow-wrap:anywhere}
.hero-open-listen:has(#hero-consent:not([hidden]))>p,
.hero-open-listen:has(#hero-consent:not([hidden]))>h2,
.hero-open-listen:has(#hero-consent:not([hidden]))>#hero-latest-play{visibility:hidden}
#hero-consent .record-consent-eyebrow{margin:0 0 12px;font:500 9px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.16em;color:var(--accent,#65bec3)}
#hero-consent h3{margin:0 0 14px;font-size:clamp(23px,2.1vw,31px);font-weight:500;line-height:1.12;letter-spacing:-.04em}
#hero-consent .record-consent-copy{margin:0;color:var(--muted,#a7bfc2);font-size:12px;line-height:1.65}
.hero-consent-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px;margin:20px 0 14px}
#hero-consent-accept{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:11px 15px;background:var(--accent,#65bec3);color:#0c1c1f;border:1px solid transparent;border-radius:3px 16px 3px 16px;font-size:12px;font-weight:600;line-height:1.5}
#hero-consent-accept:hover{background:#91d5d7}
#hero-consent-decline{min-height:44px;padding:8px 0;border:0;border-bottom:1px solid #a7bfc255;border-radius:0;background:transparent;color:var(--muted,#a7bfc2);font-size:12px;line-height:1.5}
#hero-consent-decline:hover{color:var(--ink,#eff5f4)}
#hero-consent .record-consent-note{margin:0;color:var(--muted,#a7bfc2);font-size:10px;line-height:1.6}
#hero-consent .record-consent-note a{color:var(--accent,#65bec3);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
#hero-play-status{position:absolute;top:100%;left:0;right:0;margin:10px 0 0;font-size:11px;line-height:1.5;color:var(--muted,#a7bfc2)}
/* Mobile record placement is inherited unchanged from the original phase.css. */
@media(prefers-reduced-motion:reduce){.hero-turntable .tonearm{transition:none!important}}

/* Inline consent: both states share one layout cell, no floating card. */
.hero-open-listen{display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
.hero-listen-default,.hero-consent-slot{grid-area:1/1;min-width:0;width:100%}
.hero-consent-slot{display:block;pointer-events:none}
#hero-consent{position:static;inset:auto;width:100%;padding:0;border:0;border-radius:0;box-shadow:none;background:none;pointer-events:auto}
.hero-open-listen:has(#hero-consent:not([hidden])) .hero-listen-default{visibility:hidden;pointer-events:none}
.hero-open-listen:has(#hero-consent:not([hidden])) .hero-listen-default button{visibility:hidden;pointer-events:none}
#hero-consent .record-consent-eyebrow{margin-bottom:10px}
#hero-consent h3{font-size:25px;margin-bottom:12px}
#hero-consent .record-consent-copy{font-size:12px;line-height:1.6}
.hero-consent-actions{margin:15px 0 11px;gap:10px 18px}
.hero-play-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:clamp(8px,1.5vw,20px);width:100%;min-width:0}
.hero-play-actions .hero-open-play{margin:0}
.hero-player-link{padding:8px 0;min-height:44px;border:0;border-radius:0;background:none;color:var(--muted,#a7bfc2);font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#a7bfc260;cursor:pointer}
.hero-player-link:hover{color:var(--accent,#65bec3)}
.hero-turntable.record-idle .tonearm{transform:rotate(var(--record-idle-angle,-12deg))!important;transition:none!important}
.record-disc-enabled #record-disc-control{pointer-events:all;touch-action:none;cursor:grab}
.record-disc-enabled #record-disc-control:active{cursor:grabbing}

/* One compact row: Play/Pause, next random mix, full player. */
.hero-play-actions .hero-open-play{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;width:auto;min-height:44px;padding:0;white-space:nowrap;font-size:12px}
.hero-next-mix{display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:44px;padding:0;border:0;background:transparent;color:var(--accent,#65bec3);cursor:pointer}
.hero-next-mix:hover{color:var(--ink,#eff5f4)}
.hero-play-actions .hero-player-link{flex:0 1 auto;min-width:0;white-space:nowrap;font-size:clamp(10px,2.7vw,11px)}
@media(max-width:380px){.hero-play-actions{gap:8px}.hero-play-actions .hero-open-play{gap:5px}.hero-play-actions .hero-open-play svg{width:32px;height:32px}.hero-next-mix{flex-basis:32px;width:32px}}

/* Match label height and baseline to the circular Play/Pause icon. */
.hero-play-actions #hero-latest-play{align-items:center;font-size:15px;line-height:1;min-height:44px;gap:9px}
.hero-play-actions #hero-latest-play>svg{display:block;flex-shrink:0;align-self:center;vertical-align:middle}
.hero-play-actions #hero-latest-play>span{display:flex;align-items:center;align-self:center;height:38px;margin:0;padding:0;line-height:1;font-size:15px;transform:none}
@media(max-width:380px){.hero-play-actions #hero-latest-play{gap:6px}.hero-play-actions #hero-latest-play>span{height:32px}}

/* One RAF controller for idle, cueing, return and seeking: no competing transitions. */
.hero-turntable .tonearm,
.hero-turntable.record-idle .tonearm,
.hero-turntable.record-on .tonearm{transform:rotate(var(--record-visual-arm-angle,-12deg))!important;transition:none!important}

/* SVG touch gestures must reach the controls through the decorative/text layers. */
.hero .hero-open-listen,.hero .hero-listen-default{pointer-events:none}
.hero .hero-open-listen button,.hero .hero-open-listen a,.hero #hero-consent,.hero .player-volume{pointer-events:auto}
.hero-turntable{touch-action:none}
#record-arm-control,#record-disc-control{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
@media(any-pointer:coarse){
 .record-interactive .record-arm-hit{stroke-width:64px;vector-effect:non-scaling-stroke;pointer-events:stroke}
}

/* Foreground panels own touch input; only exposed vinyl can be dragged. */
.hero .hero-open-listen,.hero .hero-listen-default{pointer-events:auto;touch-action:pan-y pinch-zoom}
.hero .hero-meta,.hero .hero-heading,.hero .hero-bottom-grid>div:first-child,.hero .hero-foot{pointer-events:auto;touch-action:pan-y pinch-zoom}
