*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    :root {
      --space-black: #030510; --neon-cyan: #00d4ff; --neon-purple: #a855f7;
      --star-gold: #f5c842; --metal-mid: #8fa3b8; --text-main: #e2eaf5;
      --text-sub: #8fa3b8; --glow-blue: 0 0 20px rgba(0,212,255,0.5), 0 0 60px rgba(0,212,255,0.2);
      /* ── LIGHT PALETTE (內容區：乾淨潔白，適合長時間閱讀) ── */
      --lt-bg: #ffffff;
      --lt-bg-alt: #f4f7fa;
      --lt-text: #16202e;      /* 深灰藍，比純黑柔和但對比足夠 */
      --lt-text-sub: #55637a;
      --lt-line: #dfe6ee;
      --brand-blue: #0a68b8;   /* 深藍：亮底上的主色（取代亮青，對比更佳） */
      --brand-blue-dk: #084d88;
      --brand-orange: #ef7d1a; /* 型錄橘：主力產品／重點標示 */
      --brand-orange-dk: #d2660a;
    }
    body { background: var(--space-black); color: var(--text-main); font-family: 'Noto Sans TC', sans-serif; overflow-x: hidden; }

    /* 捲出主視覺後隱藏 HUD 疊層（避免青色字壓在白底上看不清） */
    .hud-corner-wrap, .hud-telemetry, .scanlines { transition: opacity 0.35s ease; }
    body.past-hero .hud-corner-wrap,
    body.past-hero .hud-telemetry,
    body.past-hero .scanlines { opacity: 0; visibility: hidden; }

    /* ─────────── LIGHT SECTION SYSTEM ─────────── */
    .sec-light { background: var(--lt-bg); color: var(--lt-text); position: relative; z-index: 1; }
    .sec-light-alt { background: var(--lt-bg-alt); color: var(--lt-text); position: relative; z-index: 1; }
    .sec-light .section-title, .sec-light-alt .section-title {
      background: none; -webkit-text-fill-color: initial; color: var(--lt-text);
      font-weight: 900; letter-spacing: 0.02em;
    }
    .sec-light .section-eyebrow, .sec-light-alt .section-eyebrow { color: var(--brand-blue); font-weight: 700; }
    .sec-light .section-sub, .sec-light-alt .section-sub { color: var(--lt-text-sub); font-size: 1.05rem; }
    .sec-light .section-eyebrow::after, .sec-light-alt .section-eyebrow::after {
      content: ''; display: block; width: 48px; height: 3px; margin: 10px auto 0;
      background: var(--brand-orange); border-radius: 2px;
    }

    /* ── 亮色區：特色卡 ── */
    .sec-light .feature-card, .sec-light-alt .feature-card {
      background: #fff; border: 1px solid var(--lt-line); border-radius: 10px;
      box-shadow: 0 1px 3px rgba(20,40,70,0.05);
    }
    .sec-light .feature-card:hover, .sec-light-alt .feature-card:hover {
      border-color: var(--brand-blue); box-shadow: 0 10px 30px rgba(10,104,184,0.12); transform: translateY(-4px);
    }
    .sec-light .feature-icon, .sec-light-alt .feature-icon { stroke: var(--brand-blue); }
    .sec-light .feature-title, .sec-light-alt .feature-title { color: var(--lt-text); font-size: 1.15rem; }
    .sec-light .feature-desc, .sec-light-alt .feature-desc { color: var(--lt-text-sub); font-size: 0.95rem; line-height: 1.9; }

    /* ── 亮色區：應用卡 ── */
    .sec-light .app-card, .sec-light-alt .app-card {
      background: #fff; border: 1px solid var(--lt-line); box-shadow: 0 1px 3px rgba(20,40,70,0.05);
    }
    .sec-light .app-card:hover, .sec-light-alt .app-card:hover { border-color: var(--brand-orange); box-shadow: 0 8px 24px rgba(239,125,26,0.15); }
    .sec-light .app-name, .sec-light-alt .app-name { color: var(--lt-text); font-size: 1rem; font-weight: 700; }
    .sec-light .app-desc, .sec-light-alt .app-desc { color: var(--lt-text-sub); font-size: 0.85rem; }

    /* ── 亮色區：選型步驟卡 ── */
    .sec-light .step-card, .sec-light-alt .step-card {
      background: #fff; border: 1px solid var(--lt-line); box-shadow: 0 1px 3px rgba(20,40,70,0.05);
    }
    .sec-light .step-num, .sec-light-alt .step-num { color: rgba(10,104,184,0.16); }
    .sec-light .step-title, .sec-light-alt .step-title { color: var(--lt-text); font-size: 1.05rem; }
    .sec-light .step-desc, .sec-light-alt .step-desc { color: var(--lt-text-sub); font-size: 0.9rem; line-height: 1.85; }

    /* ─────────── 產品卡（亮色 + 實拍圖） ─────────── */
    .sec-light .products-grid { grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
    .sec-light .product-card {
      background: #fff; border: 1px solid var(--lt-line); border-radius: 12px;
      box-shadow: 0 2px 8px rgba(20,40,70,0.06); overflow: hidden; display: flex; flex-direction: column;
    }
    .sec-light .product-card:hover {
      border-color: var(--brand-blue); box-shadow: 0 16px 40px rgba(10,104,184,0.15); transform: translateY(-6px);
    }
    .prod-photo {
      position: relative; background: linear-gradient(160deg, #f7fafc 0%, #eaf1f7 100%);
      padding: 22px 18px; text-align: center; border-bottom: 1px solid var(--lt-line);
    }
    .prod-photo img { width: 100%; max-width: 260px; height: 150px; object-fit: contain; display: block; margin: 0 auto; }
    .prod-flag {
      position: absolute; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 5px;
      background: var(--brand-orange); color: #fff; font-size: 0.7rem; font-weight: 700;
      padding: 4px 11px; border-radius: 20px; letter-spacing: 0.06em;
      box-shadow: 0 2px 8px rgba(239,125,26,0.4);
    }
    .prod-flag.hero-flag { background: linear-gradient(135deg, #ef7d1a, #e04f0c); }
    .prod-type {
      position: absolute; top: 12px; right: 12px; font-family: 'Orbitron', sans-serif;
      font-size: 0.6rem; letter-spacing: 0.1em; color: var(--brand-blue);
      background: rgba(10,104,184,0.08); border: 1px solid rgba(10,104,184,0.25);
      padding: 3px 9px; border-radius: 4px;
    }
    .sec-light .product-card-header { padding: 18px 22px 0; display: block; }
    .sec-light .product-name { color: var(--lt-text); font-size: 1.5rem; font-weight: 900; letter-spacing: 0.02em; }
    .sec-light .product-name-cn { color: var(--lt-text-sub); font-size: 0.9rem; margin-top: 3px; }
    .sec-light .product-body { padding: 14px 22px 20px; flex: 1; display: flex; flex-direction: column; }
    .sec-light .product-specs li { color: var(--lt-text-sub); font-size: 0.88rem; line-height: 1.6; align-items: flex-start; }
    .sec-light .spec-dot { background: var(--brand-orange); margin-top: 8px; }
    .sec-light .product-models { border-top: 1px solid var(--lt-line); }
    .sec-light .model-tag {
      background: #eef3f8; border: 1px solid var(--lt-line); color: #3c4b60; font-size: 0.7rem; font-weight: 600;
    }
    .sec-light .cad-btn {
      background: var(--brand-blue); border: none; color: #fff; font-size: 0.78rem;
      box-shadow: 0 2px 8px rgba(10,104,184,0.25); margin-top: auto;
    }
    .sec-light .cad-btn:hover { background: var(--brand-blue-dk); box-shadow: 0 6px 18px rgba(10,104,184,0.35); }

    /* 主力產品卡：加粗外框 + 微光 */
    .product-card.is-hero { border: 2px solid var(--brand-orange) !important; box-shadow: 0 6px 26px rgba(239,125,26,0.18) !important; }
    .product-card.is-hero:hover { box-shadow: 0 18px 46px rgba(239,125,26,0.28) !important; }

    /* ─────────── 主力產品 SPOTLIGHT ─────────── */
    .spotlight-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(380px, 1fr)); gap: 26px; }
    .spot-card {
      display: grid; grid-template-columns: 190px 1fr; gap: 20px; align-items: center;
      background: #fff; border: 1px solid var(--lt-line); border-left: 5px solid var(--brand-orange);
      border-radius: 12px; padding: 24px; box-shadow: 0 4px 20px rgba(20,40,70,0.07);
      transition: transform 0.3s, box-shadow 0.3s;
    }
    .spot-card:hover { transform: translateY(-5px); box-shadow: 0 18px 44px rgba(20,40,70,0.14); }
    .spot-card img { width: 100%; height: 140px; object-fit: contain; }
    .spot-rank { font-family: 'Orbitron', sans-serif; font-size: 0.62rem; letter-spacing: 0.2em; color: var(--brand-orange); font-weight: 700; margin-bottom: 4px; }
    .spot-name { font-size: 1.7rem; font-weight: 900; color: var(--lt-text); line-height: 1.1; }
    .spot-cn { font-size: 0.9rem; color: var(--lt-text-sub); margin-bottom: 12px; }
    .spot-pts { list-style: none; display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
    .spot-pts li { font-size: 0.87rem; color: #3c4b60; display: flex; gap: 7px; align-items: flex-start; }
    .spot-pts li::before { content: '✓'; color: var(--brand-orange); font-weight: 900; flex-shrink: 0; }
    .spot-link { display: inline-block; padding: 9px 20px; background: var(--brand-orange); color: #fff; border-radius: 6px; text-decoration: none; font-size: 0.85rem; font-weight: 700; transition: background 0.2s, transform 0.2s; }
    .spot-link:hover { background: var(--brand-orange-dk); transform: translateX(3px); }
    @media (max-width: 560px) { .spot-card { grid-template-columns: 1fr; text-align: center; } .spot-pts li { text-align: left; } }

    /* ─────────── 伺服馬達 ─────────── */
    .motor-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; margin-top: 44px; }
    .motor-card {
      background: #fff; border: 1px solid var(--lt-line); border-radius: 12px; padding: 26px 22px;
      box-shadow: 0 2px 8px rgba(20,40,70,0.06); transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
    }
    .motor-card:hover { transform: translateY(-5px); border-color: var(--brand-blue); box-shadow: 0 14px 34px rgba(10,104,184,0.14); }
    .motor-logo {
      font-family: 'Orbitron', sans-serif; font-size: 1.15rem; font-weight: 900;
      color: var(--brand-blue); letter-spacing: 0.04em; margin-bottom: 2px;
    }
    .motor-cn { font-size: 1.05rem; font-weight: 700; color: var(--lt-text); margin-bottom: 12px; }
    .motor-series { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
    .motor-series span { background: #eef3f8; border: 1px solid var(--lt-line); color: #3c4b60; font-size: 0.72rem; padding: 4px 10px; border-radius: 4px; font-weight: 600; }
    .motor-note { font-size: 0.83rem; color: var(--lt-text-sub); line-height: 1.8; }
    .motor-badge { display: inline-block; background: rgba(239,125,26,0.12); color: var(--brand-orange-dk); border: 1px solid rgba(239,125,26,0.3); font-size: 0.68rem; font-weight: 700; padding: 3px 10px; border-radius: 20px; margin-bottom: 10px; }
    .combo-banner {
      margin-top: 40px; padding: 26px 30px; border-radius: 12px; text-align: center;
      background: linear-gradient(135deg, #0a68b8, #084d88); color: #fff;
      box-shadow: 0 10px 30px rgba(10,104,184,0.25);
    }
    .combo-banner h4 { font-size: 1.2rem; margin-bottom: 6px; font-weight: 800; }
    .combo-banner p { font-size: 0.92rem; opacity: 0.9; margin-bottom: 16px; }
    .combo-banner a { display: inline-block; background: #fff; color: var(--brand-blue); padding: 11px 26px; border-radius: 6px; text-decoration: none; font-weight: 800; font-size: 0.9rem; transition: transform 0.2s; }
    .combo-banner a:hover { transform: translateY(-2px); }

    /* ── 亮色區：聯絡卡 + 表單 ── */
    .sec-light-alt .contact-card, .sec-light .contact-card {
      background: #fff; border: 1px solid var(--lt-line); backdrop-filter: none;
      box-shadow: 0 6px 30px rgba(20,40,70,0.08);
    }
    .sec-light-alt .contact-placeholder, .sec-light .contact-placeholder {
      border: 1px solid var(--lt-line); background: var(--lt-bg-alt);
      color: var(--lt-text); font-size: 0.95rem;
    }
    .sec-light-alt .contact-placeholder a, .sec-light .contact-placeholder a { color: var(--brand-blue) !important; font-weight: 600; }
    .sec-light-alt .form-input, .sec-light .form-input {
      background: #fff; border: 1px solid #c9d4e0; color: var(--lt-text); font-size: 0.95rem;
    }
    .sec-light-alt .form-input::placeholder, .sec-light .form-input::placeholder { color: #93a1b5; }
    .sec-light-alt .form-input:focus, .sec-light .form-input:focus {
      border-color: var(--brand-blue); box-shadow: 0 0 0 3px rgba(10,104,184,0.12);
    }
    .sec-light-alt .btn-primary, .sec-light .btn-primary {
      background: linear-gradient(135deg, var(--brand-orange), var(--brand-orange-dk));
      box-shadow: 0 4px 16px rgba(239,125,26,0.32);
    }

    /* 亮色區的選型 CTA 按鈕 */
    .sec-light .selector-cta, .sec-light-alt .selector-cta {
      background: linear-gradient(135deg, var(--brand-orange), var(--brand-orange-dk));
      box-shadow: 0 6px 24px rgba(239,125,26,0.35);
    }
    .sec-light .selector-cta:hover, .sec-light-alt .selector-cta:hover { box-shadow: 0 12px 34px rgba(239,125,26,0.45); }
    #starfield, #shooting-stars { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
    .nebula {
      position: fixed; inset: 0; z-index: 0; pointer-events: none;
      background: radial-gradient(ellipse 80% 50% at 20% 30%, rgba(26,106,255,0.08) 0%, transparent 60%),
                  radial-gradient(ellipse 60% 40% at 80% 70%, rgba(168,85,247,0.07) 0%, transparent 60%);
    }
    section { position: relative; z-index: 1; }

    /* NAV */
    body > nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 0 5%; height: 70px; background: rgba(3,5,16,0.85); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(0,212,255,0.15); }
    .nav-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; }
    .nav-logo-icon { width: 40px; height: 40px; flex-shrink: 0; }
    .nav-logo-cn { font-size: 1rem; font-weight: 700; color: var(--text-main); letter-spacing: 0.05em; line-height: 1.1; display: block; }
    .nav-logo-en { font-family: 'Orbitron', sans-serif; font-size: 0.6rem; color: var(--neon-cyan); letter-spacing: 0.12em; display: block; }
    .nav-links { display: flex; gap: 1.8rem; list-style: none; align-items: center; }
    .nav-links a { color: #c8d6e5; text-decoration: none; font-size: 0.9rem; letter-spacing: 0.05em; transition: color 0.3s; }
    .nav-links a:hover { color: var(--neon-cyan); }
    .nav-cta { padding: 8px 22px; border: 1px solid var(--neon-cyan) !important; border-radius: 4px; color: var(--neon-cyan) !important; font-size: 0.85rem !important; }
    .nav-cta:hover { background: rgba(0,212,255,0.1); box-shadow: var(--glow-blue); }
    .lang-toggle { display: inline-flex; gap: 2px; padding: 3px; background: rgba(0,212,255,0.05); border: 1px solid rgba(0,212,255,0.2); border-radius: 4px; }
    .lang-btn { background: transparent; border: none; color: var(--text-sub); font-family: 'Orbitron', sans-serif; font-size: 0.7rem; padding: 4px 8px; cursor: pointer; border-radius: 3px; }
    .lang-btn:hover { color: var(--neon-cyan); }
    .lang-btn.active { background: rgba(0,212,255,0.2); color: var(--neon-cyan); }
    @media (max-width: 768px) { .lang-toggle { display: none; } .nav-links li:not(:last-child) { display: none; } }

    /* HERO */
    #hero { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 100px 5% 80px; position: relative; overflow: hidden; }
    .hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); align-items: center; gap: 30px; width: 100%; max-width: 1400px; }
    .hero-content { position: relative; z-index: 5; text-align: left; }
    .hero-eyebrow { font-family: 'Orbitron', sans-serif; font-size: clamp(0.65rem, 1.2vw, 0.85rem); letter-spacing: 0.35em; color: var(--neon-cyan); text-transform: uppercase; margin-bottom: 1.2rem; opacity: 0; animation: fadeUp 0.8s 0.3s forwards; }
    .hero-title { font-family: 'Orbitron', sans-serif; font-size: clamp(1.8rem, 4.5vw, 4rem); font-weight: 900; line-height: 1.05; background: linear-gradient(135deg, #ffffff 0%, #a0cfff 40%, #00d4ff 80%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 0.4rem; opacity: 0; animation: fadeUp 0.8s 0.5s forwards; }
    .hero-title-cn { font-size: clamp(1.4rem, 3vw, 2.6rem); font-weight: 900; letter-spacing: 0.15em; background: linear-gradient(135deg, #ffffff 0%, #c0d8ff 50%, #80c8ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 1.5rem; opacity: 0; animation: fadeUp 0.8s 0.65s forwards; }
    .hero-tagline { font-size: clamp(0.9rem, 1.4vw, 1.05rem); color: var(--text-sub); max-width: 540px; margin-bottom: 2rem; line-height: 1.8; opacity: 0; animation: fadeUp 0.8s 0.8s forwards; }
    .hero-buttons { display: flex; gap: 1rem; flex-wrap: wrap; opacity: 0; animation: fadeUp 0.8s 1s forwards; }
    .btn-primary { padding: 14px 36px; background: linear-gradient(135deg, #0066cc, #00aaff); border: none; border-radius: 6px; color: #fff; font-size: 1rem; font-weight: 700; cursor: pointer; text-decoration: none; transition: transform 0.3s, box-shadow 0.3s; box-shadow: 0 4px 20px rgba(0,170,255,0.4); }
    .btn-primary:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(0,170,255,0.6); }
    .btn-outline { padding: 14px 36px; background: transparent; border: 1px solid rgba(0,212,255,0.5); border-radius: 6px; color: var(--neon-cyan); font-size: 1rem; cursor: pointer; text-decoration: none; }
    .btn-outline:hover { background: rgba(0,212,255,0.08); box-shadow: var(--glow-blue); }
    .scroll-indicator { position: absolute; bottom: 28px; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 8px; color: var(--text-sub); font-size: 0.75rem; letter-spacing: 0.2em; animation: bounce 2s infinite; z-index: 5; }
    @keyframes bounce { 0%, 100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(8px); } }
    .scroll-line { width: 1px; height: 40px; background: linear-gradient(to bottom, transparent, var(--neon-cyan)); }
    @keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }

    /* ORBITAL */
    .hero-orbit-wrap { position: relative; width: 100%; aspect-ratio: 1/1; max-width: 700px; margin: 0 auto; display: flex; align-items: center; justify-content: center; }
    .orbital-system { position: relative; width: 100%; height: 100%; animation: orbital-enter 1.4s 0.4s cubic-bezier(0.16,1,0.3,1) backwards; }
    @keyframes orbital-enter { from { opacity: 0; transform: scale(0.6) rotate(-30deg); } to { opacity: 1; transform: scale(1) rotate(0); } }
    .sun { position: absolute; top: 50%; left: 50%; width: clamp(80px, 14%, 110px); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, #ffffff 0%, #80e8ff 18%, #00aaff 45%, #0044aa 75%, transparent 90%); box-shadow: 0 0 40px rgba(0,212,255,0.7), 0 0 80px rgba(0,212,255,0.4), 0 0 160px rgba(0,212,255,0.2); animation: sun-pulse 4s ease-in-out infinite; z-index: 3; }
    @keyframes sun-pulse { 0%,100% { transform: translate(-50%, -50%) scale(1); } 50% { transform: translate(-50%, -50%) scale(1.08); } }
    .orbit { position: absolute; top: 50%; left: 50%; border-radius: 50%; border: 1px dashed rgba(0,212,255,0.2); transform: translate(-50%, -50%); z-index: 2; }
    .orbit-1 { width: 42%; height: 42%; animation: orbit-spin 28s linear infinite; }
    .orbit-2 { width: 68%; height: 68%; animation: orbit-spin 48s linear infinite reverse; border-color: rgba(168,85,247,0.2); }
    .orbit-3 { width: 96%; height: 96%; animation: orbit-spin 75s linear infinite; border-color: rgba(245,200,66,0.18); }
    @keyframes orbit-spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
    .orbit:has(.planet-bubble:hover) { animation-play-state: paused; }
    .planet { position: absolute; width: 0; height: 0; pointer-events: none; text-decoration: none; }
    .planet-bubble { position: absolute; width: clamp(42px, 7.5%, 60px); aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(20,40,80,0.95), rgba(5,13,31,0.98)); border: 2px solid currentColor; box-shadow: 0 0 20px currentColor, inset 0 0 8px rgba(255,255,255,0.05); cursor: pointer; pointer-events: auto; display: flex; align-items: center; justify-content: center; transition: transform 0.3s, box-shadow 0.3s, filter 0.3s; color: var(--neon-cyan); }
    .planet-bubble:hover { transform: translate(-50%, -50%) scale(1.35); filter: brightness(1.4); box-shadow: 0 0 40px currentColor, 0 0 70px currentColor; z-index: 20; }
    .planet-gear { width: 58%; height: 58%; color: inherit; animation: spin-cw 5s linear infinite; }
    .orbit-2 .planet-bubble { color: var(--neon-purple); }
    .orbit-2 .planet-gear { animation-direction: reverse; animation-duration: 7s; }
    .orbit-3 .planet-bubble { color: var(--star-gold); }
    .orbit-3 .planet-gear { animation-duration: 9s; }
    .planet-label { position: absolute; top: calc(50% + clamp(28px, 5%, 36px)); left: 50%; transform: translateX(-50%); white-space: nowrap; padding: 4px 10px; background: rgba(0,15,30,0.95); border: 1px solid currentColor; border-radius: 4px; font-family: 'Orbitron', sans-serif; font-size: 0.66rem; letter-spacing: 0.12em; color: inherit; opacity: 0; transition: opacity 0.25s; pointer-events: none; }
    .planet:hover .planet-label { opacity: 1; }
    .orbit-1 .planet-label { color: var(--neon-cyan); }
    .orbit-2 .planet-label { color: var(--neon-purple); }
    .orbit-3 .planet-label { color: var(--star-gold); }
    @keyframes spin-cw { to { transform: rotate(360deg); } }
    @keyframes spin-ccw { to { transform: rotate(-360deg); } }
    @media (max-width: 900px) { .hero-grid { grid-template-columns: 1fr; gap: 20px; } .hero-content { text-align: center; } .hero-tagline { margin-left: auto; margin-right: auto; } .hero-buttons { justify-content: center; } .hero-orbit-wrap { max-width: 92vw; order: 2; } }

    /* SATELLITE */
    .orbit-satellite { width: 108%; height: 108%; border: 1px dotted rgba(255,255,255,0.06); animation: orbit-spin 90s linear infinite reverse; }
    .satellite { position: absolute; top: 50%; left: 100%; width: 0; height: 0; text-decoration: none; }
    .satellite-body { position: absolute; transform: translate(-50%, -50%); width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #fff; filter: drop-shadow(0 0 8px var(--neon-cyan)); transition: transform 0.3s, filter 0.3s; }
    .satellite-body:hover { transform: translate(-50%, -50%) scale(1.3); filter: drop-shadow(0 0 18px var(--neon-cyan)); }
    .satellite-label { position: absolute; top: 32px; left: 50%; transform: translateX(-50%); white-space: nowrap; padding: 5px 12px; background: rgba(0,15,30,0.95); border: 1px solid var(--neon-cyan); border-radius: 4px; font-family: 'Orbitron', sans-serif; font-size: 0.62rem; letter-spacing: 0.18em; color: var(--neon-cyan); opacity: 0; transition: opacity 0.25s; pointer-events: none; }
    .satellite:hover .satellite-label { opacity: 1; }

    /* STATS */
    .stats-bar { padding: 50px 5%; background: rgba(255,255,255,0.02); border-top: 1px solid rgba(0,212,255,0.1); border-bottom: 1px solid rgba(0,212,255,0.1); }
    .stats-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 2rem; text-align: center; }
    .stat-num { font-family: 'Orbitron', sans-serif; font-size: 2.4rem; font-weight: 900; color: var(--neon-cyan); display: block; }
    .stat-label { font-size: 0.85rem; color: var(--text-sub); margin-top: 4px; letter-spacing: 0.08em; }

    /* SECTIONS */
    .section-header { text-align: center; margin-bottom: 70px; }
    .section-eyebrow { font-family: 'Orbitron', sans-serif; font-size: 0.75rem; letter-spacing: 0.3em; color: var(--neon-cyan); text-transform: uppercase; margin-bottom: 1rem; }
    .section-title { font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 700; background: linear-gradient(135deg, #fff 0%, #a0cfff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 1rem; }
    .section-sub { color: var(--text-sub); font-size: 1rem; max-width: 600px; margin: 0 auto; line-height: 1.8; }

    /* FEATURES */
    .features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.5rem; }
    .feature-card { padding: 36px 28px; background: rgba(255,255,255,0.03); border: 1px solid rgba(0,212,255,0.12); border-radius: 12px; transition: transform 0.3s, border-color 0.3s; }
    .feature-card:hover { transform: translateY(-6px); border-color: rgba(0,212,255,0.4); }
    .feature-icon { width: 56px; height: 56px; margin-bottom: 1.2rem; fill: none; stroke: var(--neon-cyan); stroke-width: 1.5; }
    .feature-title { font-size: 1.05rem; font-weight: 700; color: #fff; margin-bottom: 0.7rem; }
    .feature-desc { font-size: 0.88rem; color: var(--text-sub); line-height: 1.8; }

    .gear-svg { animation: spin-cw 8s linear infinite; transform-origin: center; }
    .gear-ccw { animation: spin-ccw 8s linear infinite; transform-origin: center; }
    .gear-slow { animation: spin-cw 14s linear infinite; transform-origin: center; }
    .gear-slow2 { animation: spin-ccw 12s linear infinite; transform-origin: center; }

    /* PRODUCTS */
    .products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem; margin-top: 60px; }
    .product-card { background: rgba(5,13,31,0.8); border: 1px solid rgba(0,212,255,0.12); border-radius: 14px; overflow: visible; position: relative; transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s; scroll-margin-top: 100px; }
    .product-card:hover { transform: translateY(-8px); border-color: rgba(0,212,255,0.5); box-shadow: 0 16px 50px rgba(0,212,255,0.1); }
    .product-card.flash-highlight { animation: flash-card 1.8s ease-out; }
    @keyframes flash-card { 0%,100% { box-shadow: 0 0 0 rgba(0,212,255,0); } 30% { box-shadow: 0 0 60px rgba(0,212,255,0.5); border-color: rgba(0,212,255,1); } }
    .product-card-header { padding: 28px 28px 0; display: flex; gap: 16px; }
    .product-gear-wrap { flex-shrink: 0; width: 64px; height: 64px; }
    .product-badge { display: inline-block; padding: 3px 10px; background: rgba(0,212,255,0.1); border: 1px solid rgba(0,212,255,0.3); border-radius: 20px; font-family: 'Orbitron', sans-serif; font-size: 0.65rem; color: var(--neon-cyan); letter-spacing: 0.1em; margin-bottom: 6px; }
    .product-name { font-size: 1.35rem; font-weight: 700; color: #fff; letter-spacing: 0.05em; }
    .product-name-cn { font-size: 0.8rem; color: var(--text-sub); margin-top: 2px; }
    .product-body { padding: 20px 28px 24px; }
    .product-specs { list-style: none; margin-top: 14px; display: flex; flex-direction: column; gap: 6px; }
    .product-specs li { display: flex; align-items: center; gap: 8px; font-size: 0.82rem; color: var(--text-sub); }
    .spec-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--neon-cyan); flex-shrink: 0; }
    .product-models { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.06); display: flex; flex-wrap: wrap; gap: 6px; }
    .model-tag { padding: 4px 10px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; font-family: 'Orbitron', sans-serif; font-size: 0.65rem; color: #8fa3b8; }

    /* APPLICATIONS */
    .app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem; margin-top: 60px; }
    .app-card { padding: 30px 20px; text-align: center; background: rgba(255,255,255,0.02); border: 1px solid rgba(168,85,247,0.15); border-radius: 12px; transition: transform 0.3s, border-color 0.3s; }
    .app-card:hover { transform: translateY(-4px); border-color: rgba(168,85,247,0.5); }
    .app-icon { font-size: 2.5rem; margin-bottom: 14px; }
    .app-name { font-size: 0.9rem; font-weight: 500; color: var(--text-main); margin-bottom: 6px; }
    .app-desc { font-size: 0.78rem; color: var(--text-sub); }

    /* HOW TO SELECT */
    .steps-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem; }
    .step-card { padding: 32px 24px; background: rgba(255,255,255,0.02); border: 1px solid rgba(0,212,255,0.1); border-radius: 12px; }
    .step-num { font-family: 'Orbitron', sans-serif; font-size: 3rem; font-weight: 900; color: rgba(0,212,255,0.12); line-height: 1; margin-bottom: 12px; }
    .step-title { font-size: 1rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
    .step-desc { font-size: 0.83rem; color: var(--text-sub); line-height: 1.7; }

    /* SELECTION CONFIGURATOR CTA */
    .selector-cta-wrap { text-align: center; margin-bottom: 60px; }
    .selector-cta { display: inline-flex; align-items: center; gap: 12px; padding: 18px 40px; background: linear-gradient(135deg, #0066cc 0%, #00aaff 50%, #00d4ff 100%); color: #fff; border: none; border-radius: 8px; font-family: 'Orbitron', sans-serif; font-size: clamp(0.85rem, 1.5vw, 1rem); letter-spacing: 0.2em; font-weight: 700; cursor: pointer; box-shadow: 0 6px 30px rgba(0,170,255,0.4); transition: transform 0.3s, box-shadow 0.3s, filter 0.3s; text-transform: uppercase; position: relative; overflow: hidden; }
    .selector-cta::before { content: '◉'; color: #00ff88; text-shadow: 0 0 10px #00ff88; animation: pulse-dot 1.5s ease-in-out infinite; }
    .selector-cta:hover { transform: translateY(-3px); box-shadow: 0 12px 40px rgba(0,212,255,0.6); filter: brightness(1.15); }
    .selector-cta::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); transform: translateX(-100%); transition: transform 0.6s; }
    .selector-cta:hover::after { transform: translateX(100%); }

    /* SELECTION MODAL */
    .selector-modal { position: fixed; inset: 0; z-index: 500; background: rgba(3,5,16,0.88); backdrop-filter: blur(10px); display: none; align-items: center; justify-content: center; padding: 20px; animation: modal-fade 0.3s ease; }
    .selector-modal.open { display: flex; }
    @keyframes modal-fade { from { opacity: 0; } to { opacity: 1; } }
    .selector-frame { position: relative; width: min(720px, 100%); max-height: 92vh; overflow-y: auto; background: linear-gradient(135deg, rgba(5,15,35,0.98), rgba(8,18,42,0.98)); border: 1px solid rgba(0,212,255,0.45); border-radius: 12px; padding: 42px 40px 36px; box-shadow: 0 0 80px rgba(0,212,255,0.15); animation: modal-pop 0.4s cubic-bezier(0.16,1,0.3,1); }
    @keyframes modal-pop { from { opacity: 0; transform: scale(0.92) translateY(20px); } to { opacity: 1; transform: scale(1) translateY(0); } }
    .selector-frame::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0, rgba(0,212,255,0.02) 1px, transparent 2px, transparent 4px); border-radius: 12px; }
    .selector-frame::-webkit-scrollbar { width: 6px; }
    .selector-frame::-webkit-scrollbar-thumb { background: rgba(0,212,255,0.4); border-radius: 3px; }
    .selector-close { position: absolute; top: 14px; right: 14px; background: transparent; border: 1px solid rgba(0,212,255,0.4); border-radius: 50%; width: 32px; height: 32px; color: var(--neon-cyan); cursor: pointer; font-size: 1.2rem; line-height: 1; display: flex; align-items: center; justify-content: center; transition: background 0.2s, transform 0.2s; z-index: 10; }
    .selector-close:hover { background: rgba(0,212,255,0.15); transform: rotate(90deg); }
    .selector-title { font-family: 'Orbitron', sans-serif; font-size: clamp(1.1rem, 2.5vw, 1.5rem); letter-spacing: 0.22em; font-weight: 900; background: linear-gradient(135deg, #fff 0%, #00d4ff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-align: center; margin-bottom: 6px; }
    .selector-subtitle { text-align: center; font-size: 0.65rem; letter-spacing: 0.32em; color: rgba(0,212,255,0.6); margin-bottom: 28px; }
    .field-group { margin-bottom: 22px; position: relative; z-index: 2; }
    .field-label { font-family: 'Orbitron', sans-serif; font-size: 0.68rem; letter-spacing: 0.22em; color: var(--neon-cyan); margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center; text-transform: uppercase; }
    .field-value { color: var(--star-gold); font-weight: 700; }
    .chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
    .chip { padding: 9px 14px; background: rgba(255,255,255,0.04); border: 1px solid rgba(0,212,255,0.2); border-radius: 6px; color: var(--text-sub); font-size: 0.82rem; cursor: pointer; transition: all 0.2s; user-select: none; }
    .chip:hover { color: var(--neon-cyan); border-color: rgba(0,212,255,0.5); }
    .chip.active { background: rgba(0,212,255,0.18); border-color: var(--neon-cyan); color: var(--neon-cyan); box-shadow: 0 0 14px rgba(0,212,255,0.35); }
    .slider { -webkit-appearance: none; appearance: none; width: 100%; height: 4px; background: rgba(0,212,255,0.15); border-radius: 2px; outline: none; }
    .slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; background: var(--neon-cyan); border: 2px solid #fff; border-radius: 50%; cursor: pointer; box-shadow: 0 0 10px var(--neon-cyan); }
    .slider::-moz-range-thumb { width: 18px; height: 18px; background: var(--neon-cyan); border: 2px solid #fff; border-radius: 50%; cursor: pointer; }
    .result-panel { margin-top: 30px; padding: 26px 22px 22px; background: linear-gradient(135deg, rgba(0,212,255,0.06), rgba(0,212,255,0.02)); border: 1px solid var(--neon-cyan); border-radius: 10px; position: relative; box-shadow: 0 0 30px rgba(0,212,255,0.1); }
    .result-panel::before { content: '▶ MATCH FOUND'; position: absolute; top: -10px; left: 18px; background: #050d1f; padding: 0 10px; font-family: 'Orbitron', sans-serif; font-size: 0.65rem; letter-spacing: 0.3em; color: #00ff88; text-shadow: 0 0 8px rgba(0,255,136,0.5); }
    .result-name { font-family: 'Orbitron', sans-serif; font-size: clamp(1.4rem, 3vw, 1.8rem); font-weight: 900; background: linear-gradient(135deg, #fff, #00d4ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 2px; }
    .result-cn { color: var(--text-sub); font-size: 0.88rem; margin-bottom: 14px; }
    .match-bar { height: 4px; background: rgba(0,212,255,0.1); border-radius: 2px; overflow: hidden; margin-bottom: 6px; }
    .match-bar-fill { height: 100%; width: 0; background: linear-gradient(90deg, var(--neon-cyan), #00ff88); box-shadow: 0 0 10px var(--neon-cyan); border-radius: 2px; transition: width 0.5s cubic-bezier(0.16,1,0.3,1); }
    .match-label { text-align: right; font-size: 0.7rem; letter-spacing: 0.18em; color: var(--text-sub); margin-bottom: 14px; font-family: 'Orbitron', sans-serif; }
    .match-label b { color: var(--neon-cyan); font-weight: 700; }
    .result-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px 14px; font-size: 0.8rem; color: var(--text-main); margin-bottom: 18px; padding: 14px; background: rgba(0,0,0,0.3); border-radius: 6px; }
    .result-stat .label { color: var(--text-sub); margin-right: 6px; }
    .result-stat .val { color: var(--neon-cyan); font-weight: 700; }
    .result-cta { display: inline-block; padding: 12px 28px; background: linear-gradient(135deg, #00d4ff, #0066cc); color: #fff; border-radius: 6px; text-decoration: none; font-family: 'Orbitron', sans-serif; font-size: 0.82rem; letter-spacing: 0.15em; font-weight: 700; transition: transform 0.2s, box-shadow 0.2s; }
    .result-cta:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,212,255,0.4); }
    .alt-recommendations { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(0,212,255,0.15); font-size: 0.76rem; color: var(--text-sub); }
    .alt-recommendations a { color: var(--neon-cyan); text-decoration: none; margin-right: 12px; }
    @media (max-width: 600px) { .selector-frame { padding: 32px 22px 28px; } .result-stats { grid-template-columns: 1fr; } }

    /* ─── WIZARD STEPPER ─── */
    .selector-frame.wiz { width: min(820px, 100%); }
    .wiz-steps { display: flex; align-items: center; justify-content: center; margin-bottom: 28px; gap: 4px; }
    .wiz-step { display: flex; flex-direction: column; align-items: center; gap: 6px; font-family: 'Orbitron', sans-serif; font-size: 0.6rem; letter-spacing: 0.18em; color: rgba(143,163,184,0.5); text-transform: uppercase; transition: color 0.3s; }
    .wiz-step-dot { width: 30px; height: 30px; border-radius: 50%; border: 2px solid rgba(0,212,255,0.2); background: rgba(0,0,0,0.4); display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.78rem; transition: all 0.3s; }
    .wiz-step.active { color: var(--neon-cyan); }
    .wiz-step.active .wiz-step-dot { border-color: var(--neon-cyan); color: var(--neon-cyan); box-shadow: 0 0 14px rgba(0,212,255,0.5); background: rgba(0,212,255,0.1); }
    .wiz-step.done { color: #00ff88; }
    .wiz-step.done .wiz-step-dot { border-color: #00ff88; color: #00ff88; background: rgba(0,255,136,0.15); }
    .wiz-step.done .wiz-step-dot::before { content: '✓'; }
    .wiz-step.done .wiz-step-dot .wiz-step-num { display: none; }
    .wiz-step-line { flex: 0 0 36px; height: 2px; background: rgba(0,212,255,0.15); margin: 0 -2px 22px; transition: background 0.3s; }
    .wiz-step-line.done { background: #00ff88; box-shadow: 0 0 6px #00ff88; }
    .wiz-page { display: none; min-height: 320px; }
    .wiz-page.active { display: block; animation: page-enter 0.4s cubic-bezier(0.16,1,0.3,1); }
    @keyframes page-enter { from { opacity: 0; transform: translateX(20px); } to { opacity: 1; transform: translateX(0); } }
    .page-title { font-family: 'Orbitron', sans-serif; font-size: 0.78rem; letter-spacing: 0.25em; color: var(--neon-cyan); margin-bottom: 6px; }
    .page-sub { font-size: 0.82rem; color: var(--text-sub); margin-bottom: 22px; }
    .choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
    .choice-card { padding: 18px 12px; background: rgba(255,255,255,0.03); border: 1px solid rgba(0,212,255,0.15); border-radius: 8px; text-align: center; cursor: pointer; transition: all 0.2s; position: relative; }
    .choice-card:hover { border-color: rgba(0,212,255,0.5); background: rgba(0,212,255,0.05); transform: translateY(-2px); }
    .choice-card.active { border-color: var(--neon-cyan); background: rgba(0,212,255,0.12); box-shadow: 0 0 18px rgba(0,212,255,0.3); }
    .choice-card.featured::after { content: '★ 推薦'; position: absolute; top: -6px; right: -4px; padding: 2px 8px; background: var(--star-gold); color: #050d1f; font-size: 0.55rem; font-family: 'Orbitron', sans-serif; letter-spacing: 0.12em; border-radius: 3px; font-weight: 700; }
    .choice-icon { font-size: 1.8rem; margin-bottom: 6px; }
    .choice-name { font-size: 0.85rem; color: var(--text-main); font-weight: 600; margin-bottom: 2px; }
    .choice-meta { font-size: 0.65rem; color: var(--text-sub); letter-spacing: 0.05em; font-family: 'Orbitron', sans-serif; }
    .wiz-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 26px; padding-top: 20px; border-top: 1px solid rgba(0,212,255,0.15); }
    .wiz-btn { padding: 11px 26px; background: transparent; border: 1px solid rgba(0,212,255,0.4); border-radius: 6px; color: var(--neon-cyan); font-family: 'Orbitron', sans-serif; font-size: 0.78rem; letter-spacing: 0.15em; cursor: pointer; transition: all 0.2s; }
    .wiz-btn:hover:not(:disabled) { background: rgba(0,212,255,0.1); box-shadow: 0 0 16px rgba(0,212,255,0.25); }
    .wiz-btn:disabled { opacity: 0.3; cursor: not-allowed; }
    .wiz-btn.primary { background: linear-gradient(135deg, #00d4ff, #0066cc); color: #fff; border: none; font-weight: 700; }
    .wiz-btn.primary:hover { filter: brightness(1.15); box-shadow: 0 6px 22px rgba(0,212,255,0.45); }
    .combo-row { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: rgba(0,212,255,0.04); border: 1px solid rgba(0,212,255,0.25); border-radius: 6px; margin-bottom: 10px; }
    .combo-row.gear { border-color: rgba(245,200,66,0.35); background: rgba(245,200,66,0.04); }
    .combo-icon { font-size: 1.8rem; flex-shrink: 0; }
    .combo-info { flex: 1; min-width: 0; }
    .combo-label { font-family: 'Orbitron', sans-serif; font-size: 0.6rem; letter-spacing: 0.22em; color: var(--text-sub); margin-bottom: 2px; }
    .combo-row.gear .combo-label { color: var(--star-gold); }
    .combo-name { font-family: 'Orbitron', sans-serif; font-size: 1.05rem; color: var(--neon-cyan); font-weight: 700; line-height: 1.2; }
    .combo-row.gear .combo-name { color: var(--star-gold); }
    .combo-spec { font-size: 0.74rem; color: var(--text-sub); margin-top: 3px; line-height: 1.5; }
    .combo-arrow { text-align: center; color: rgba(0,212,255,0.4); font-size: 1.4rem; margin: -4px 0; }
    .calc-breakdown { margin-top: 14px; padding: 14px 16px; background: rgba(0,0,0,0.35); border-left: 3px solid var(--star-gold); border-radius: 4px; font-size: 0.76rem; color: var(--text-sub); line-height: 1.9; font-family: 'Courier New', monospace; }
    .calc-breakdown .calc-title { font-family: 'Orbitron', sans-serif; font-size: 0.6rem; letter-spacing: 0.25em; color: var(--star-gold); margin-bottom: 8px; }
    .calc-line { display: flex; justify-content: space-between; align-items: baseline; }
    .calc-line .val { color: var(--neon-cyan); font-weight: 700; }
    .calc-line.result { color: #00ff88; font-weight: 700; padding-top: 6px; margin-top: 4px; border-top: 1px dashed rgba(0,212,255,0.2); }
    .calc-line.result .val { color: #00ff88; }
    .reason-list { margin-top: 14px; padding: 12px 16px; background: rgba(0,212,255,0.04); border-radius: 6px; font-size: 0.78rem; color: var(--text-main); line-height: 1.8; }
    .reason-list .reason-title { font-family: 'Orbitron', sans-serif; font-size: 0.6rem; letter-spacing: 0.25em; color: var(--neon-cyan); margin-bottom: 6px; }
    .reason-list ul { list-style: none; padding-left: 0; }
    .reason-list li::before { content: '◆ '; color: var(--neon-cyan); }
    @media (max-width: 600px) {
      .wiz-step span:last-child { display: none; }
      .wiz-step-line { flex: 1; margin: 0 -2px 0; }
      .wiz-btn { padding: 10px 16px; font-size: 0.7rem; }
      .choice-grid { grid-template-columns: repeat(2, 1fr); }
    }

    /* ─── DRAWING VIEW BUTTON ─── */
    .cad-btn { margin-top: 14px; width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 14px; background: linear-gradient(135deg, rgba(0,212,255,0.12), rgba(0,212,255,0.04)); border: 1px solid rgba(0,212,255,0.35); border-radius: 8px; color: var(--neon-cyan); font-family: 'Orbitron', sans-serif; font-size: 0.72rem; letter-spacing: 0.12em; cursor: pointer; transition: all 0.25s; }
    .cad-btn:hover { background: rgba(0,212,255,0.18); box-shadow: 0 0 18px rgba(0,212,255,0.3); transform: translateY(-2px); }
    .cad-btn svg { width: 16px; height: 16px; }

    /* ─── DRAWING LIGHTBOX ─── */
    .cad-modal { position: fixed; inset: 0; z-index: 600; background: rgba(2,4,12,0.95); backdrop-filter: blur(12px); display: none; flex-direction: column; animation: modal-fade 0.3s ease; }
    .cad-modal.open { display: flex; }
    .cad-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 28px; border-bottom: 1px solid rgba(0,212,255,0.2); flex-shrink: 0; }
    .cad-title { font-family: 'Orbitron', sans-serif; font-size: 1rem; letter-spacing: 0.18em; color: var(--neon-cyan); }
    .cad-title small { display: block; font-size: 0.62rem; color: var(--text-sub); letter-spacing: 0.2em; margin-top: 3px; }
    .cad-close { background: transparent; border: 1px solid rgba(0,212,255,0.4); border-radius: 50%; width: 38px; height: 38px; color: var(--neon-cyan); cursor: pointer; font-size: 1.4rem; line-height: 1; display: flex; align-items: center; justify-content: center; transition: all 0.2s; }
    .cad-close:hover { background: rgba(0,212,255,0.15); transform: rotate(90deg); }
    .cad-stage { flex: 1; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; background: repeating-linear-gradient(0deg, transparent 0, rgba(0,212,255,0.015) 1px, transparent 2px, transparent 30px), repeating-linear-gradient(90deg, transparent 0, rgba(0,212,255,0.015) 1px, transparent 2px, transparent 30px); cursor: grab; }
    .cad-stage.dragging { cursor: grabbing; }
    .cad-img { max-width: 92%; max-height: 92%; background: #fff; border-radius: 6px; box-shadow: 0 10px 50px rgba(0,0,0,0.6); transition: transform 0.15s ease-out; transform-origin: center center; user-select: none; -webkit-user-drag: none; }
    .cad-nav-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; background: rgba(3,8,20,0.8); border: 1px solid rgba(0,212,255,0.4); border-radius: 50%; color: var(--neon-cyan); font-size: 1.6rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.2s; z-index: 5; }
    .cad-nav-btn:hover { background: rgba(0,212,255,0.2); box-shadow: 0 0 20px rgba(0,212,255,0.4); }
    .cad-nav-btn.prev { left: 18px; }
    .cad-nav-btn.next { right: 18px; }
    .cad-zoom-controls { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; z-index: 5; background: rgba(3,8,20,0.85); border: 1px solid rgba(0,212,255,0.3); border-radius: 8px; padding: 6px; }
    .cad-zoom-controls button { width: 36px; height: 36px; background: transparent; border: none; color: var(--neon-cyan); font-size: 1.1rem; cursor: pointer; border-radius: 5px; transition: background 0.2s; display: flex; align-items: center; justify-content: center; }
    .cad-zoom-controls button:hover { background: rgba(0,212,255,0.15); }
    .cad-zoom-label { min-width: 56px; display: flex; align-items: center; justify-content: center; font-family: 'Orbitron', sans-serif; font-size: 0.72rem; color: var(--text-sub); }
    .cad-thumbs { display: flex; gap: 10px; padding: 14px 20px; overflow-x: auto; border-top: 1px solid rgba(0,212,255,0.2); flex-shrink: 0; justify-content: center; }
    .cad-thumb { flex-shrink: 0; width: 90px; height: 64px; border: 2px solid rgba(0,212,255,0.2); border-radius: 5px; overflow: hidden; cursor: pointer; background: #fff; transition: all 0.2s; position: relative; }
    .cad-thumb img { width: 100%; height: 100%; object-fit: cover; }
    .cad-thumb.active { border-color: var(--neon-cyan); box-shadow: 0 0 14px rgba(0,212,255,0.4); }
    .cad-thumb-label { position: absolute; bottom: 0; left: 0; right: 0; background: rgba(3,8,20,0.85); color: var(--neon-cyan); font-size: 0.55rem; text-align: center; padding: 2px; font-family: 'Orbitron', sans-serif; letter-spacing: 0.05em; }
    .cad-hint { position: absolute; top: 14px; left: 50%; transform: translateX(-50%); font-family: 'Orbitron', sans-serif; font-size: 0.6rem; letter-spacing: 0.18em; color: rgba(0,212,255,0.5); z-index: 5; pointer-events: none; }
    @media (max-width: 600px) { .cad-thumb { width: 64px; height: 48px; } .cad-nav-btn { width: 38px; height: 38px; font-size: 1.2rem; } .cad-title { font-size: 0.8rem; } }

    /* ─── FLOATING CONTACT BUTTONS (FAB) ─── */
    .fab-wrap { position: fixed; right: 20px; bottom: 24px; z-index: 120; display: flex; flex-direction: column; gap: 12px; align-items: center; }
    .fab { width: 52px; height: 52px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; border: none; box-shadow: 0 4px 18px rgba(0,0,0,0.4); transition: transform 0.25s, box-shadow 0.25s; position: relative; }
    .fab:hover { transform: translateY(-3px) scale(1.06); }
    .fab svg { width: 24px; height: 24px; }
    .fab-phone { background: linear-gradient(135deg, #00aaff, #0066cc); color: #fff; box-shadow: 0 4px 18px rgba(0,170,255,0.5); }
    .fab-line { background: #06C755; color: #fff; box-shadow: 0 4px 18px rgba(6,199,85,0.5); }
    .fab-mail { background: linear-gradient(135deg, #a855f7, #6d28d9); color: #fff; box-shadow: 0 4px 18px rgba(168,85,247,0.5); }
    .fab-top { background: rgba(3,8,20,0.9); border: 1px solid rgba(0,212,255,0.4); color: var(--neon-cyan); width: 44px; height: 44px; opacity: 0; pointer-events: none; transition: opacity 0.3s, transform 0.25s; }
    .fab-top.show { opacity: 1; pointer-events: auto; }
    .fab-tip { position: absolute; right: 62px; top: 50%; transform: translateY(-50%); white-space: nowrap; background: rgba(3,8,20,0.95); border: 1px solid rgba(0,212,255,0.35); color: var(--text-main); font-size: 0.78rem; padding: 6px 12px; border-radius: 6px; opacity: 0; pointer-events: none; transition: opacity 0.2s; }
    .fab:hover .fab-tip { opacity: 1; }
    .fab-pulse::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 2px solid currentColor; animation: fab-ping 2s ease-out infinite; }
    @keyframes fab-ping { 0% { transform: scale(1); opacity: 0.6; } 100% { transform: scale(1.6); opacity: 0; } }
    @media (max-width: 600px) { .fab-wrap { right: 14px; bottom: 16px; } .fab { width: 48px; height: 48px; } }

    /* ─── SUCCESS TOAST ─── */
    .toast { position: fixed; top: 90px; left: 50%; transform: translateX(-50%) translateY(-20px); z-index: 700; background: linear-gradient(135deg, rgba(0,40,20,0.97), rgba(0,60,30,0.97)); border: 1px solid #00ff88; border-radius: 10px; padding: 18px 28px; color: #fff; font-size: 0.95rem; box-shadow: 0 8px 40px rgba(0,255,136,0.25); opacity: 0; pointer-events: none; transition: opacity 0.4s, transform 0.4s; display: flex; align-items: center; gap: 12px; }
    .toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
    .toast .toast-icon { color: #00ff88; font-size: 1.4rem; }

    /* CONTACT */
    .contact-inner { max-width: 700px; margin: 0 auto; }
    .contact-card { margin-top: 50px; padding: 50px 40px; background: rgba(5,13,31,0.9); border: 1px solid rgba(0,212,255,0.2); border-radius: 16px; backdrop-filter: blur(20px); }
    .contact-placeholder { margin-top: 20px; padding: 20px; border: 1px dashed rgba(0,212,255,0.25); border-radius: 8px; color: var(--text-sub); font-size: 0.9rem; line-height: 2; }
    .form-input { width: 100%; padding: 14px 18px; background: rgba(255,255,255,0.04); border: 1px solid rgba(0,212,255,0.15); border-radius: 8px; color: #fff; font-size: 0.9rem; outline: none; transition: border-color 0.3s; font-family: inherit; }
    .form-input:focus { border-color: rgba(0,212,255,0.5); }

    /* FOOTER */
    footer { position: relative; z-index: 1; padding: 60px 5% 40px; border-top: 1px solid rgba(255,255,255,0.06); }
    .footer-grid { max-width: 1200px; margin: 0 auto 36px; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 30px; }
    .footer-col h4 { font-family: 'Orbitron', sans-serif; font-size: 0.78rem; letter-spacing: 0.18em; color: var(--neon-cyan); margin-bottom: 16px; text-transform: uppercase; }
    .footer-col ul { list-style: none; }
    .footer-col li { margin-bottom: 8px; }
    .footer-col a { color: var(--text-sub); text-decoration: none; font-size: 0.85rem; }
    .footer-col a:hover { color: var(--neon-cyan); }
    .footer-logo { font-family: 'Orbitron', sans-serif; font-size: 1.1rem; color: var(--neon-cyan); letter-spacing: 0.15em; margin-bottom: 8px; }
    .footer-social { display: flex; gap: 10px; margin-top: 8px; }
    .footer-social a { width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(0,212,255,0.3); border-radius: 50%; color: var(--neon-cyan); transition: background 0.2s, transform 0.2s; }
    .footer-social a:hover { background: rgba(0,212,255,0.1); transform: translateY(-2px); }
    .footer-bottom { max-width: 1200px; margin: 0 auto; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.06); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; font-size: 0.75rem; color: rgba(143,163,184,0.6); }

    /* HUD BOOT */
    #hud-boot { position: fixed; inset: 0; z-index: 9999; background: #030510; display: flex; align-items: center; justify-content: center; font-family: 'Orbitron', sans-serif; color: var(--neon-cyan); animation: boot-disappear 0.5s 2.6s forwards; }
    @keyframes boot-disappear { to { opacity: 0; visibility: hidden; pointer-events: none; } }
    #hud-boot::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0, rgba(0,212,255,0.04) 1px, transparent 2px, transparent 4px); }
    .boot-frame { position: relative; width: min(640px, 92vw); padding: 50px 44px; border: 1px solid rgba(0,212,255,0.25); background: rgba(3,8,20,0.7); box-shadow: 0 0 60px rgba(0,212,255,0.1); }
    .boot-corner { position: absolute; width: 24px; height: 24px; border: 2px solid var(--neon-cyan); }
    .boot-corner.tl { top: -2px; left: -2px; border-right: none; border-bottom: none; }
    .boot-corner.tr { top: -2px; right: -2px; border-left: none; border-bottom: none; }
    .boot-corner.bl { bottom: -2px; left: -2px; border-right: none; border-top: none; }
    .boot-corner.br { bottom: -2px; right: -2px; border-left: none; border-top: none; }
    .boot-logo { font-size: clamp(1.3rem, 4vw, 1.9rem); font-weight: 900; letter-spacing: 0.3em; text-align: center; margin-bottom: 4px; background: linear-gradient(135deg, #fff, #00d4ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
    .boot-subtitle { text-align: center; font-size: 0.62rem; letter-spacing: 0.32em; color: rgba(0,212,255,0.6); margin-bottom: 26px; }
    .boot-progress { width: 100%; height: 3px; background: rgba(0,212,255,0.08); margin-bottom: 22px; position: relative; overflow: hidden; }
    .boot-progress-bar { position: absolute; inset: 0; width: 0; background: linear-gradient(90deg, transparent, var(--neon-cyan), #fff, var(--neon-cyan)); box-shadow: 0 0 10px var(--neon-cyan); animation: boot-load 2.2s ease-out forwards; }
    @keyframes boot-load { to { width: 100%; } }
    .boot-log { font-family: 'Courier New', monospace; font-size: 0.74rem; min-height: 130px; color: rgba(0,212,255,0.85); line-height: 1.7; }
    .log-line { opacity: 0; animation: log-appear 0.3s forwards; }
    .log-line .ok { color: #00ff88; }
    @keyframes log-appear { to { opacity: 1; } }
    .boot-status { text-align: center; margin-top: 18px; font-size: 0.76rem; letter-spacing: 0.3em; color: var(--star-gold); }
    .boot-status.online { color: #00ff88; text-shadow: 0 0 12px rgba(0,255,136,0.7); }

    /* HUD CORNERS / TELEMETRY */
    .hud-corner-wrap { position: fixed; inset: 0; z-index: 90; pointer-events: none; }
    .hud-corner { position: absolute; width: 26px; height: 26px; border: 1px solid rgba(0,212,255,0.4); }
    .hud-corner.tl { top: 86px; left: 16px; border-right: none; border-bottom: none; }
    .hud-corner.tr { top: 86px; right: 16px; border-left: none; border-bottom: none; }
    .hud-corner.bl { bottom: 16px; left: 16px; border-right: none; border-top: none; }
    .hud-corner.br { bottom: 16px; right: 16px; border-left: none; border-top: none; }
    .hud-telemetry { position: fixed; z-index: 90; font-family: 'Orbitron', sans-serif; font-size: 0.62rem; letter-spacing: 0.18em; color: rgba(0,212,255,0.5); pointer-events: none; text-transform: uppercase; line-height: 1.7; }
    .hud-telemetry.bl { bottom: 22px; left: 50px; }
    .hud-telemetry.br { bottom: 22px; right: 50px; text-align: right; }
    .hud-telemetry .ok-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #00ff88; margin-right: 6px; box-shadow: 0 0 8px #00ff88; animation: pulse-dot 1.5s ease-in-out infinite; }
    .hud-telemetry .ok { color: #00ff88; }
    @keyframes pulse-dot { 0%,100% { opacity: 1; } 50% { opacity: 0.4; } }
    .scanlines { position: fixed; inset: 0; z-index: 95; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0, rgba(0,212,255,0.012) 1px, transparent 2px, transparent 3px); }
    .hero-data { position: absolute; font-family: 'Orbitron', sans-serif; font-size: 0.6rem; letter-spacing: 0.18em; color: rgba(0,212,255,0.55); text-transform: uppercase; pointer-events: none; z-index: 4; line-height: 1.7; }
    .hero-data b { color: var(--star-gold); font-weight: 700; }
    .hero-data.top { top: 90px; left: 6%; }
    .hero-data.bottom { bottom: 80px; right: 6%; text-align: right; }
    @media (max-width: 900px) { .hero-data { display: none; } }
    @media (max-width: 768px) { .hud-corner { display: none; } .hud-telemetry.bl { left: 10px; } .hud-telemetry.br { right: 10px; } }

    /* TARGETING / FLASH */
    .targeting-overlay { position: fixed; inset: 0; z-index: 200; pointer-events: none; display: flex; flex-direction: column; align-items: center; justify-content: center; }
    .target-circle { width: 240px; height: 240px; border: 2px solid var(--neon-cyan); border-radius: 50%; position: relative; animation: target-ring 0.9s ease-out forwards; box-shadow: 0 0 40px rgba(0,212,255,0.4); }
    .target-circle::before, .target-circle::after { content: ''; position: absolute; background: var(--neon-cyan); box-shadow: 0 0 4px var(--neon-cyan); }
    .target-circle::before { left: 50%; top: -28px; bottom: -28px; width: 1px; transform: translateX(-50%); }
    .target-circle::after { top: 50%; left: -28px; right: -28px; height: 1px; transform: translateY(-50%); }
    @keyframes target-ring { 0% { transform: scale(2.6); opacity: 0; } 35% { transform: scale(1); opacity: 1; } 100% { transform: scale(0.7); opacity: 0; } }
    .target-text { position: absolute; margin-top: 320px; font-family: 'Orbitron', sans-serif; font-size: clamp(0.8rem, 1.5vw, 1rem); letter-spacing: 0.25em; color: var(--neon-cyan); text-shadow: 0 0 12px var(--neon-cyan); animation: target-text 0.9s ease-out forwards; }
    .target-text::before { content: '> '; color: var(--star-gold); }
    @keyframes target-text { 0% { opacity: 0; transform: translateY(8px); } 30% { opacity: 1; transform: translateY(0); } 85% { opacity: 1; } 100% { opacity: 0; } }
    .card-brackets { position: absolute; inset: -4px; pointer-events: none; opacity: 0; }
    .cb { position: absolute; width: 18px; height: 18px; border: 2px solid var(--neon-cyan); box-shadow: 0 0 8px var(--neon-cyan); }
    .cb.tl { top: 0; left: 0; border-right: none; border-bottom: none; }
    .cb.tr { top: 0; right: 0; border-left: none; border-bottom: none; }
    .cb.bl { bottom: 0; left: 0; border-right: none; border-top: none; }
    .cb.br { bottom: 0; right: 0; border-left: none; border-top: none; }
    .product-card.flash-highlight .card-brackets { animation: brackets-show 1.8s ease-out; }
    @keyframes brackets-show { 0% { opacity: 0; transform: scale(1.3); } 25% { opacity: 1; transform: scale(1); } 100% { opacity: 0; } }

    /* ACCESSIBILITY */
    a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid var(--neon-cyan); outline-offset: 3px; }
    @media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } html { scroll-behavior: auto !important; } #starfield,#shooting-stars,#hud-boot { display: none; }
      /* 關閉動效時，內容不得依賴捲動淡入才顯示 */
      .feature-card,.product-card,.app-card,.step-card { opacity: 1 !important; transform: none !important; }
    }

    @media (max-width: 768px) { .contact-card { padding: 32px 20px; } }


/* ══════════════════════════════════════════════
   子頁（產品型錄 / 產品詳細）— 白底、大字、好讀
   ══════════════════════════════════════════════ */
body.page-light { background: var(--lt-bg); color: var(--lt-text); }
body.page-light > nav { background: rgba(6,12,26,0.97); }
body.page-light .nav-links a.on { color: var(--neon-cyan); }
body.page-light .nav-links a.on::after { transform: scaleX(1); }

/* 產品照容器：改純白，與去背照片同色，不再出現淡藍色塊 */
.prod-photo, .cat-photo { background: #fff !important; }

/* 頁首 */
.page-hero { background: linear-gradient(180deg,#f4f7fa 0%,#fff 100%); border-bottom:1px solid var(--lt-line); padding:110px 5% 46px; }
.page-hero-inner { max-width:1300px; margin:0 auto; }
.page-hero h1 { font-size: clamp(1.7rem,3.4vw,2.6rem); font-weight:900; color:var(--lt-text); margin:10px 0 12px; letter-spacing:0.01em; }
.page-hero p { color:var(--lt-text-sub); font-size:1.02rem; line-height:1.9; max-width:820px; }
.page-hero p b { color:var(--brand-orange); }
.page-hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }

/* 麵包屑也是 <nav>，需覆寫全域 nav 的 fixed 樣式 */
.crumb { position:static; height:auto; padding:0; background:none; backdrop-filter:none; border:none; box-shadow:none; z-index:auto; justify-content:flex-start;
         display:flex; align-items:center; gap:8px; font-size:0.85rem; color:var(--lt-text-sub); }
.crumb a { color:var(--brand-blue); text-decoration:none; }
.crumb a:hover { text-decoration:underline; }
.crumb span { opacity:0.5; }
.crumb b { color:var(--lt-text); font-weight:700; }

/* 按鈕 */
.btn-solid { display:inline-block; padding:13px 28px; background:var(--brand-orange); color:#fff; border:none; border-radius:8px; text-decoration:none; font-weight:800; font-size:0.95rem; cursor:pointer; font-family:inherit; transition:background .2s, transform .2s, box-shadow .2s; box-shadow:0 4px 16px rgba(239,125,26,.28); }
.btn-solid:hover { background:var(--brand-orange-dk); transform:translateY(-2px); box-shadow:0 8px 24px rgba(239,125,26,.38); }
.btn-ghost { display:inline-block; padding:13px 26px; background:#fff; color:var(--brand-blue); border:1.5px solid var(--brand-blue); border-radius:8px; text-decoration:none; font-weight:700; font-size:0.95rem; cursor:pointer; font-family:inherit; transition:background .2s,color .2s,transform .2s; }
.btn-ghost:hover { background:var(--brand-blue); color:#fff; transform:translateY(-2px); }

/* 分類篩選 */
.filter-bar { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:34px; }
.filt { padding:10px 20px; background:#fff; border:1.5px solid var(--lt-line); border-radius:30px; color:var(--lt-text-sub); font-size:0.92rem; font-weight:600; cursor:pointer; font-family:inherit; transition:all .2s; }
.filt em { font-style:normal; opacity:.6; font-size:.82rem; margin-left:4px; }
.filt:hover { border-color:var(--brand-blue); color:var(--brand-blue); }
.filt.on { background:var(--brand-blue); border-color:var(--brand-blue); color:#fff; }
.filt.on em { opacity:.85; }

/* 型錄卡 */
.cat-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:24px; }
.cat-card { display:flex; flex-direction:column; background:#fff; border:1px solid var(--lt-line); border-radius:14px; overflow:hidden; text-decoration:none; box-shadow:0 2px 10px rgba(20,40,70,.06); transition:transform .28s, box-shadow .28s, border-color .28s; }
.cat-card:hover { transform:translateY(-7px); border-color:var(--brand-blue); box-shadow:0 20px 46px rgba(10,104,184,.16); }
.cat-card.is-hero { border:2px solid var(--brand-orange); box-shadow:0 6px 24px rgba(239,125,26,.16); }
.cat-card.is-hero:hover { box-shadow:0 22px 50px rgba(239,125,26,.26); }
.cat-photo { position:relative; padding:26px 20px; text-align:center; border-bottom:1px solid var(--lt-line); }
.cat-photo img { width:100%; max-width:280px; height:165px; object-fit:contain; }
.cat-body { padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
.cat-name { font-size:1.42rem; font-weight:900; color:var(--lt-text); }
.cat-cn { font-size:.9rem; color:var(--lt-text-sub); margin:2px 0 12px; }
.cat-feats { list-style:none; display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.cat-feats li { font-size:.86rem; color:#3c4b60; line-height:1.6; padding-left:16px; position:relative; }
.cat-feats li::before { content:''; position:absolute; left:0; top:.55em; width:6px; height:6px; border-radius:50%; background:var(--brand-orange); }
.cat-models { display:flex; flex-wrap:wrap; gap:6px; padding-top:14px; border-top:1px solid var(--lt-line); margin-bottom:14px; }
.cat-more { margin-top:auto; color:var(--brand-blue); font-weight:800; font-size:.92rem; }
.cat-card:hover .cat-more { text-decoration:underline; }

/* 底部行動帶 */
.cta-band { background:linear-gradient(135deg,#0a68b8,#084d88); color:#fff; padding:46px 5%; display:flex; align-items:center; justify-content:center; gap:34px; flex-wrap:wrap; text-align:center; }
.cta-band h3 { font-size:1.4rem; font-weight:800; margin-bottom:6px; }
.cta-band p { opacity:.92; font-size:.96rem; }
.cta-band-btns { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.cta-band .btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.7); }
.cta-band .btn-ghost:hover { background:#fff; color:var(--brand-blue); }

/* 子頁頁尾 */
.sub-footer { background:var(--lt-bg-alt); border-top:1px solid var(--lt-line); padding:56px 5% 34px; }
.sub-footer .footer-logo { color:var(--brand-blue); }
.sub-footer .footer-col h4 { color:var(--lt-text); border-bottom:2px solid var(--brand-orange); display:inline-block; padding-bottom:5px; }
.sub-footer .footer-col a { color:var(--lt-text-sub); }
.sub-footer .footer-col a:hover { color:var(--brand-blue); }
.sub-footer .footer-bottom { border-top-color:var(--lt-line); color:var(--lt-text-sub); }

/* ── 產品詳細頁 ── */
.pd-hero { background:linear-gradient(180deg,#f4f7fa 0%,#fff 100%); border-bottom:1px solid var(--lt-line); padding:104px 5% 50px; }
.pd-hero-inner { max-width:1240px; margin:0 auto; }
.pd-hero-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:44px; align-items:center; margin-top:20px; }
.pd-photo { background:#fff; border:1px solid var(--lt-line); border-radius:14px; padding:26px; text-align:center; box-shadow:0 4px 20px rgba(20,40,70,.07); }
.pd-photo img { width:100%; max-width:520px; height:auto; object-fit:contain; }
.hero-badge { display:inline-block; background:var(--brand-orange); color:#fff; font-size:.74rem; font-weight:800; padding:5px 14px; border-radius:20px; letter-spacing:.06em; }
.kind-badge { display:inline-block; background:rgba(10,104,184,.1); color:var(--brand-blue); border:1px solid rgba(10,104,184,.3); font-size:.74rem; font-weight:700; padding:5px 14px; border-radius:20px; }
.pd-intro h1 { font-size:clamp(2rem,4.4vw,3rem); font-weight:900; color:var(--lt-text); margin:12px 0 2px; letter-spacing:.01em; }
.pd-cn { font-size:1.08rem; color:var(--lt-text-sub); margin-bottom:14px; }
.hero-note { background:rgba(239,125,26,.08); border-left:3px solid var(--brand-orange); padding:11px 15px; border-radius:5px; font-size:.9rem; color:#5a4326; margin-bottom:18px; }
.pd-quick { display:flex; flex-wrap:wrap; gap:10px 30px; margin-bottom:24px; }
.pd-quick div { min-width:120px; }
.pd-quick dt { font-size:.72rem; letter-spacing:.14em; color:var(--lt-text-sub); font-family:'Orbitron',sans-serif; margin-bottom:3px; }
.pd-quick dd { font-size:.98rem; font-weight:700; color:var(--lt-text); }
.pd-actions { display:flex; gap:11px; flex-wrap:wrap; }
@media (max-width:860px){ .pd-hero-grid{ grid-template-columns:1fr; gap:26px; } }

.pd-sec { padding:64px 5%; }
.pd-sec.alt { background:var(--lt-bg-alt); }
.pd-wrap { max-width:1240px; margin:0 auto; }
.pd-sec h2 { font-size:1.5rem; font-weight:900; color:var(--lt-text); margin-bottom:8px; padding-left:14px; border-left:5px solid var(--brand-orange); line-height:1.2; }
.pd-lead { color:var(--lt-text-sub); font-size:.96rem; line-height:1.9; margin:12px 0 20px; }
.pd-lead a { color:var(--brand-blue); font-weight:700; }
.pd-cols { display:grid; grid-template-columns:1fr 1fr; gap:44px; }
@media (max-width:860px){ .pd-cols{ grid-template-columns:1fr; gap:34px; } }
.pd-feats { list-style:none; margin-top:18px; display:flex; flex-direction:column; gap:11px; }
.pd-feats li { font-size:.95rem; color:#3c4b60; line-height:1.8; padding-left:26px; position:relative; }
.pd-feats li::before { content:'✓'; position:absolute; left:0; top:0; color:var(--brand-orange); font-weight:900; }
.pd-table { width:100%; border-collapse:collapse; margin-top:18px; background:#fff; border:1px solid var(--lt-line); border-radius:8px; overflow:hidden; }
.pd-table th, .pd-table td { padding:13px 16px; text-align:left; font-size:.92rem; border-bottom:1px solid var(--lt-line); vertical-align:top; }
.pd-table th { background:#eef3f8; color:var(--lt-text); font-weight:700; width:32%; white-space:nowrap; }
.pd-table td { color:#3c4b60; line-height:1.7; }
.pd-table tr:last-child th, .pd-table tr:last-child td { border-bottom:none; }
.spec-disclaimer { font-size:.82rem; color:var(--lt-text-sub); margin-top:14px; line-height:1.8; }

.code-strip { font-family:'Orbitron',sans-serif; font-size:clamp(.9rem,2.1vw,1.32rem); font-weight:700; color:#fff; background:linear-gradient(135deg,#16202e,#2b3a4f); padding:20px 24px; border-radius:10px; letter-spacing:.05em; overflow-x:auto; white-space:nowrap; }
.code-legend { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; margin-top:16px; }
.code-legend div { background:#fff; border:1px solid var(--lt-line); border-radius:8px; padding:13px 15px; font-size:.86rem; color:#3c4b60; line-height:1.6; }
.code-legend b { display:block; color:var(--brand-blue); font-size:.76rem; letter-spacing:.1em; margin-bottom:4px; }

.draw-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:18px; }
.draw-cell { position:relative; background:#fff; border:1px solid var(--lt-line); border-radius:10px; padding:0; overflow:hidden; cursor:pointer; transition:border-color .2s, box-shadow .2s, transform .2s; }
.draw-cell:hover { border-color:var(--brand-blue); box-shadow:0 10px 28px rgba(10,104,184,.15); transform:translateY(-3px); }
.draw-cell img { width:100%; height:180px; object-fit:cover; object-position:top; display:block; background:#fff; }
.draw-cell span { display:block; padding:10px; font-size:.84rem; font-weight:700; color:var(--brand-blue); border-top:1px solid var(--lt-line); }

.cad-request { margin-top:26px; background:#fff; border:1px dashed var(--brand-blue); border-radius:12px; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.cad-request b { display:block; color:var(--lt-text); font-size:1rem; margin-bottom:4px; }
.cad-request span { color:var(--lt-text-sub); font-size:.88rem; }

.rel-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:14px; margin-top:18px; }
.rel-card { display:flex; align-items:center; gap:14px; background:#fff; border:1px solid var(--lt-line); border-radius:10px; padding:12px 14px; text-decoration:none; transition:border-color .2s, transform .2s, box-shadow .2s; }
.rel-card:hover { border-color:var(--brand-blue); transform:translateY(-3px); box-shadow:0 8px 22px rgba(10,104,184,.12); }
.rel-card img { width:76px; height:56px; object-fit:contain; flex-shrink:0; }
.rel-card b { display:block; color:var(--lt-text); font-size:1rem; }
.rel-card span { color:var(--lt-text-sub); font-size:.79rem; }

/* ══════════════════════════════════════════════
   首頁主視覺：軌道系統 + SHL 實機核心
   ══════════════════════════════════════════════ */
.core-shl {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  z-index:6; width:clamp(140px, 27%, 250px); text-decoration:none;
  display:flex; flex-direction:column; align-items:center;
  animation:core-float 7s ease-in-out infinite;
}
@keyframes core-float {
  0%,100% { transform:translate(-50%,-50%) translateY(0); }
  50%     { transform:translate(-50%,-50%) translateY(-10px); }
}
.core-shl img {
  width:100%; height:auto; display:block; position:relative; z-index:2;
  filter:drop-shadow(0 20px 38px rgba(0,0,0,.65)) drop-shadow(0 0 26px rgba(0,190,255,.34));
  transition:filter .35s, transform .35s;
}
.core-shl:hover img {
  filter:drop-shadow(0 24px 46px rgba(0,0,0,.7)) drop-shadow(0 0 40px rgba(0,220,255,.6));
  transform:scale(1.04);
}
.core-halo {
  position:absolute; top:50%; left:50%; width:170%; aspect-ratio:1;
  transform:translate(-50%,-50%); border-radius:50%; z-index:1; pointer-events:none;
  background:radial-gradient(circle, rgba(0,180,255,.34) 0%, rgba(0,120,220,.16) 40%, transparent 68%);
  filter:blur(16px); animation:halo-pulse 5s ease-in-out infinite;
}
@keyframes halo-pulse {
  0%,100% { transform:translate(-50%,-50%) scale(1);    opacity:.85; }
  50%     { transform:translate(-50%,-50%) scale(1.12); opacity:1; }
}
.core-tag {
  position:relative; z-index:3; margin-top:8px; white-space:nowrap;
  font-family:'Orbitron',sans-serif; font-size:.68rem; letter-spacing:.16em;
  color:#fff; background:rgba(4,12,28,.82); border:1px solid rgba(0,212,255,.4);
  border-radius:20px; padding:5px 14px; backdrop-filter:blur(6px);
  box-shadow:0 0 18px rgba(0,212,255,.25);
}
.core-tag b { color:var(--star-gold); font-weight:700; margin-left:5px; }
.core-shl:hover .core-tag { border-color:var(--neon-cyan); box-shadow:0 0 26px rgba(0,212,255,.5); }
@media (max-width:900px){ .core-tag { font-size:.6rem; padding:4px 10px; } }

/* ══════════════════════════════════════════════
   （舊）SHL 精密展示台 — 保留樣式備用
   ══════════════════════════════════════════════ */
.shl-stage { position:relative; width:100%; aspect-ratio:1/1; max-width:640px; margin:0 auto;
             display:flex; align-items:center; justify-content:center;
             animation:stage-in 1.2s .35s cubic-bezier(.16,1,.3,1) backwards; }
@keyframes stage-in { from{opacity:0; transform:scale(.9);} to{opacity:1; transform:scale(1);} }

.prec-dial { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.dial-spin { transform-origin:220px 220px; animation:dial 64s linear infinite; }
.dial-spin-rev { transform-origin:220px 220px; animation:dial 44s linear infinite reverse; }
@keyframes dial { to { transform:rotate(360deg); } }

.shl-glow { position:absolute; width:56%; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, rgba(0,170,255,.30) 0%, rgba(0,120,220,.14) 42%, transparent 70%);
  filter:blur(14px); animation:glow-pulse 5s ease-in-out infinite; }
@keyframes glow-pulse { 0%,100%{ transform:scale(1); opacity:.85; } 50%{ transform:scale(1.1); opacity:1; } }

.shl-shot { position:relative; z-index:3; width:auto; height:74%; max-width:62%; object-fit:contain;
  filter:drop-shadow(0 24px 42px rgba(0,0,0,.6)) drop-shadow(0 0 26px rgba(0,180,255,.24));
  animation:shot-float 7s ease-in-out infinite; }
@keyframes shot-float { 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }

/* 掃描線：由上往下掠過，強化「量測 / 檢驗」的精密感 */
.scan-sweep { position:absolute; z-index:4; left:18%; right:18%; height:2px; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(0,229,255,.9), transparent);
  box-shadow:0 0 14px rgba(0,229,255,.8); animation:sweep 4.6s ease-in-out infinite; }
@keyframes sweep { 0%{ top:16%; opacity:0; } 12%{ opacity:1; } 88%{ opacity:1; } 100%{ top:84%; opacity:0; } }

/* 規格指標線 */
.callouts { list-style:none; position:absolute; inset:0; z-index:5; pointer-events:none; }
.co { position:absolute; display:flex; align-items:center; gap:0;
      opacity:0; animation:co-in .7s forwards; }
@keyframes co-in { from{opacity:0; transform:translateX(-8px);} to{opacity:1; transform:translateX(0);} }
.co-dot { width:8px; height:8px; border-radius:50%; background:var(--neon-cyan); flex-shrink:0;
          box-shadow:0 0 0 4px rgba(0,212,255,.18), 0 0 12px var(--neon-cyan); }
.co-line { height:1px; width:52px; background:linear-gradient(90deg, var(--neon-cyan), rgba(0,212,255,.15)); flex-shrink:0; }
.co-tx { font-size:.72rem; line-height:1.45; color:#cfe4f5; white-space:nowrap;
         background:rgba(4,10,24,.72); border:1px solid rgba(0,212,255,.22); border-left:2px solid var(--neon-cyan);
         padding:6px 11px; border-radius:5px; backdrop-filter:blur(6px); }
.co-tx b { display:block; color:#fff; font-family:'Orbitron',sans-serif; font-size:.76rem; letter-spacing:.04em; margin-bottom:2px; }

/* 左側指標：線在右、文字在左 */
.co.left { flex-direction:row-reverse; }
.co.left .co-line { background:linear-gradient(270deg, var(--neon-cyan), rgba(0,212,255,.15)); }
.co.left .co-tx { border-left:1px solid rgba(0,212,255,.22); border-right:2px solid var(--neon-cyan); }

.co-1 { top:20%; left:63%; animation-delay:1.15s; }
.co-2 { top:41%; left:66%; animation-delay:1.35s; }
.co-3 { top:60%; left:63%; animation-delay:1.55s; }
.co-4 { top:79%; left:58%; animation-delay:1.75s; }

@media (max-width:1080px){ .co-tx{ font-size:.66rem; } .co-line{ width:32px; } }
@media (max-width:900px){
  .shl-stage { max-width:min(88vw,460px); }
  .callouts { display:none; }              /* 手機：避免指標線壓到產品 */
  .shl-shot { height:78%; max-width:72%; }
}

/* ── 產品頁：側邊分類 ── */
.cat-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:38px;
              max-width:1400px; margin:0 auto; padding:44px 5% 90px; align-items:start; }
.cat-side { position:sticky; top:92px; }
.sb-title { font-family:'Orbitron',sans-serif; font-size:.72rem; letter-spacing:.22em; color:var(--brand-blue);
            padding-bottom:10px; border-bottom:2px solid var(--brand-orange); margin-bottom:14px; }
.sb-list { list-style:none; }
.sb-cat { border-bottom:1px solid var(--lt-line); }
.sb-head { display:flex; align-items:center; justify-content:space-between; gap:8px;
           padding:13px 4px; text-decoration:none; color:var(--lt-text); font-weight:800; font-size:1rem;
           transition:color .2s; }
.sb-head:hover { color:var(--brand-blue); }
.sb-head em { font-style:normal; font-size:.72rem; font-weight:700; color:var(--lt-text-sub);
              background:#eef3f8; border-radius:20px; padding:2px 9px; }
.sb-sub { list-style:none; padding:0 0 12px 10px; }
.sb-sub li { margin-bottom:5px; }
.sb-sub a { color:var(--lt-text-sub); text-decoration:none; font-size:.86rem; display:block; padding:3px 0 3px 12px;
            border-left:2px solid var(--lt-line); transition:all .18s; }
.sb-sub a:hover { color:var(--brand-orange); border-left-color:var(--brand-orange); padding-left:16px; }
.sb-help { margin-top:22px; background:var(--lt-bg-alt); border:1px solid var(--lt-line); border-radius:10px; padding:16px; }
.sb-help b { display:block; color:var(--lt-text); font-size:.92rem; margin-bottom:5px; }
.sb-help span { display:block; color:var(--lt-text-sub); font-size:.8rem; line-height:1.7; margin-bottom:12px; }
.sb-help .btn-solid { display:block; text-align:center; padding:10px; font-size:.86rem; }

.cat-main { min-width:0; }
.cat-sec { margin-bottom:56px; scroll-margin-top:92px; }
.cat-head { margin-bottom:22px; padding-bottom:12px; border-bottom:2px solid var(--lt-line); }
.cat-head h2 { font-size:1.6rem; font-weight:900; color:var(--lt-text); display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.cat-head h2 small { font-family:'Orbitron',sans-serif; font-size:.72rem; letter-spacing:.16em; color:var(--brand-orange); font-weight:700; }
.cat-head p { color:var(--lt-text-sub); font-size:.92rem; margin-top:6px; }

.rack-note { background:#fff; border:1px dashed var(--brand-blue); border-radius:12px; padding:26px 28px;
             display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.rack-note b { display:block; color:var(--lt-text); font-size:1.05rem; margin-bottom:6px; }
.rack-note span { color:var(--lt-text-sub); font-size:.9rem; line-height:1.8; }
.rack-btns { display:flex; gap:10px; flex-wrap:wrap; }

@media (max-width:960px){
  .cat-layout { grid-template-columns:1fr; gap:24px; padding-top:28px; }
  .cat-side { position:static; }
  .sb-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:0 14px; }
  .sb-sub { display:none; }
}

/* CAD 下載表 */
.dl-table { width:100%; border-collapse:collapse; margin-top:20px; background:#fff; border:1px solid var(--lt-line); border-radius:10px; overflow:hidden; }
.dl-table thead th { background:#16202e; color:#fff; font-size:.82rem; letter-spacing:.08em; padding:13px 16px; text-align:left; font-weight:700; }
.dl-table tbody th { background:#eef3f8; color:var(--lt-text); font-weight:800; font-size:.95rem; padding:11px 16px; text-align:left; width:32%; white-space:nowrap; font-family:'Orbitron',sans-serif; }
.dl-table td { padding:9px 16px; border-bottom:1px solid var(--lt-line); color:var(--lt-text-sub); }
.dl-table tbody th { border-bottom:1px solid var(--lt-line); }
.dl-table tr:last-child th, .dl-table tr:last-child td { border-bottom:none; }
.dl-btn { display:inline-flex; align-items:center; gap:6px; padding:8px 15px; border-radius:7px; font-size:.83rem; font-weight:700; text-decoration:none; transition:transform .18s, box-shadow .18s, background .18s; }
.dl-btn::before { content:'⬇'; font-size:.9em; }
.dl-btn.step { background:var(--brand-blue); color:#fff; }
.dl-btn.step:hover { background:var(--brand-blue-dk); transform:translateY(-2px); box-shadow:0 6px 16px rgba(10,104,184,.3); }
.dl-btn.cad { background:#fff; color:var(--lt-text); border:1.5px solid #c9d4e0; }
.dl-btn.cad:hover { border-color:var(--brand-orange); color:var(--brand-orange-dk); transform:translateY(-2px); }
@media (max-width:520px){ .dl-table thead { display:none; } .dl-table tbody th { width:auto; display:block; border-bottom:none; } .dl-table td { display:inline-block; border-bottom:none; padding:4px 16px 12px; } }

.model-tag.lg { font-size:.8rem; padding:6px 12px; }
body.page-light .model-tag { background:#eef3f8; border:1px solid var(--lt-line); color:#3c4b60; font-weight:600; }
