:root{--bg:#0b0f2b;--panel:#111743;--card:#161d52;--ink:#f4f6ff;--muted:#aab2e0;--brand:#2a3ff0;--brand2:#4d63ff;--gold:#f5b942;--line:rgba(255,255,255,.09)}
*{box-sizing:border-box}
body{margin:0;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.65}
a{color:var(--brand2);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.en{color:var(--muted);font-size:.9em}

/* header */
.site-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;position:sticky;top:0;background:rgba(11,15,43,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:50}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.15rem;color:var(--ink)}
.brand img{width:38px;height:38px;border-radius:9px}
.brand span{color:var(--gold)}
nav.main{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
nav.main a{color:var(--muted);font-size:.95rem}
nav.main a:hover{color:var(--ink);text-decoration:none}
nav.main a.cta{background:var(--brand);color:#fff;padding:8px 16px;border-radius:20px;font-weight:600}
@media(max-width:840px){nav.main{display:none}.site-head.open nav.main{display:flex}}

/* hero */
.hero{padding:64px 0 48px;background:radial-gradient(1000px 500px at 80% -10%,rgba(42,63,240,.35),transparent),var(--bg)}
.hero-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.kicker{color:var(--gold);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;margin:0 0 10px}
.hero h1{font-size:clamp(2.1rem,5vw,3.2rem);margin:0 0 14px;line-height:1.15}
.hero h1 span{color:var(--brand2)}
.lead{color:var(--muted);font-size:1.05rem;max-width:56ch}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:22px 0 10px}
.btn{padding:12px 22px;border-radius:26px;font-weight:700}
.btn.primary{background:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand2);text-decoration:none}
.btn.ghost{border:1px solid var(--line);color:var(--ink)}
.btn.ghost:hover{text-decoration:none;border-color:var(--brand2)}
.hero-note{color:var(--muted);font-size:.92rem}
.hero-logo{width:230px;height:230px;border-radius:28px;box-shadow:0 18px 60px rgba(42,63,240,.45)}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr}.hero-logo{width:160px;height:160px}}

/* sections */
.section{padding:56px 0}
.section.alt{background:var(--panel)}
.section-head{margin-bottom:26px}
.section-head h2{margin:0;font-size:1.7rem}
.section-head small{color:var(--muted)}
.intro{max-width:80ch;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
@media(max-width:840px){.two-col,.three-col{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px}
.card h3{margin:0 0 10px;font-size:1.08rem}
.card p{margin:0 0 10px;color:var(--muted)}
.card.warn{border-left:4px solid var(--gold)}
.card .faq-list{margin:0 0 12px;padding-left:18px;color:var(--muted)}
.card .faq-list li{margin:4px 0}

/* contact strip */
.contact-strip{padding-top:0}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:840px){.contact-grid{grid-template-columns:1fr}}
.c-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px}
.c-card h3{margin:0 0 10px;font-size:1.05rem}
.c-card p{margin:0 0 10px;color:var(--muted)}
.map-links{display:flex;gap:12px;flex-wrap:wrap}

/* rates */
.rate-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:14px;overflow:hidden;font-size:.95rem}
.rate-table th,.rate-table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left}
.rate-table thead th{background:rgba(42,63,240,.25);font-weight:700}
.rate-table .mid{color:var(--gold);text-align:center}
.notes{color:var(--muted);font-size:.9rem;margin:16px 0 6px;padding-left:20px}
.fee{font-weight:600;color:var(--gold)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:840px){.steps{grid-template-columns:1fr}}
.step{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.step span{display:inline-flex;width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;align-items:center;justify-content:center;font-weight:800;margin-bottom:10px}
.step h3{margin:0 0 8px;font-size:1.05rem}
.step p{margin:0;color:var(--muted)}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery img{border-radius:12px;width:100%;height:170px;object-fit:cover;border:1px solid var(--line)}
@media(max-width:840px){.gallery{grid-template-columns:repeat(2,1fr)}}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:40px 0 24px;background:#080b20}
.foot-brand{display:flex;gap:18px;align-items:flex-start;margin-bottom:26px}
.foot-brand img{width:64px;height:64px;border-radius:14px}
.foot-brand p{margin:6px 0;color:var(--muted);font-size:.92rem}
.foot-links{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.foot-links h4{margin:0 0 8px;color:var(--ink)}
.foot-links a{display:block;color:var(--muted);font-size:.92rem;margin:4px 0}
.fine{color:#7b83b3;font-size:.82rem;margin:26px 0 0;text-align:center}
@media(max-width:640px){.foot-links{grid-template-columns:1fr}}
