/* V30: cinematic gallery visuals. Approved player geometry untouched. */
:root { --v30-accent:#ff9619; }
#gallery .card { position:relative; isolation:isolate; overflow:hidden; border:1px solid rgba(255,255,255,.11); transition:border-color .28s ease, box-shadow .28s ease; }
#gallery .card::before {content:"";position:absolute;top:0;left:0;bottom:0;width:2px; background:linear-gradient(180deg, transparent 8%,var(--v30-accent) 50%, transparent 92%);opacity:0;transform:scaleY(.52);transition:opacity .3s ease,transform .45s cubic-bezier(.2,.8,.2,1);z-index:9;pointer-events:none;}
@media (hover:hover) and (pointer:fine) {
 #gallery .card:hover{border-color:rgba(255,150,25,.4);box-shadow:0 20px 52px rgba(0,0,0,.26);}
 #gallery .card:hover::before{opacity:1;transform:scaleY(1);}
}
#gallery .card .video-stage{isolation:isolate;}
/* Shading and directional spotlight stay inside the holder and never capture clicks. */
#gallery .card .thumb-shell::after {content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(500px circle at var(--v30-x,50%) var(--v30-y,50%),rgba(255,150,25,.16),transparent 65%),linear-gradient(180deg,transparent 62%,rgba(0,0,0,.22));opacity:0;transition:opacity .34s ease;}
@media (hover:hover) and (pointer:fine) {#gallery .card:hover .thumb-shell::after{opacity:1;}}
#gallery .card .thumb-shell .thumb-image {transition:transform .7s cubic-bezier(.22,1,.36,1) !important;}
#gallery .card .thumb-shell .thumb-backdrop {transition:transform .7s cubic-bezier(.22,1,.36,1) !important;}
@media (hover:hover) and (pointer:fine) {
 #gallery .card:hover .thumb-shell .thumb-image {transform:translate(-50%,-46%) scale(1.255) !important;}
 #gallery .card:hover .thumb-shell .thumb-backdrop {transform:scale(1.09) !important;}
}
/* Our indicators sit above thumbnails, but below the original play button (z-index 4). */
#gallery .jr-v30-indicator{position:absolute;left:0;top:0;z-index:3;pointer-events:none;width:86px;height:86px;border-radius:50%;background:rgba(15,15,15,.82);border:1px solid rgba(255,150,25,.65);box-shadow:0 6px 25px #0008,0 0 22px rgba(255,150,25,.12);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font:700 10px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.9px;text-transform:uppercase;opacity:0;transform:translate3d(calc(var(--v30-pointer-x, -200px) - 50%),calc(var(--v30-pointer-y, -200px) - 50%),0) scale(.86);transition:opacity .18s ease,scale .18s ease;}
#gallery .jr-v30-indicator span{max-width:68px;}
#gallery .card.v30-hovering .jr-v30-indicator{opacity:1;scale:1;}
#gallery .card .meta{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;row-gap:5px;align-items:center;padding:21px 24px !important;}
#gallery .card .meta h3{grid-column:1;grid-row:1;margin:0 !important;font-size:clamp(15px,1.8vw,20px);line-height:1.3;letter-spacing:-.025em;}
#gallery .card .meta p{grid-column:1;grid-row:2;margin:0 !important;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#aaa;}
#gallery .card .meta .jr-v25-project-number{grid-column:2;grid-row:1 / span 2;position:static !important;align-self:center;font-size:12px;letter-spacing:.13em;color:#ff9619;white-space:nowrap;}
@media (max-width:650px){#gallery .card .meta{padding:15px !important;column-gap:8px;}#gallery .card .meta .jr-v25-project-number{font-size:10px;}#gallery .jr-v30-indicator{display:none;}}
@media (hover:none),(pointer:coarse){#gallery .jr-v30-indicator{display:none;}}
@media (prefers-reduced-motion:reduce){#gallery .card .thumb-shell .thumb-image,#gallery .card .thumb-shell .thumb-backdrop{transition:none !important;}#gallery .card:hover .thumb-shell .thumb-image{transform:translate(-50%,-46%) scale(1.22) !important;}#gallery .card:hover .thumb-shell .thumb-backdrop{transform:scale(1.05) !important;}}
