/* The original photograph and animated crop are the permanent fallback. */
.wellbeing-hero .life-window .hero-data-canvas {
  position:absolute;inset:0;z-index:1;width:100%;height:100%;
  pointer-events:none;opacity:0;transition:opacity 1.2s ease;
}
.wellbeing-hero .life-window.is-data-ready .hero-data-canvas {opacity:1}
@media(prefers-reduced-motion:reduce) {
  .wellbeing-hero .life-window .hero-data-canvas {transition:none}
}

/* Register the photograph and shader to the same crop; the frame keeps its slow morph. */
.wellbeing-hero .life-window.is-data-ready img{animation:none;transform:none}

@media(hover:hover) and (pointer:fine){.wellbeing-hero .life-window.is-data-ready{cursor:crosshair}}

/* Two superposed labels keep the button's dimensions stable during scanning. */
.signal-stage .insight-pill{font-family:inherit;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .3s,box-shadow .3s}
.insight-copy{display:grid;min-width:0}
.insight-copy>span{grid-area:1/1;transition:opacity .24s,transform .35s}
.insight-copy>span>span{display:block;font-size:16px;white-space:nowrap}
.insight-copy-active{opacity:0;transform:translateY(4px)}
.insight-pill.is-scanning .insight-copy-default{opacity:0;transform:translateY(-4px)}
.insight-pill.is-scanning .insight-copy-active{opacity:1;transform:translateY(0)}
.insight-pill.is-scanning{border-color:#ee6c3670;box-shadow:0 8px 30px #ee6c3618}
.insight-pill .insight-mark{flex-shrink:0;transition:transform .7s ease,background .3s}
.insight-pill.is-scanning .insight-mark{transform:rotate(180deg);background:#ffe7da}
.insight-pill:focus-visible{outline:2px solid #1c355e;outline-offset:5px}
@media(max-width:1100px){.insight-copy>span>span{font-size:13px}}
@media(max-width:760px){.insight-copy>span>span{font-size:14px}}
@media(prefers-reduced-motion:reduce){.insight-copy>span,.insight-pill .insight-mark{transition:none;transform:none!important}}
