.sec_philosophy .philosophy-stage { position:relative; width:100%; aspect-ratio:1.3158; margin-bottom:40px; isolation:isolate; background:radial-gradient(ellipse at 50% 65%,rgba(20,63,90,.22),transparent 68%); }
.philosophy-stage canvas, .philosophy-stage .philosophy-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.philosophy-stage canvas { opacity:0; transition:opacity .5s; }
.philosophy-stage.is-ready canvas { opacity:1; }
.philosophy-stage.is-ready .philosophy-poster { opacity:0; }
.philosophy-label { position:absolute; z-index:1; transform:translate(-50%,-50%); color:#eef8ff; white-space:nowrap; font-size:clamp(16px,1.45vw,24px); font-weight:700; letter-spacing:.06em; text-shadow:0 2px 5px #05090d,0 0 2px #000; padding:3px 6px; border-radius:3px; background:rgba(7,14,20,.52); pointer-events:none; }
.philosophy-label[data-anchor="future"] { left:49%;top:32%; }
.philosophy-label[data-anchor="essence"] { left:35%;top:63%; }
.philosophy-label[data-anchor="solid"] { left:63%;top:67%; }
@media(max-width:767px){ .sec_philosophy .philosophy-stage{margin-bottom:30px;} .philosophy-label{font-size:clamp(14px,4.2vw,18px);} }
@media(prefers-reduced-motion:reduce){.philosophy-stage canvas{transition:none;}}
