<!-- SAGA2 · part 67 -->
]], lnCyan);
    // DELTOIDS — shoulder caps
    ellipse(-6.5, 9.5, 5, 2.0, 1.8, lnCyan);
    ellipse(6.5, 9.5, 5, 2.0, 1.8, lnCyan);
    // BICEPS
    curve([[-7,8,5],[-7.5,6,5],[-7.3,4,4.8]], lnGold);
    curve([[7,8,5],[7.5,6,5],[7.3,4,4.8]], lnGold);
    // TRICEPS
    curve([[-6,8,4],[-6.2,6,3.8],[-6,4,3.6]], lnCyan);
    curve([[6,8,4],[6.2,6,3.8],[6,4,3.6]], lnCyan);
    // FOREARM MUSCLES
    curve([[-7.3,3,4.5],[-7.5,1,4.3],[-7.4,-1,4.2]], lnCyan);
    curve([[7.3,3,4.5],[7.5,1,4.3],[7.4,-1,4.2]], lnCyan);
    // WRIST BONES
    ellipse(-7.4, -1.5, 4.2, 0.6, 0.4, lnGold);
    ellipse(7.4, -1.5, 4.2, 0.6, 0.4, lnGold);
    // KNUCKLES
    for(var k=0;k<4;k++){
      ellipse(-8.5+(k-1.5)*0.55, 3.5, 4.3, 0.18, 0.18, lnGold);
      ellipse(8.5+(k-1.5)*0.55, 3.5, 4.3, 0.18, 0.18, lnGold);
    }
    // QUADS
    curve([[-2.5,-3,5],[-2.8,-6,5.2],[-2.6,-9,5]], lnCyan);
    curve([[2.5,-3,5],[2.8,-6,5.2],[2.6,-9,5]], lnCyan);
    curve([[-1.5,-3,5.5],[-1.6,-6,5.7],[-1.5,-9,5.5]], lnGold);
    curve([[1.5,-3,5.5],[1.6,-6,5.7],[1.5,-9,5.5]], lnGold);
    // KNEECAPS
    ellipse(-2.2, -9.5, 5.8, 0.7, 0.8, lnCyan);
    ellipse(2.2, -9.5, 5.8, 0.7, 0.8, lnCyan);
    // SHINS
    curve([[-2.2,-10.5,5.5],[-2.2,-13,5.3],[-2.2,-15,5.2]], lnCyan);
    curve([[2.2,-10.5,5.5],[2.2,-13,5.3],[2.2,-15,5.2]], lnCyan);
    // CALVES
    ellipse(-2.2, -12.5, 4.5, 1.0, 1.5, lnGold);
    ellipse(2.2, -12.5, 4.5, 1.0, 1.5, lnGold);
    // ANKLE BONES
    ellipse(-2.2, -15.5, 5, 0.5, 0.4, lnCyan);
    ellipse(2.2, -15.5, 5, 0.5, 0.4, lnCyan);
    // HEELS
    curve([[-2.2,-16,4.5],[-2.2,-17,4],[-2,-17.5,4.2]], lnGold);
    curve([[2.2,-16,4.5],[2.2,-17,4],[2,-17.5,4.2]], lnGold);
  })();


  // LOOMIS HEAD CONSTRUCTION — structural lines (King's guide)
  (function(){
    function curve(pts, mat){ draw(pts.map(function(p){return new THREE.Vector3(p[0],p[1],p[2]);}), mat); }
    // CENTER LINE — forehead to chin (wraps with form)
    curve([[0,27,8.5],[0,24,9.2],[0,22,9.4],[0,20,9.5],[0,18,9.6],[0,16,9.4],[0,15.5,9.2]], lnGold);
    // EYE LINE — horizontal, wraps around
    curve([[-5.5,22,7.5],[-3,22.3,8.8],[0,22.4,9.4],[3,22.3,8.8],[5.5,22,7.5]], lnCyan);
    // BROW LINE
    curve([[-4.5,23.5,8],[0,24,9.3],[4.5,23.5,8]], lnDim);
    // NOSE LINE
    curve([[-3.5,19,8.5],[0,19.2,9.6],[3.5,19,8.5]], lnDim);
    // MOUTH LINE
    curve([[-3,17.5,8.8],[0,17.6,9.5],[3,17.5,8.8]], lnDim);
    // JAW STRUCTURE — ear to chin (both sides)
    curve([[-4.5,21,7],[-4,18.5,8],[-3,16.5,8.8],[-1.5,15.8,9.2]], lnCyan);
    curve([[4.5,21,7],[4,18.5,8],[3,16.5,8.8],[1.5,15.8,9.2]], lnCyan);
    // CRANIUM — sphere cross-sections
    for(var cr=0; cr<3; cr++){
      var cy = 25 + cr*1.2, crad = 4.5 - cr*0.8;
      var cpts=[];
      for(var ca=0; ca<=20; ca++){ var ang=(ca/20)*Math.PI*2;
        cpts.push(new THREE.Vector3(Math.cos(ang)*crad, cy, 6+Math.sin(ang)*crad*0.9));
      }
      draw(cpts, lnDim);
    }
    // SIDE PLANE — temple to jaw (form turn)
    curve([[-4.2,23,7.2],[-4.5,21,7.5],[-4.3,19,8]], lnGold);
    curve([[4.2,23,7.2],[4.5,21,7.5],[4.3,19,8]], lnGold);
  })();


  // FACE FILL disabled — minimal only (King's order)
  /*
  (function(){
    function fline(pts){ draw(pts.map(function(p){return new THREE.Vector3(p[0],p[1],p[2]);}), lnDim); }
    // FOREHEAD — horizontal lines following brow curve
    for(var fh=0; fh<6; fh++){
      var fy = 24.5 + fh*0.7;
      var fpts=[];
      for(var fa=0; fa<=12; fa++){ var t=fa/12;
        var fx = -3.5 + t*7.0;
        var fz = 8.8 - Math.abs(t-0.5)*1.2 + fh*0.08;
        fpts.push([fx, fy, fz]);
      }
      fline(fpts);
    }
    // CHEEKS — diagonal lines from nose to ears (both sides)
    for(var ch=0; ch<8; ch++){
      var ct = ch/8;
      // left cheek
      fline([[-1.5-ct*2.0, 21-ct*3.0, 9.2-ct*1.0],[-2.0-ct*2.0, 20.5-ct*3.0, 8.8-ct*1.0]]);
      // right cheek
      fline([[1.5+ct*2.0, 21-ct*3.0, 9.2-ct*1.0],[2.0+ct*2.0, 20.5-ct*3.0, 8.8-ct*1.0]]);
    }
    // NOSE — bridge lines and side planes
    for(var ns=0; ns<5; ns++){
      var nx = -0.8 + ns*0.4;
      fline([[nx, 22, 9.3+Math.abs(nx)*0.3],[nx*1.1, 20, 9.5+Math.abs(nx)*0.3],[nx*1.2, 18.5, 9.6]]);
    }
    // CHIN — curved lines under mouth
    for(var cn=0; cn<4; cn++){
      var cy = 16.8 - cn*0.5;
      fline([[-2.0+cn*0.2, cy, 9.0],[0, cy-0.2, 9.4],[2.0-cn*0.2, cy, 9.0]]);
    }
    // TEMPLES — vertical fine lines
    for(var tp=0; tp<6; tp++){
      var tx = -3.8 + tp*0.25;
      fline([[tx, 24, 7.5],[tx, 22, 8.0],[tx, 20, 8.2]]);
      fline([[-tx, 24, 7.5],[-tx, 22, 8.0],[-tx, 20, 8.2]]);
    }
  })();
  */


  // MINIMAL FACE — sacred geometry (King's pick)
  (function(){
    function mline(pts, mat){ draw(pts.map(function(p){return new THREE.Vector3(p[0],p[1],p[2]);}), mat); }
    // center line
    mline([[0,28,8.5],[0,22,9.4],[0,18,9.6],[0,15,9.2]], lnGold);
    // brows — angular
    mline([[-5,24,8.5],[-2.5,23.5,9],[-1,23.2,9.1]], lnGold);
    mline([[1,23.2,9.1],[2.5,23