/* FEBUS photographic lifecycle artwork: four distinct stages */
.lifecycle .stage-detail{grid-template-columns:minmax(280px,1fr) minmax(0,1.5fr);gap:clamp(30px,4.5vw,90px);align-items:center;min-height:360px}
.stage-visual{min-width:0;position:relative}
.stage-visual #stage-number{display:block;color:#526e63;font-size:13px;letter-spacing:2px;position:relative;z-index:2}
.stage-art{position:relative;width:100%;max-width:640px;aspect-ratio:1.7;margin-top:0;overflow:hidden;isolation:isolate}
.stage-art-scene{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateY(12px) scale(1.025);transition:opacity .65s ease,transform 1.2s cubic-bezier(.2,.8,.2,1)}
.stage-art-scene.is-active{opacity:1;transform:translateY(0) scale(1);z-index:1}
.stage-art-scene img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;mask-image:radial-gradient(ellipse 88% 82% at 50% 49%,black 66%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 88% 82% at 50% 49%,black 66%,transparent 100%)}
@media(max-width:750px){.lifecycle .stage-detail{grid-template-columns:1fr;gap:18px}.stage-art{max-width:520px;aspect-ratio:1.7;margin-inline:auto}.stage-detail h3{margin-top:0}}
@media(prefers-reduced-motion:reduce){.stage-art-scene{transition:none;transform:none}}

/* FEBUS Lifecycle: photo + independent animated SVG orbit accents */
.stage-art{overflow:visible!important;isolation:isolate}
.stage-art-scene{overflow:visible}
.stage-art-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;mask-image:radial-gradient(ellipse 70% 67% at 50% 53%,#000 55%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 70% 67% at 50% 53%,#000 55%,transparent 100%)}
.febus-orbit{position:absolute;inset:0;z-index:2;pointer-events:none}
.febus-orbit-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#398f7b;stroke-width:1.4;stroke-dasharray:3 7;opacity:.6}
.febus-orbit-lines path{stroke-dasharray:650;stroke-dashoffset:650}
.stage-art-scene.is-active .febus-orbit-lines path{animation:febus-trace 1.65s cubic-bezier(.3,.7,.2,1) .18s forwards}
.febus-orbit-icon{position:absolute;left:var(--ix);top:var(--iy);width:clamp(52px,5vw,78px);aspect-ratio:1;transform:translate(-50%,-50%) scale(.78);opacity:0;display:grid;place-items:center;border-radius:50%;background:rgba(248,252,250,.94);border:1px solid rgba(33,113,92,.23);box-shadow:0 9px 30px rgba(5,55,42,.10),inset 0 0 0 5px rgba(232,246,239,.9);color:#0b493a;backdrop-filter:blur(5px)}
.febus-orbit-icon svg{width:54%;height:54%;display:block}
.stage-art-scene.is-active .febus-orbit-icon{animation:febus-icon-enter .72s cubic-bezier(.17,.8,.22,1.2) calc(.25s + var(--order)*.22s) both}
@keyframes febus-trace{to{stroke-dashoffset:0}}
@keyframes febus-icon-enter{from{opacity:0;transform:translate(-50%,-40%) scale(.7)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:750px){.febus-orbit-icon{width:clamp(42px,12vw,62px)}.stage-art{margin-block:15px}}
@media(prefers-reduced-motion:reduce){.stage-art-scene.is-active .febus-orbit-icon{animation:none;opacity:1;transform:translate(-50%,-50%)}.stage-art-scene.is-active .febus-orbit-lines path{animation:none;stroke-dashoffset:0}}

/* Soft, seamless photographic edge treatment. Images remain unchanged. */
.stage-art-scene img {
  -webkit-mask-image: radial-gradient(ellipse closest-side at 50% 50%, #000 24%, rgba(0,0,0,.98) 39%, rgba(0,0,0,.84) 55%, rgba(0,0,0,.48) 73%, rgba(0,0,0,.12) 91%, transparent 100%);
  mask-image: radial-gradient(ellipse closest-side at 50% 50%, #000 24%, rgba(0,0,0,.98) 39%, rgba(0,0,0,.84) 55%, rgba(0,0,0,.48) 73%, rgba(0,0,0,.12) 91%, transparent 100%);
  -webkit-mask-repeat: no-repeat;mask-repeat:no-repeat;
}
