<!-- RUBY-BACKUP · part 306 -->
*160;
            var sy = bpy + 32 - Math.sin(st2*Math.PI)*28;
            scpts.push(new THREE.Vector3(sx, sy, -200 + sd*3));
          }
          var scgeo = new THREE.TubeGeometry(new THREE.CatmullRomCurve3(scpts), 20, 0.3, 4, false);
          var scable = new THREE.Mesh(scgeo, goldMat); scable.name='nyc-cable'; scene.add(scable);
        }
        var sdeck = new THREE.Mesh(new THREE.BoxGeometry(170, 2, 10), stoneMat);
        sdeck.position.set(0, bpy+4, -200); sdeck.name='nyc-bridge-deck'; scene.add(sdeck);
        /* 4. LIGHT DISTRICT — Times Square glow (at x=100, z=100) */
        var lpy = 10;
        try{ if(typeof fortifiedGroundY==='function') lpy = fortifiedGroundY(100, 100); }catch(e){}
        for(var lb=0; lb<4; lb++){
          var blb = new THREE.Mesh(new THREE.BoxGeometry(10, 20, 10), stoneMat);
          blb.position.set(100+(lb%2)*15, lpy+10, 100+Math.floor(lb/2)*15);
          blb.name='nyc-billboard-bld'; scene.add(blb);
          var board = new THREE.Mesh(new THREE.PlaneGeometry(8, 6), lb%2?neonMat:cyanMat);
          board.position.set(100+(lb%2)*15, lpy+15, 100+Math.floor(lb/2)*15+5.1);
          board.name='nyc-billboard'; scene.add(board);
        }
        /* 5. LIBERTY — our statue in the harbor (at x=200, z=300) */
        var hpy = 10;
        try{ if(typeof fortifiedGroundY==='function') hpy = fortifiedGroundY(200, 300); }catch(e){}
        var pedestal = new THREE.Mesh(new THREE.BoxGeometry(10, 15, 10), stoneMat);
        pedestal.position.set(200, hpy+7.5, 300); pedestal.name='nyc-liberty-base'; scene.add(pedestal);
        var body = new THREE.Mesh(new THREE.CylinderGeometry(3, 4, 20, 8), goldMat);
        body.position.set(200, hpy+25, 300); body.name='nyc-liberty-body'; scene.add(body);
        var torch = new THREE.Mesh(new THREE.SphereGeometry(2, 10, 8), cyanMat);
        torch.position.set(200, hpy+38, 300); torch.name='nyc-liberty-torch'; scene.add(torch);
      }catch(e){}
    }, 24000);
    /* FUTURISTIC LAYER — holograms, beams, floating rings */
    setTimeout(function(){
      try{
        var goldMat = new THREE.MeshStandardMaterial({color:0xffd700, metalness:0.85, roughness:0.25});
        var holoMat = new THREE.MeshBasicMaterial({color:0x00ffff, transparent:true, opacity:0.3});
        var beamMat = new THREE.MeshBasicMaterial({color:0xffd700, transparent:true, opacity:0.4});
        var py = 10;
        try{ if(typeof fortifiedGroundY==='function') py = fortifiedGroundY(0, 0); }catch(e){}
        /* holographic rings floating above the dome */
        for(var hr=0; hr<3; hr++){
          var hring = new THREE.Mesh(new THREE.TorusGeometry(15+hr*8, 0.3, 8, 48), holoMat);
          hring.position.set(0, py+30+hr*10, 0);
          hring.rotation.x = Math.PI/2;
          hring.name = 'future-holoring';
          scene.add(hring);
        }
        /* light beams shooting up from each pillar */
        for(var pb=0; pb<8; pb++){
          var pang = (pb/8)*Math.PI*2;
          var ppx = Math.cos(pang)*30, ppz = Math.sin(pang)*30;
          var ppy = 10;
          try{ if(typeof fortifiedGroundY==='function') ppy = fortifiedGroundY(ppx, ppz); }catch(e){}
          var beam = new THREE.Mesh(new THREE.CylinderGeometry(0.5, 0.5, 60, 8), beamMat);
          beam.position.set(ppx, ppy+30, ppz);
          beam.name = 'future-beam';
          scene.add(beam);
        }
        /* glowing pulse ring around the dome base */
        var pulse = new THREE.Mesh(new THREE.TorusGeometry(12, 0.5, 8, 48), goldMat);
        pulse.position.set(0, py+1, 0);
        pulse.rotation.x = Math.PI/2;
        pulse.name = 'future-pulse';
        scene.add(pulse);
        /* floating gold orbs above brownstones */
        for(var fo=0; fo<6; fo++){
          var fbx = 100, fbz = -50 + fo*20;
          var fby = 10;
          try{ if(typeof fortifiedGroundY==='function') fby = fortifiedGroundY(fbx, fbz); }catch(e){}
          var orb = new THREE.Mesh(new THREE.SphereGeometry(1.5, 12, 10), holoMat);
          orb.position.set(fbx, fby+18, fbz);
          orb.name = 'future-orb';
          scene.add(orb);
        }
      }catch(e){}
    }, 22000);
    /* SOLID BUILDS — gold arches between pillars */
    setTimeout(function(){
      try{
        var goldMat = new THREE.MeshStandardMaterial({color:0xffd700, metalness:0.8, roughness:0.3});
        for(var ai=0; ai<8; ai++){
          var a1 = (ai/8)*Math.PI*2;
          var a2 = ((ai+1)/8)*Math.PI*2;
          var x1 = Math.cos(a1)*30, z1 = Math.sin(a1)*30;
          var x2 = Math.cos(a2)*30, z2 = Math.sin(a2)*30;
          var mx = (x1+x2)/2, mz = (z1+z2)/2;
          var py = 10;
          try{ if(typeof fortifiedGroundY==='function') py = fortifiedGroundY(mx, mz); }catch(e){}
          /* arch — half torus */
          var arch = new THREE.Mesh(new THREE.TorusGeometry(12, 0.8, 8, 16, Math.PI), goldMat);
          arch.position.set(mx, py+20, mz);
          /* rotate to face center */
          arch.lookA