* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body { background: #050609; color: #f5f7fb; font-family: "Noto Sans TC", sans-serif; line-height: 1.75; overflow-x: hidden; }

img { display: block; max-width: 100%; }

a { color: inherit; text-decoration: none; }

header { align-items: center; background: rgba(5, 6, 9, 0.86); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255, 255, 255, 0.08); display: flex; justify-content: space-between; left: 0; padding: 18px 6%; position: sticky; top: 0; width: 100%; z-index: 20; }
header .site-title { align-items: center; display: flex; font-size: 20px; font-weight: 900; gap: 12px; letter-spacing: 0.04em; }
header .site-title::before { background: linear-gradient(135deg, #ff2d55, #ff8a00); border-radius: 50%; box-shadow: 0 0 26px rgba(255, 45, 85, 0.7); content: ""; height: 16px; width: 16px; }
header .nav-list { align-items: center; display: flex; gap: 28px; list-style: none; }
header .nav-list a { color: #c9d1df; font-size: 14px; font-weight: 700; position: relative; transition: color 0.3s ease; }
header .nav-list a::after { background: #ff2d55; bottom: -8px; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: right; transition: transform 0.3s ease; width: 100%; }
header .nav-list a:hover { color: #fff; }
header .nav-list a:hover::after { transform: scaleX(1); transform-origin: left; }

main { width: 100%; }

#hero-section { background: radial-gradient( circle at 75% 22%, rgba(255, 45, 85, 0.28), transparent 36% ), linear-gradient(120deg, rgba(5, 6, 9, 0.94), rgba(12, 15, 22, 0.78)), url(../image/hero.webp) center / cover no-repeat; display: grid; min-height: 760px; overflow: hidden; padding: 110px 6% 90px; place-items: center; position: relative; }
#hero-section::before { background: linear-gradient(90deg, rgba(255, 255, 255, 0.08) 1px, transparent 1px), linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px); background-size: 54px 54px; content: ""; inset: 0; opacity: 0.22; position: absolute; transform: perspective(900px) rotateX(60deg) translateY(-120px); transform-origin: top; }
#hero-section .hero-content { max-width: 1180px; position: relative; width: 100%; z-index: 2; }
#hero-section .hero-subtitle { color: #ff456b; font-size: 15px; font-weight: 900; letter-spacing: 0.22em; margin-bottom: 18px; text-transform: uppercase; transform: translateY(24px); opacity: 0; transition: transform 0.7s ease, opacity 0.7s ease; }
#hero-section .hero-title { font-size: clamp(46px, 7vw, 96px); font-weight: 900; letter-spacing: -0.05em; line-height: 1.02; max-width: 760px; transform: translateY(34px); opacity: 0; transition: transform 0.8s ease 0.08s, opacity 0.8s ease 0.08s; }
#hero-section .hero-text { color: #d8dfeb; font-size: 20px; margin-top: 26px; max-width: 680px; transform: translateY(34px); opacity: 0; transition: transform 0.8s ease 0.16s, opacity 0.8s ease 0.16s; }
#hero-section .hero-list { display: flex; flex-wrap: wrap; gap: 14px; list-style: none; margin-top: 38px; transform: translateY(34px); opacity: 0; transition: transform 0.8s ease 0.24s, opacity 0.8s ease 0.24s; }
#hero-section .hero-list li { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: 999px; color: #fff; font-size: 14px; font-weight: 700; padding: 10px 18px; }
#hero-section .hero-action { align-items: center; display: flex; gap: 18px; margin-top: 44px; transform: translateY(34px); opacity: 0; transition: transform 0.8s ease 0.32s, opacity 0.8s ease 0.32s; }
#hero-section .hero-action a { background: linear-gradient(135deg, #ff2d55, #ff7a1a); border-radius: 999px; box-shadow: 0 18px 42px rgba(255, 45, 85, 0.34); color: #fff; display: inline-flex; font-weight: 900; padding: 15px 28px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
#hero-section .hero-action a:hover { box-shadow: 0 24px 54px rgba(255, 45, 85, 0.48); transform: translateY(-4px); }
#hero-section.is-active .hero-subtitle { opacity: 1; transform: translateY(0); }
#hero-section.is-active .hero-title { opacity: 1; transform: translateY(0); }
#hero-section.is-active .hero-text { opacity: 1; transform: translateY(0); }
#hero-section.is-active .hero-list { opacity: 1; transform: translateY(0); }
#hero-section.is-active .hero-action { opacity: 1; transform: translateY(0); }

#feature-section { background: linear-gradient(180deg, #050609, #0c0f16); padding: 110px 6%; }
#feature-section .feature-content { margin: 0 auto 58px; max-width: 920px; text-align: center; }
#feature-section .feature-subtitle { color: #ff456b; font-size: 14px; font-weight: 900; letter-spacing: 0.2em; margin-bottom: 10px; }
#feature-section .feature-title { font-size: clamp(32px, 4vw, 56px); font-weight: 900; letter-spacing: -0.03em; line-height: 1.16; }
#feature-section .feature-text { color: #aeb8c8; font-size: 18px; margin-top: 18px; }
#feature-section .feature-grid { display: grid; gap: 24px; grid-template-columns: repeat(3, 1fr); margin: 0 auto; max-width: 1180px; }
#feature-section .feature-item { background: linear-gradient( 180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.035) ); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 28px; min-height: 250px; overflow: hidden; padding: 34px; position: relative; transform: translateY(42px); opacity: 0; transition: transform 0.7s ease, opacity 0.7s ease, border-color 0.3s ease; }
#feature-section .feature-item::before { background: radial-gradient( circle, rgba(255, 45, 85, 0.4), transparent 64% ); content: ""; height: 160px; position: absolute; right: -70px; top: -70px; width: 160px; }
#feature-section .feature-item:nth-child(2) { transition-delay: 0.12s; }
#feature-section .feature-item:nth-child(3) { transition-delay: 0.24s; }
#feature-section .feature-item:hover { border-color: rgba(255, 45, 85, 0.55); transform: translateY(-8px); }
#feature-section .feature-number { color: #ff456b; font-size: 42px; font-weight: 900; line-height: 1; margin-bottom: 48px; }
#feature-section .feature-item-title { font-size: 24px; font-weight: 900; margin-bottom: 12px; }
#feature-section .feature-item-text { color: #b8c1cf; font-size: 16px; }
#feature-section.is-active .feature-item { opacity: 1; transform: translateY(0); }

#performance-section { background: #0c0f16; display: grid; grid-template-columns: 1.1fr 0.9fr; min-height: 680px; overflow: hidden; }
#performance-section .performance-media { min-height: 680px; overflow: hidden; position: relative; }
#performance-section .performance-image { height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 1.1s ease; width: 100%; }
#performance-section .performance-media::after { background: linear-gradient(90deg, transparent, #0c0f16 96%); content: ""; inset: 0; position: absolute; }
#performance-section .performance-content { align-self: center; padding: 80px 10% 80px 6%; }
#performance-section .performance-subtitle { color: #ff456b; font-size: 14px; font-weight: 900; letter-spacing: 0.2em; margin-bottom: 12px; transform: translateX(42px); opacity: 0; transition: transform 0.7s ease, opacity 0.7s ease; }
#performance-section .performance-title { font-size: clamp(34px, 4.4vw, 62px); font-weight: 900; letter-spacing: -0.04em; line-height: 1.1; transform: translateX(42px); opacity: 0; transition: transform 0.7s ease 0.08s, opacity 0.7s ease 0.08s; }
#performance-section .performance-text { color: #b8c1cf; font-size: 18px; margin-top: 22px; transform: translateX(42px); opacity: 0; transition: transform 0.7s ease 0.16s, opacity 0.7s ease 0.16s; }
#performance-section .performance-list { display: grid; gap: 16px; list-style: none; margin-top: 34px; transform: translateX(42px); opacity: 0; transition: transform 0.7s ease 0.24s, opacity 0.7s ease 0.24s; }
#performance-section .performance-list li { align-items: center; background: rgba(255, 255, 255, 0.06); border-left: 3px solid #ff2d55; border-radius: 16px; color: #eef2f7; display: flex; font-weight: 700; justify-content: space-between; padding: 14px 18px; }
#performance-section .performance-list span { color: #ff8a00; font-size: 22px; font-weight: 900; }
#performance-section.is-active .performance-image { transform: scale(1); }
#performance-section.is-active .performance-subtitle { opacity: 1; transform: translateX(0); }
#performance-section.is-active .performance-title { opacity: 1; transform: translateX(0); }
#performance-section.is-active .performance-text { opacity: 1; transform: translateX(0); }
#performance-section.is-active .performance-list { opacity: 1; transform: translateX(0); }

#flow-section { background: radial-gradient( circle at 20% 20%, rgba(255, 122, 26, 0.16), transparent 34% ), #050609; padding: 110px 6%; }
#flow-section .flow-content { align-items: end; display: grid; gap: 40px; grid-template-columns: 0.9fr 1.1fr; margin: 0 auto 58px; max-width: 1180px; }
#flow-section .flow-subtitle { color: #ff456b; font-size: 14px; font-weight: 900; letter-spacing: 0.2em; margin-bottom: 10px; }
#flow-section .flow-title { font-size: clamp(32px, 4vw, 56px); font-weight: 900; letter-spacing: -0.03em; line-height: 1.14; }
#flow-section .flow-text { color: #aeb8c8; font-size: 18px; }
#flow-section .flow-grid { display: grid; gap: 24px; grid-template-columns: 0.9fr 1.1fr; margin: 0 auto; max-width: 1180px; }
#flow-section .flow-figure { border-radius: 30px; min-height: 520px; overflow: hidden; position: relative; transform: translateY(44px); opacity: 0; transition: transform 0.8s ease, opacity 0.8s ease; }
#flow-section .flow-image { height: 100%; object-fit: cover; width: 100%; }
#flow-section .flow-list { display: grid; gap: 18px; list-style: none; }
#flow-section .flow-item { background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 24px; padding: 28px; transform: translateY(44px); opacity: 0; transition: transform 0.8s ease, opacity 0.8s ease, background 0.3s ease; }
#flow-section .flow-item:nth-child(2) { transition-delay: 0.12s; }
#flow-section .flow-item:nth-child(3) { transition-delay: 0.24s; }
#flow-section .flow-item:hover { background: rgba(255, 45, 85, 0.12); }
#flow-section .flow-item-title { color: #fff; font-size: 22px; font-weight: 900; margin-bottom: 8px; }
#flow-section .flow-item-text { color: #b8c1cf; font-size: 16px; }
#flow-section.is-active .flow-figure { opacity: 1; transform: translateY(0); }
#flow-section.is-active .flow-item { opacity: 1; transform: translateY(0); }

#spec-section { background: linear-gradient(180deg, #0c0f16, #050609); padding: 110px 6%; }
#spec-section .spec-content { margin: 0 auto 54px; max-width: 760px; text-align: center; }
#spec-section .spec-subtitle { color: #ff456b; font-size: 14px; font-weight: 900; letter-spacing: 0.2em; margin-bottom: 10px; }
#spec-section .spec-title { font-size: clamp(32px, 4vw, 54px); font-weight: 900; letter-spacing: -0.03em; line-height: 1.14; }
#spec-section .spec-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); margin: 0 auto; max-width: 1180px; }
#spec-section .spec-item { background: linear-gradient( 180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.04) ); border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 26px; padding: 28px; text-align: center; transform: translateY(40px); opacity: 0; transition: transform 0.7s ease, opacity 0.7s ease; }
#spec-section .spec-item:nth-child(2) { transition-delay: 0.08s; }
#spec-section .spec-item:nth-child(3) { transition-delay: 0.16s; }
#spec-section .spec-item:nth-child(4) { transition-delay: 0.24s; }
#spec-section .spec-value { color: #ff8a00; font-size: 34px; font-weight: 900; line-height: 1.1; margin-bottom: 10px; }
#spec-section .spec-label { color: #cbd3df; font-size: 15px; font-weight: 700; }
#spec-section.is-active .spec-item { opacity: 1; transform: translateY(0); }

#cta-section { background: linear-gradient( 135deg, rgba(255, 45, 85, 0.18), rgba(255, 138, 0, 0.08) ), url(../image/cta-background.webp) 88% 52% / 360px auto no-repeat, #07080c; overflow: hidden; padding: 120px 6%; position: relative; }
#cta-section .cta-content { max-width: 680px; position: relative; z-index: 2; }
#cta-section .cta-subtitle { color: #ff456b; font-size: 14px; font-weight: 900; letter-spacing: 0.2em; margin-bottom: 12px; transform: translateY(34px); opacity: 0; transition: transform 0.7s ease, opacity 0.7s ease; }
#cta-section .cta-title { font-size: clamp(34px, 4.6vw, 64px); font-weight: 900; letter-spacing: -0.04em; line-height: 1.1; transform: translateY(34px); opacity: 0; transition: transform 0.7s ease 0.08s, opacity 0.7s ease 0.08s; }
#cta-section .cta-text { color: #cbd3df; font-size: 18px; margin-top: 20px; transform: translateY(34px); opacity: 0; transition: transform 0.7s ease 0.16s, opacity 0.7s ease 0.16s; }
#cta-section .cta-action { display: flex; gap: 16px; margin-top: 36px; transform: translateY(34px); opacity: 0; transition: transform 0.7s ease 0.24s, opacity 0.7s ease 0.24s; }
#cta-section .cta-action a { border-radius: 999px; display: inline-flex; font-weight: 900; padding: 15px 28px; transition: transform 0.3s ease, background 0.3s ease; }
#cta-section .cta-action a:first-child { background: #fff; color: #050609; }
#cta-section .cta-action a:last-child { border: 1px solid rgba(255, 255, 255, 0.28); color: #fff; }
#cta-section .cta-action a:hover { transform: translateY(-4px); }
#cta-section.is-active .cta-subtitle { opacity: 1; transform: translateY(0); }
#cta-section.is-active .cta-title { opacity: 1; transform: translateY(0); }
#cta-section.is-active .cta-text { opacity: 1; transform: translateY(0); }
#cta-section.is-active .cta-action { opacity: 1; transform: translateY(0); }

footer { background: #030406; border-top: 1px solid rgba(255, 255, 255, 0.08); color: #8d97a7; padding: 34px 6%; }
footer .footer-content { align-items: center; display: flex; justify-content: space-between; margin: 0 auto; max-width: 1180px; }
footer .footer-title { color: #fff; font-weight: 900; letter-spacing: 0.04em; }
footer .footer-list { display: flex; gap: 20px; list-style: none; }
footer .footer-list a { font-size: 14px; transition: color 0.3s ease; }
footer .footer-list a:hover { color: #fff; }

@media (max-width: 1280px) {
	header { padding: 16px 5%; }
	#hero-section { padding: 100px 5% 80px; }
	#feature-section { padding: 96px 5%; }
	#performance-section .performance-content { padding: 72px 8% 72px 4%; }
	#flow-section { padding: 96px 5%; }
	#spec-section { padding: 96px 5%; }
	#cta-section { background-position: 94% 52%; background-size: 320px auto; padding: 105px 5%; }
}
@media (max-width: 960px) {
	header { align-items: flex-start; flex-direction: column; gap: 16px; }
	header .nav-list { flex-wrap: wrap; gap: 16px 24px; }
	#hero-section { min-height: 700px; }
	#feature-section .feature-grid { grid-template-columns: 1fr; }
	#performance-section { grid-template-columns: 1fr; }
	#performance-section .performance-media { min-height: 420px; }
	#performance-section .performance-media::after { background: linear-gradient(180deg, transparent, #0c0f16 96%); }
	#performance-section .performance-content { padding: 70px 5%; }
	#flow-section .flow-content { align-items: start; grid-template-columns: 1fr; }
	#flow-section .flow-grid { grid-template-columns: 1fr; }
	#flow-section .flow-figure { min-height: 420px; }
	#spec-section .spec-grid { grid-template-columns: repeat(2, 1fr); }
	#cta-section { background-position: 108% 62%; background-size: 260px auto; }
}
@media (max-width: 768px) {
	header .site-title { font-size: 18px; }
	header .nav-list a { font-size: 13px; }
	#hero-section { min-height: 640px; padding: 80px 5% 70px; }
	#hero-section .hero-text { font-size: 17px; }
	#hero-section .hero-action { align-items: flex-start; flex-direction: column; }
	#feature-section { padding: 78px 5%; }
	#feature-section .feature-text { font-size: 16px; }
	#performance-section .performance-list li { align-items: flex-start; flex-direction: column; gap: 4px; }
	#flow-section { padding: 78px 5%; }
	#flow-section .flow-text { font-size: 16px; }
	#spec-section { padding: 78px 5%; }
	#cta-section { background-image: linear-gradient( 135deg, rgba(255, 45, 85, 0.18), rgba(255, 138, 0, 0.08) ); padding: 86px 5%; }
	footer .footer-content { align-items: flex-start; flex-direction: column; gap: 18px; }
}
@media (max-width: 500px) {
	header { position: relative; }
	header .nav-list { display: grid; gap: 10px; grid-template-columns: repeat(2, 1fr); width: 100%; }
	#hero-section { min-height: 620px; }
	#hero-section .hero-title { font-size: 42px; }
	#hero-section .hero-list { flex-direction: column; }
	#feature-section .feature-item { padding: 26px; }
	#performance-section .performance-media { min-height: 320px; }
	#flow-section .flow-figure { min-height: 320px; }
	#flow-section .flow-item { padding: 24px; }
	#spec-section .spec-grid { grid-template-columns: 1fr; }
	#cta-section .cta-action { flex-direction: column; }
	footer .footer-list { flex-direction: column; gap: 10px; }
}