:root{--ink:#22203a;--soft:#6a6584;--indigo:#6c70f5;--deep:#4a3fc4;--card:#fff}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Hiragino Maru Gothic ProN","PingFang HK","PingFang TC","Noto Sans TC","Microsoft JhengHei",sans-serif;color:var(--ink);line-height:1.8;background:linear-gradient(170deg,#e9e3ff 0%,#f3e9fb 35%,#fbeaf5 70%,#eef7f2 100%) fixed;-webkit-font-smoothing:antialiased}
a{color:var(--deep)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
header.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:20px}
.brand img{width:44px;height:44px;border-radius:10px;box-shadow:0 4px 14px rgba(108,112,245,.3)}
nav a{margin-left:22px;text-decoration:none;color:var(--soft);font-size:15px}
nav a:hover{color:var(--deep)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:40px 0 70px}
.hero h1{font-size:56px;line-height:1.25;font-weight:400}
.hero h1 span{color:var(--deep)}
.hero p.lead{font-size:20px;color:var(--soft);margin:18px 0 28px}
.badges{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.badges img{height:54px;display:block}
.badges a.gp img{height:80px;margin:-13px -10px}
.hero .shot{display:flex;justify-content:center;gap:0;position:relative}
.hero .shot img{width:46%;border-radius:26px;box-shadow:0 24px 60px rgba(74,63,196,.28)}
.hero .shot img+img{margin-left:-6%;margin-top:60px}
section{padding:60px 0}
h2{font-size:38px;font-weight:400;text-align:center}
h2+p.sub{text-align:center;color:var(--soft);margin:8px 0 40px;font-size:18px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:var(--card);border-radius:22px;padding:28px;box-shadow:0 10px 30px rgba(108,112,245,.12)}
.card .ic{font-size:34px}
.card h3{font-size:22px;font-weight:400;margin:8px 0 6px;color:var(--deep)}
.card p{color:var(--soft);font-size:16px}
.gallery{display:flex;gap:20px;overflow-x:auto;padding:10px 4px 30px;scroll-snap-type:x mandatory}
.gallery img{height:560px;border-radius:24px;box-shadow:0 14px 40px rgba(74,63,196,.22);scroll-snap-align:center;flex:none}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.steps .card{position:relative;padding-top:56px}
.steps .card:before{counter-increment:s;content:counter(s);position:absolute;top:-18px;left:26px;width:44px;height:44px;border-radius:50%;background:var(--indigo);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px}
.cta{text-align:center;background:linear-gradient(135deg,#6c70f5,#8e6cf0);color:#fff;border-radius:32px;padding:56px 24px}
.cta h2{color:#fff}.cta p{margin:10px 0 26px;opacity:.92}
.cta .badges{justify-content:center}
footer{padding:40px 0 50px;text-align:center;color:var(--soft);font-size:14px}
footer a{margin:0 10px}
.doc{background:#fff;border-radius:26px;padding:44px 48px;margin:20px 0 40px;box-shadow:0 10px 30px rgba(108,112,245,.12)}
.doc h1{font-size:38px;font-weight:400;margin-bottom:6px}
.doc h2{text-align:left;font-size:24px;margin:30px 0 8px;color:var(--deep)}
.doc p,.doc li{font-size:16px;margin:6px 0}
.doc ul{padding-left:24px}
.doc .date{color:var(--soft);font-size:14px}
@media(max-width:860px){.hero{grid-template-columns:1fr;text-align:center}.hero h1{font-size:42px}.badges{justify-content:center}.grid,.steps{grid-template-columns:1fr}.gallery img{height:460px}nav a{margin-left:14px}.doc{padding:28px 22px}}
