/* Subtle motion only: no changes to sizing, spacing or typography. */
.dw-scroll-progress{position:fixed;inset:0 auto auto 0;width:100%;height:2px;transform-origin:left center;transform:scaleX(0);background:#c8c8c8;z-index:100;pointer-events:none}
.header nav a{position:relative}
.header nav a::after{content:'';position:absolute;left:10%;right:10%;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.dw-motion-poster{position:relative;overflow:hidden}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .dw-motion-poster{transform:perspective(1000px) rotateX(var(--dw-rx,0deg)) rotateY(var(--dw-ry,0deg));transition:transform .32s ease-out,border-color .35s,box-shadow .35s;transform-origin:center}
 .dw-motion-poster::before{content:'';position:absolute;inset:-10%;z-index:1;pointer-events:none;background:linear-gradient(110deg,transparent 35%,#ffffff12 50%,transparent 65%);transform:translateX(-125%);transition:transform .85s ease}
 .dw-motion-poster:hover::before{transform:translateX(125%)}
 .dw-motion-poster:hover{border-color:#777;box-shadow:0 14px 35px #0005}
 .button,.profile-button,.carousel-control,.artist-network-link{transition:transform .25s ease,background .25s,color .25s,border-color .25s,box-shadow .25s}
 .button:hover,.profile-button:hover,.carousel-control:hover,.artist-network-link:hover{transform:translateY(-2px)}
 .artist-gallery img{transition:filter .45s ease,border-color .45s ease}.artist-gallery figure:hover img{filter:grayscale(1) contrast(1.08);border-color:#666}
 .person,.music-item{transition:background .35s,border-color .35s}.person:hover,.music-item:hover{background:#ffffff03;border-bottom-color:#777}
}
@media(prefers-reduced-motion:no-preference){
 .hero::before{content:'';position:absolute;inset:0 -15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 22%,#ffffff09,transparent 52%);animation:dw-atmosphere 18s ease-in-out infinite alternate}
 @keyframes dw-atmosphere{from{opacity:.35;transform:translateX(-4%)}to{opacity:.8;transform:translateX(4%)}}
}
@media(prefers-reduced-motion:reduce){.dw-scroll-progress{display:none}.dw-motion-poster{transform:none!important}.header nav a::after{transition:none}}
/* Interactive emblem and premiere timer from the supplied preview. */
.hero-content{position:relative;z-index:2}
.dw-hero-logo{position:absolute;left:50%;top:6px;width:340px;aspect-ratio:640/850;transform:translateX(-50%);perspective:1000px;z-index:0;pointer-events:none}
.dw-logo-rig{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(var(--logo-rx,2deg)) rotateY(var(--logo-ry,-8deg));transition:transform .18s ease-out}
.dw-logo-front,.dw-logo-depth{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;backface-visibility:visible}
.dw-logo-depth{background:url('assets/dw-logo-3d.webp') center/contain no-repeat;filter:brightness(.3);transform:translateZ(var(--depth))}
.dw-logo-front{transform:translateZ(1px);filter:drop-shadow(0 0 9px #ffffff1c)}
.dw-motion-enable{position:absolute;top:340px;left:50%;transform:translateX(-50%);display:none;align-items:center;justify-content:center;gap:8px;background:#111c;color:#ddd;border:1px solid #555;padding:8px 12px;min-height:36px;font:10px/1.4 var(--sans);z-index:3}
.dw-motion-enable svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4}
.dw-motion-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.premiere-countdown{display:grid;gap:7px;border-top:1px solid #333;padding-top:17px;margin-top:18px;max-width:680px}
.premiere-countdown>[data-release-countdown]{font:400 24px/1.5 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.04em;color:#eee}
.premiere-countdown time{font:11px/1.7 var(--sans)!important;letter-spacing:.03em!important;color:#aaa}
@media(prefers-reduced-motion:no-preference){.dw-motion-poster[data-dw-pointer-active]{transform:perspective(900px) rotateX(var(--dw-rx,0deg)) rotateY(var(--dw-ry,0deg));transition:transform .16s ease-out,border-color .35s,box-shadow .35s}}
@media(max-width:900px){.dw-hero-logo{width:260px;top:15px}}
@media(max-width:600px){
 .dw-hero-logo{width:235px;top:20px}
 .premiere-countdown{gap:5px;margin-top:12px;padding-top:12px}.premiere-countdown>[data-release-countdown]{font-size:15px;letter-spacing:0;white-space:nowrap}.premiere-countdown time{font-size:9px!important}
}
@media(any-pointer:coarse){.dw-motion-enable{display:inline-flex}}
@media(prefers-reduced-motion:reduce){.dw-logo-rig{transform:none;transition:none}.dw-motion-enable{display:none}.dw-motion-poster[data-dw-pointer-active]{transform:none!important}}

.hero-art{-webkit-mask-image:linear-gradient(90deg,#000 24%,transparent 40%,transparent 60%,#000 76%);mask-image:linear-gradient(90deg,#000 24%,transparent 40%,transparent 60%,#000 76%)}

.reminder-button{gap:10px;align-items:center;justify-content:center}.reminder-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}.reminder-dialog{background:#111;color:#eee;border:1px solid #555;padding:40px;width:min(520px,calc(100% - 32px));max-height:85dvh;overflow:auto;box-sizing:border-box}.reminder-dialog::backdrop{background:rgb(0 0 0 / .8)}.reminder-dialog h2{font-size:32px;margin:16px 0}.reminder-dialog p{line-height:1.7}.reminder-options{display:grid;gap:12px;margin:24px 0}.reminder-options .button{font-size:13px;text-align:center}.reminder-help{font-size:13px;color:#aaa}.reminder-close{position:absolute;right:12px;top:8px;background:none;border:0;color:#ddd;font-size:30px;cursor:pointer;width:44px;height:44px}.reminder-button:focus-visible,.reminder-close:focus-visible{outline:2px solid white;outline-offset:4px}@media(max-width:600px){.reminder-button{width:44px;min-width:44px;height:44px;padding:10px}.reminder-button span{display:none}.reminder-dialog{padding:28px 22px}}

.hero-art[src$="industrial-cathedral.png"]{-webkit-mask-image:none;mask-image:none}
/* Session actions follow their content rather than filling the text column. */
.session-actions,.archive-actions{align-items:center;flex-wrap:wrap;gap:12px}
.featured-session .session-actions .button,.artist-profile-details .session-actions .button,.archive-actions .button{width:auto;max-width:100%;min-width:0;min-height:44px;padding:11px 16px;flex:0 0 auto;font-size:10px;line-height:1.5;gap:9px}
.session-actions .release-note,.archive-actions .release-note{flex-basis:100%}
@media(max-width:600px){
 .featured-session .session-actions .button,.artist-profile-details .session-actions .button,.archive-actions .button{padding:10px 12px;font-size:9px;letter-spacing:.04em}
 .featured-session .session-actions .reminder-button,.artist-profile-details .session-actions .reminder-button,.archive-actions .reminder-button,.session-page-lock .reminder-button{width:44px;min-width:44px;height:44px;padding:10px;border:0;background:transparent;box-shadow:none;color:#ddd}
 .reminder-button:hover{border:0;background:transparent;box-shadow:none;color:#fff}
}
.featured-visual{width:100%;max-width:450px;min-width:0;align-self:start}.featured-details-link{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:15px;padding:13px 0;color:#ddd;border-bottom:1px solid #555;gap:8px}.session-actions,.archive-actions{display:flex;flex-direction:row;align-items:center}.session-actions .reminder-button,.archive-actions .reminder-button{order:2}.session-actions [data-teaser],.session-actions [data-youtube],.archive-actions [data-teaser],.archive-actions [data-youtube]{order:1}.session-actions .release-note,.archive-actions .release-note{order:3}
@media(max-width:600px){.featured-visual{max-width:100%}.featured-visual>.scheduled-art{max-width:100%}.featured-session .featured-details-link{font-size:8px;letter-spacing:.04em;line-height:1.6;margin-top:8px;padding:10px 0}.session-actions,.archive-actions{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;max-width:100%;width:100%}.session-actions .release-note,.archive-actions .release-note{grid-column:1/-1}.featured-session .session-actions .button:not(.reminder-button),.artist-profile-details .session-actions .button:not(.reminder-button),.archive-actions .button:not(.reminder-button){width:100%;padding:10px 8px;gap:6px;letter-spacing:.02em}.session-actions .reminder-button,.archive-actions .reminder-button{grid-column:2;grid-row:1}.session-actions [data-teaser],.session-actions [data-youtube],.archive-actions [data-teaser],.archive-actions [data-youtube]{grid-column:1;grid-row:1}}
/* Shared artwork navigation and action styling across home, archive and detail pages. */
.archive-visual{min-width:0;width:100%;align-self:start}.artwork-details-link{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:15px;padding:13px 0;color:#ddd;border-bottom:1px solid #555;gap:8px}.artist-profile-art .artist-profile-socials{margin-top:14px;justify-content:flex-start}.artist-profile-art .artist-network-link{background:transparent;border:0;box-shadow:none}.artist-profile-end .button,.session-page-lock>.button{width:auto;min-width:0;min-height:44px;padding:11px 16px;font-size:10px;line-height:1.5;gap:9px}.session-page-lock>.reminder-button{margin:0 10px 0 0}
@media(max-width:600px){.artwork-details-link{font-size:8px;letter-spacing:.04em;line-height:1.6;margin-top:8px;padding:10px 0}.artist-profile-art .artist-profile-socials{gap:4px;flex-wrap:wrap;margin-top:8px}.artist-profile-art .artist-network-link{width:40px;height:44px;padding:10px}.artist-profile-art .artist-network-link .network-icon{width:20px;height:20px}.session-page-lock>.reminder-button{width:44px;min-width:44px;padding:10px;border:0;background:transparent;box-shadow:none}.archive-actions:not(:has([data-teaser]:not([hidden]),[data-youtube]:not([hidden]))){grid-template-columns:44px minmax(0,1fr)}.archive-actions:not(:has([data-teaser]:not([hidden]),[data-youtube]:not([hidden]))) .reminder-button{grid-column:1}.artist-profile-end .button,.session-page-lock>.button:not(.reminder-button){padding:10px 12px;font-size:9px}}
.archive-release-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:8px 0}.archive-release-line time{margin:0}.archive-release-line .reminder-button{width:44px;min-width:44px;height:44px;min-height:44px;padding:10px;background:transparent;border:0;box-shadow:none;color:#ddd}.archive-release-line .reminder-button span{display:none}.archive-release-line .reminder-button:hover{background:transparent;border:0;box-shadow:none;color:#fff}.archive-release-line .reminder-button svg{width:20px;height:20px}.archive-actions{grid-template-columns:minmax(0,1fr)}
.archive-copy .archive-actions .button{width:fit-content;max-width:100%}
