/* === SCENE 2: 會議 === */
.meeting-visual{display:flex;gap:16px;justify-content:center;margin-top:32px}
/* GSAP handles meeting-visual */
.person{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.05);border:2px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:24px}

/* === SCENE 3: 音訊波形 === */
.wave-container{display:flex;align-items:center;justify-content:center;gap:3px;height:80px;margin:32px 0}
/* GSAP handles wave-container */
.wave-bar{width:4px;height:20px;border-radius:4px;background:linear-gradient(to top,var(--purple),var(--accent));transition:height .15s ease}

/* === SCENE 4: 文字浮現 === */
.text-reveal{font-size:clamp(16px,2.5vw,24px);color:var(--bright);line-height:2;text-align:left;max-width:500px;margin:24px auto 0;opacity:0}
.text-reveal span{display:inline-block}
.js-ready .text-reveal span{opacity:0}

/* === SCENE 5: 程式碼 === */
.code-block{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:28px 24px;text-align:left;font-family:'SF Mono',monospace;font-size:14px;line-height:1.8;margin:20px auto 0;width:100%;overflow:hidden}
/* GSAP handles code-block */
.code-line{color:var(--dim)}
.js-ready .code-line{opacity:0}
.code-line .kw{color:var(--purple)}
.code-line .str{color:var(--accent)}
.code-line .fn{color:#60a5fa}

/* === SCENE 6: 網站誕生 === */
.website-frame{background:#fff;border-radius:16px;overflow:hidden;max-width:500px;margin:24px auto 0;box-shadow:0 8px 40px rgba(0,0,0,.3)}
/* GSAP handles website-frame */
.frame-bar{display:flex;gap:6px;padding:10px 14px;background:#f1f5f9;border-bottom:1px solid #e2e8f0}
.frame-dot{width:8px;height:8px;border-radius:50%}
.frame-dot.r{background:#ef4444}.frame-dot.y{background:#eab308}.frame-dot.g{background:#22c55e}
.frame-body{padding:24px;min-height:200px;text-align:center;font-family:'PingFang TC','Microsoft JhengHei',sans-serif;color:#1a1a2e}
.frame-hero{background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff;padding:32px 20px;border-radius:12px;margin-bottom:16px}
.frame-hero h2{font-size:18px;margin-bottom:6px}.frame-hero p{font-size:12px;opacity:.8}

/* === TESTIMONIAL SECTION === */
.testimonial-section{scroll-snap-align:start;scroll-snap-stop:always;min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:60px 16px;content-visibility:auto;contain-intrinsic-size:auto 100vh}
.testimonial-inner{max-width:900px;width:100%;text-align:center;position:relative;z-index:2}
.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.testimonial-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:28px 24px;text-align:left;transition:border-color .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;will-change:transform}
.testimonial-card:hover{border-color:rgba(249,115,22,.2);transform:translateY(-6px) scale(1.01);box-shadow:0 12px 40px rgba(0,0,0,.2)}
.testimonial-card:active{transform:translateY(-2px) scale(.99);transition-duration:.15s}
.testimonial-quote{font-size:15px;color:var(--text);line-height:1.8;margin-bottom:16px;position:relative;padding-left:16px;border-left:2px solid var(--accent)}
.testimonial-author{display:flex;align-items:center;gap:12px}
.testimonial-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#fbbf24);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.testimonial-name{font-size:13px;font-weight:700;color:var(--bright)}
.testimonial-role{font-size:11px;color:var(--dim)}
.testimonial-metrics{display:flex;justify-content:center;gap:48px;margin-top:40px}
.testimonial-metric{text-align:center}
.testimonial-metric-val{font-size:32px;font-weight:900;background:linear-gradient(135deg,var(--accent),#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.testimonial-metric-lbl{font-size:12px;color:var(--dim);margin-top:4px}
.testimonial-cta{display:inline-block;margin-top:32px;color:var(--accent);font-size:14px;font-weight:600;border-bottom:1px solid transparent;transition:border-color .3s,transform .25s cubic-bezier(.22,1,.36,1)}
.testimonial-cta:hover{border-color:var(--accent);transform:translateX(4px)}
/* GSAP 控制 testimonial 動畫 */
@media(max-width:768px){
  .testimonial-grid{grid-template-columns:1fr;gap:16px}
  .testimonial-metrics{gap:24px;flex-wrap:wrap}
  .testimonial-metric-val{font-size:24px}
}
@media(max-width:480px){
  .testimonial-section{padding:56px 20px}
  .testimonial-quote{font-size:14px}
  .testimonial-metrics{gap:20px}
}

/* === SCENE 7: CTA === */
.cta-big{font-size:clamp(20px,3vw,32px);font-weight:900;color:var(--bright);margin-bottom:12px}
.cta-contact{margin-top:24px;font-size:14px;color:var(--dim);line-height:2}
/* GSAP handles cta-big + cta-contact */

/* Stats Bar */
.stats-float{display:flex;justify-content:center;gap:48px;margin-top:40px}
/* GSAP handles stats-float */
.stat-item{text-align:center}
.stat-val{font-size:28px;font-weight:900;color:var(--accent)}
.stat-lbl{font-size:12px;color:var(--dim)}

/* Nav Mobile — 已移至 inline CSS 避免 CLS */

/* === 手機端優化 (≤480px) — 首屏樣式已移至 inline CSS === */
@media(max-width:480px){
  .stats-float{gap:20px;margin-top:28px}
  .stat-val{font-size:24px}
  .stat-lbl{font-size:11px}
  .code-block{font-size:12px;padding:20px 16px;border-radius:12px;line-height:1.9}
  .website-frame{margin:20px auto 0;border-radius:12px}
  .cta-big{font-size:clamp(22px,6vw,32px);line-height:1.4}
  .cta-contact{font-size:13px;line-height:2.2}
  .meeting-visual{gap:12px;margin-top:24px}
  .person{width:52px;height:52px}
}
@media(min-width:481px) and (max-width:768px){
  .hero-actions{gap:12px}
  .stats-float{gap:32px}
  .code-block{font-size:13px}
}


