/* =========================================================
   首頁「學員星球」（#students）— 可拖曳旋轉的 3D 名字頭像球
   改寫自 21st.dev 的 img-sphere（React）→ 原生 JS（students.js）
   ========================================================= */
.stu-section{ padding:40px 0 110px; position:relative; }
.stu-wrap{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px; align-items:center; }
.stu-title{
  font-family:'PingFang TC','Microsoft JhengHei','Noto Sans TC',sans-serif; font-weight:900;
  font-size:clamp(32px,4.4vw,56px); line-height:1.15; color:#fff; margin:0 0 18px;
}
.stu-sub{ font-size:15px; line-height:1.9; color:#a59bb3; max-width:420px; margin:0 0 26px; }
.stu-stat{ display:flex; align-items:baseline; gap:10px; margin:0 0 26px; }
.stu-stat b{
  font-family:'Orbitron','Noto Sans TC',sans-serif; font-size:clamp(40px,5vw,60px); font-weight:800; line-height:1;
  background:linear-gradient(120deg,#ffffff 0%,#ecdcae 55%,#bd9530 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;
}
.stu-stat span{ font-size:15px; color:#d6cde0; }
.stu-cta{
  display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:999px;
  border:1px solid rgba(217,191,122,.45); color:#ecdcae; font-weight:600; font-size:14px; text-decoration:none;
  transition:background .25s ease, color .25s ease;
}
.stu-cta:hover{ background:rgba(217,191,122,.12); color:#fff; }

/* 球 */
.stu-stage{ position:relative; display:flex; flex-direction:column; align-items:center; }
.stu-stage::before{
  content:""; position:absolute; inset:8% 8% 14%; border-radius:50%; pointer-events:none;
  background:radial-gradient(circle, rgba(217,191,122,.13) 0%, rgba(217,191,122,.05) 45%, transparent 70%);
  filter:blur(10px);
}
.stu-sphere{
  position:relative; width:100%; max-width:560px; aspect-ratio:1/1;
  cursor:grab; user-select:none; -webkit-user-select:none; touch-action:pan-y;
}
.stu-sphere.is-drag{ cursor:grabbing; }
.stu-canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.stu-hint{ margin-top:10px; font-size:12px; letter-spacing:.2em; color:#7a6f8a; }

@media (max-width:900px){
  .stu-section{ padding:20px 0 80px; }
  .stu-wrap{ grid-template-columns:1fr; gap:10px; }
  .stu-sphere{ max-width:440px; }
}
