/* Section 01: four quiet studies of identity, change, continuity and discovery. */
.principle-top .vision-icon{overflow:visible;stroke-linecap:round;stroke-linejoin:round;transition:filter .5s,stroke .5s}
.vision-icon g,.vision-icon circle{transform-box:view-box;transform-origin:19px 19px}
.identity-core{animation:identity-pulse 4.8s ease-in-out infinite}
.identity-axis{animation:identity-turn 24s linear infinite}
.identity-satellite{animation:identity-turn 9s linear infinite}
.identity-satellite circle{fill:#b8dfff;stroke:none;filter:drop-shadow(0 0 3px #91cfff99)}
.world-signal{stroke:#badfff;stroke-width:1.2;stroke-dasharray:16 84;stroke-dashoffset:100;animation:world-flow 5s linear infinite}
.world-signal.signal-backward{animation-direction:reverse;animation-delay:-2.5s;stroke:#84b4ef}
.world-core{animation:identity-pulse 5s ease-in-out infinite;fill:#94caff;stroke:none}
.moment-trail{stroke:#bbdfff;stroke-width:1.2;stroke-dasharray:100;stroke-dashoffset:100;animation:moment-build 6.4s ease-in-out infinite}
.moment-cursor{fill:#d0ebff;stroke:none;filter:drop-shadow(0 0 3px #86c7ff99);animation:moment-advance 6.4s linear infinite}
.moment-node{animation:moment-arrival 6.4s ease-in-out infinite}
.vision-aside .mini-orbit{isolation:isolate}
.vision-aside .mini-orbit i:first-child{animation:territory-one 11s linear infinite;border-color:#7daede99}
.vision-aside .mini-orbit i:nth-child(2){animation:territory-two 14s linear infinite;border-color:#658ac38f}
.vision-aside .mini-orbit i:nth-child(3){animation:territory-heart 5.5s ease-in-out infinite}
.vision-aside .mini-orbit i:first-child:after{content:'';position:absolute;width:4px;height:4px;top:-2px;left:calc(50% - 2px);border-radius:50%;background:#c3e3ff;box-shadow:0 0 8px #86bdff88}
.js .principle:not(.motion-visible) .vision-icon *,.js .vision-aside:not(.motion-visible) .mini-orbit *,.js .vision-aside:not(.motion-visible) .mini-orbit *:after{animation-play-state:paused}
@media(hover:hover){.principle:hover .vision-icon{stroke:#a0c9f1;filter:drop-shadow(0 0 6px #7bbaff40)}}
@keyframes identity-turn{to{transform:rotate(360deg)}}
@keyframes identity-pulse{0%,100%{transform:scale(.88);opacity:.65}50%{transform:scale(1.16);opacity:1}}
@keyframes world-flow{to{stroke-dashoffset:0}}
@keyframes moment-build{0%,8%{stroke-dashoffset:100;opacity:0}12%{opacity:1}78%,86%{stroke-dashoffset:0;opacity:1}96%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes moment-advance{0%,8%{transform:translate(0,0);opacity:0}12%{transform:translate(0,0);opacity:1}21%{transform:translate(7px,0)}34%{transform:translate(7px,-10px)}44%{transform:translate(15px,-10px)}54%{transform:translate(15px,-18px)}64%{transform:translate(23px,-18px)}72%{transform:translate(23px,-24px)}82%,86%{transform:translate(30px,-24px);opacity:1}96%,100%{transform:translate(30px,-24px);opacity:0}}
@keyframes moment-arrival{0%,52%,100%{stroke:#6f9bc6;stroke-width:.8}64%,72%{stroke:#c6e8ff;stroke-width:1.3}86%{stroke:#6f9bc6;stroke-width:.8}}
@keyframes territory-one{0%{transform:rotate(45deg) scaleY(.48)}50%{transform:rotate(225deg) scaleY(.64)}100%{transform:rotate(405deg) scaleY(.48)}}
@keyframes territory-two{0%{transform:rotate(-45deg) scaleY(.48)}50%{transform:rotate(-225deg) scaleY(.34)}100%{transform:rotate(-405deg) scaleY(.48)}}
@keyframes territory-heart{0%,100%{transform:scale(.82);box-shadow:0 0 12px #98c5ee35}50%{transform:scale(1.08);box-shadow:0 0 23px #98c5ee88}}
@media(max-width:640px){.vision-aside{display:flex;align-items:center;gap:18px;padding-top:0}.vision-aside .mini-orbit{flex:0 0 40px}.vision-aside p{margin:0;font-size:10px;line-height:1.8}}
@media(prefers-reduced-motion:reduce){.vision-icon *,.mini-orbit i,.mini-orbit i:after{animation:none!important}.identity-satellite,.world-signal,.moment-trail,.moment-cursor,.mini-orbit i:first-child:after{display:none}.principle-top .vision-icon{transition:none}}
@media print{.vision-icon *,.mini-orbit i{animation:none!important}.identity-satellite,.world-signal,.moment-trail,.moment-cursor{display:none}}
