/* The same card, scale and composition are retained through the point reveal. */
.programme-card-v24 .programme-image{object-fit:cover;object-position:75% 65%;transition:opacity .7s ease;}
.programme-card-v24.molecular-detail-active .programme-image{opacity:0;}
.programme-card-v24 .programme-particles-v24{transition:opacity .7s ease;}
.programme-card-v24.molecular-detail-active .programme-particles-v24{opacity:1;}
.programme-card-v24 .programme-feature-copy{position:relative;z-index:3;pointer-events:none;}
.programme-card-v24 .programme-feature-copy a{pointer-events:auto;}
.programme-image-interaction{position:absolute;z-index:2;top:var(--image-top,0px);left:0;width:100%;height:var(--image-height,100%);padding:0;border:0;background:none;cursor:pointer;color:#e8f1df;touch-action:manipulation;}
.programme-image-interaction:disabled{visibility:hidden;}
.programme-image-interaction:focus-visible{outline:2px solid #c9dec6;outline-offset:-7px;border-radius:24px;}
.programme-point-cue{position:absolute;right:12%;top:58%;display:grid;place-items:center;width:48px;height:48px;border:1px solid #fff9;border-radius:50%;background:#123c3440;box-shadow:0 0 24px #d8e8b833;}
.programme-point-cue i{width:7px;height:7px;background:#f6f5dd;border-radius:50%;box-shadow:0 0 12px #fff3b9;}
.programme-point-cue:after{content:'';position:absolute;inset:0;border:1px solid #fff8;border-radius:50%;animation:programme-point-pulse 2.8s ease-out infinite;animation-play-state:paused;}
.programme-image-interaction[aria-pressed="true"] .programme-point-cue{opacity:.38;}
@keyframes programme-point-pulse{0%{transform:scale(.85);opacity:.7}80%,100%{transform:scale(1.75);opacity:0}}
@media(max-width:900px){
 .programme-card-v24 .programme-image{height:clamp(265px,78vw,450px);min-height:0;aspect-ratio:auto;object-fit:cover;object-position:82% 72%;}
 .programme-card-v24 .programme-feature-copy{pointer-events:auto;}
 .programme-card-v24 .programme-particles-v24{z-index:1;}
 .programme-card-v24 .programme-image-interaction{z-index:2;}
 .programme-point-cue{right:15%;top:52%;width:46px;height:46px;}
}
@media(prefers-reduced-motion:reduce){
 .programme-card-v24 .programme-image,.programme-card-v24 .programme-particles-v24{transition:none;}
 .programme-point-cue:after{animation:none;opacity:.5;transform:scale(1.3);}
}

.programme-image-visible .programme-point-cue:after{animation-play-state:running;}

/* Crop the existing card into a close analytical study without altering its proportions. */
.programme-card-macro-frame{position:absolute;inset:0;z-index:-3;overflow:hidden;pointer-events:none;}
.programme-card-v24 .programme-card-macro-frame .programme-image{position:absolute;inset:0;width:100%;height:100%;min-height:0;aspect-ratio:auto;margin:0;border-radius:0;object-fit:cover;object-position:75% 65%;transform:scale(2.8);transform-origin:90% 55%;}
@media(max-width:900px){
 .programme-card-macro-frame{position:relative;inset:auto;z-index:0;grid-row:2;width:100%;height:clamp(265px,78vw,450px);}
 .programme-card-v24 .programme-card-macro-frame .programme-image{height:100%;object-position:82% 72%;transform:scale(4.2);transform-origin:78% 55%;}
}

/* Desktop gives the membrane its own visual field beside the editorial copy. */
@media(min-width:901px){
 .programme-card-v24 .programme-card-macro-frame{inset:0 0 0 auto;width:58%;}
 .programme-card-v24 .programme-feature-copy{width:43%;padding-left:5%;padding-right:2%;}
 .programme-card-v24 .programme-image-shade{background:linear-gradient(90deg,#06100ff5 0%,#06100ff0 31%,#06100f8c 42%,#06100f00 50%);pointer-events:none;}
 .programme-card-v24 .programme-image-interaction{left:var(--image-left,42%);width:var(--image-width,58%);}
 .programme-card-v24 .programme-point-cue{right:30%;top:53%;}
}
@media(min-width:901px){
 .programme-card-v24 .programme-card-macro-frame{mask-image:linear-gradient(90deg,transparent,#000 12%)}
 .programme-card-v24 .programme-card-macro-frame .programme-image{transform:scale(4.2);transform-origin:78% 55%}
}
