:root {
  color-scheme: dark;
  --ink: #fff8e9;
  --muted: #bdc4d4;
  --gold: #ffb44b;
  --panel: rgba(255,255,255,.075);
  --line: rgba(255,255,255,.14);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Noto Sans TC", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 50% 25%, #31201d 0, #111426 32%, #050711 72%); min-height: 100vh; }
a { color: inherit; }
.nav, main, footer { width: min(1080px, calc(100% - 40px)); margin: auto; }
.nav { min-height: 78px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { text-decoration:none; font-weight:750; letter-spacing:.02em; }
.links { display:flex; gap:20px; color:var(--muted); font-size:14px; }
.links a { text-decoration:none; }
.hero { min-height: 690px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:64px; }
.eyebrow { color:var(--gold); font-size:12px; letter-spacing:.2em; font-weight:800; }
h1 { font-size:clamp(54px, 7vw, 92px); line-height:.98; letter-spacing:-.055em; margin:20px 0; }
.lead { color:var(--muted); font-size:20px; line-height:1.75; max-width:630px; }
.badges { display:flex; gap:10px; flex-wrap:wrap; margin-top:30px; }
.badges span { padding:9px 13px; border:1px solid var(--line); border-radius:999px; color:#dfe3ed; font-size:13px; }
.candle-stage { height:520px; position:relative; display:grid; place-items:center; }
.halo { position:absolute; width:350px; height:350px; border-radius:50%; background:radial-gradient(circle, rgba(255,161,55,.3), transparent 65%); filter:blur(10px); }
.candle { width:128px; height:295px; margin-top:160px; border-radius:44px 44px 22px 22px; background:linear-gradient(100deg,#bca36f,#fff4ce 24%,#fffdf1 50%,#d8bd82 88%); box-shadow:0 30px 80px rgba(0,0,0,.65), inset 0 0 20px rgba(155,102,30,.34); position:relative; }
.wick { position:absolute; width:8px; height:36px; background:#2c1a12; top:-26px; left:60px; border-radius:8px; }
.flame { position:absolute; width:64px; height:142px; top:-154px; left:32px; border-radius:60% 40% 55% 45% / 80% 70% 30% 20%; transform:rotate(3deg); background:radial-gradient(ellipse at 50% 75%, #fff 0 14%, #fff3a2 25%, #ff9b25 54%, rgba(255,91,0,.86) 66%, transparent 72%); filter:drop-shadow(0 0 28px #ff8f23); animation:flicker 1.7s ease-in-out infinite alternate; }
@keyframes flicker { to { transform:rotate(-4deg) scale(.96,1.05) translateY(-3px); } }
.features { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:40px 0 92px; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:24px; padding:28px; backdrop-filter:blur(18px); }
.card h2 { font-size:22px; margin:0 0 12px; }
.card p { color:var(--muted); line-height:1.65; margin:0; }
.cta { margin:10px 0 90px; padding:44px; border:1px solid var(--line); border-radius:28px; background:linear-gradient(135deg,rgba(255,169,66,.13),rgba(255,255,255,.04)); }
.cta h2 { font-size:38px; margin:0 0 10px; }
.cta p { color:var(--muted); }
footer { border-top:1px solid var(--line); padding:28px 0 44px; display:flex; justify-content:space-between; color:var(--muted); font-size:13px; }
.legal { max-width:760px; padding:56px 0 100px; }
.legal h1 { font-size:50px; }
.legal h2 { margin-top:36px; font-size:22px; }
.legal p, .legal li { color:var(--muted); line-height:1.75; }
.contact { color:var(--gold); }
@media(max-width:760px){ .links{gap:12px}.hero{grid-template-columns:1fr;gap:0;padding-top:60px}.candle-stage{height:460px}.features{grid-template-columns:1fr}.lead{font-size:17px}footer{gap:18px;flex-direction:column} }
