/* Symmetric dimensional elevation with top planes and a centred front ridge. */
.lp-visual.lp-overview { max-width:900px; margin:20px auto 26px; padding:0; border:0; border-radius:0; background:transparent; overflow:visible; }
.lp-overview::before { display:none; }
.ace-pyramid-reveal { width:100%; }
.apr-diagram { display:block; width:100%; height:auto; overflow:visible; }
.apr-code { font:700 48px/1 'DM Sans',sans-serif; letter-spacing:.035em; }
.apr-title { font:700 27px/1.3 'Noto Serif TC','Source Han Serif TC','Songti TC','PMingLiU',serif; letter-spacing:.08em; }
.apr-link { stroke-width:1.6; }
.apr-name-core { --apr-origin:-140px; }
.apr-name-aim { --apr-origin:-220px; }
.apr-name-apex { --apr-origin:-300px; }
.lp-overview.lp-entered .apr-tier { animation:apr-build 1s cubic-bezier(.16,1,.3,1) both; }
.lp-overview.lp-entered .apr-link { animation:apr-connect 1s ease-out both; }
.lp-overview.lp-entered .apr-name { animation:apr-name-out 1s cubic-bezier(.16,1,.3,1) both; }
.lp-overview.lp-entered :is(.apr-tier-core,.apr-link-core,.apr-name-core) { animation-delay:0s; }
.lp-overview.lp-entered :is(.apr-tier-aim,.apr-link-aim,.apr-name-aim) { animation-delay:.7s; }
.lp-overview.lp-entered :is(.apr-tier-apex,.apr-link-apex,.apr-name-apex) { animation-delay:1.4s; }
.apr-gold-sweep { opacity:0; }
.lp-overview.lp-entered .apr-gold-sweep { animation:apr-gold 3s ease-in-out infinite; animation-delay:2.4s; }
.lp-overview:not(.lp-visible) .apr-diagram *,
.lp-overview.lp-document-hidden .apr-diagram *,
.lp-overview.lp-paused .apr-diagram * { animation-play-state:paused; }
@keyframes apr-build { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes apr-connect { from { opacity:0; stroke-dasharray:0 100; } to { opacity:1; stroke-dasharray:100 0; } }
@keyframes apr-name-out { from { opacity:0; transform:translate(var(--apr-origin),12px); } to { opacity:1; transform:translate(0,0); } }
@keyframes apr-gold { 0%,5% { opacity:0; transform:translateX(0); } 18% { opacity:1; } 55% { opacity:1; } 68%,100% { opacity:0; transform:translateX(var(--apr-sweep-distance)); } }
@media(max-width:520px) {
  .lp-visual.lp-overview { margin:20px auto 24px; }
  .apr-code { font-size:53px; }
  .apr-title { font-size:38px; letter-spacing:0; }
}
@media(prefers-reduced-motion:reduce) {
  .apr-diagram * { animation:none!important; transition:none!important; }
  .apr-gold-sweep { display:none; }
}

