:root{--black:#0a0908;--black-soft:#14110d;--black-card:#181410;--gold-bright:#e4c383;--gold:#c9a24b;--gold-deep:#8b6914;--cream:#f2ede4;--grey-gold:#8a8275;--line:#c9a24b2e;--line-bright:#c9a24b66}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--black);color:var(--cream);font-family:Noto Serif TC,EB Garamond,serif;overflow-x:hidden}body{background:radial-gradient(ellipse 80% 50% at 50% -10%, #c9a24b14, transparent), radial-gradient(ellipse 60% 40% at 100% 100%, #c9a24b0a, transparent), var(--black);min-height:100vh}.serif{font-family:Noto Serif TC,serif}.en-serif{font-family:EB Garamond,serif}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:.5px solid var(--line);justify-content:space-between;align-items:center;padding:22px clamp(20px,5vw,64px);display:flex}.brand-mini{align-items:center;gap:10px;display:flex}.brand-mini-text{letter-spacing:.08em;color:var(--gold);font-size:13px}.brand-mini-text .en{letter-spacing:.15em;color:var(--grey-gold);margin-top:2px;font-family:EB Garamond,serif;font-size:10px;font-style:italic;display:block}.progress-track{align-items:center;gap:6px;display:flex}.node{background:#c9a24b33;border-radius:50%;width:6px;height:6px;transition:all .4s}.node.done{background:var(--gold)}.node.active{background:var(--gold-bright);transform:scale(1.4);box-shadow:0 0 8px #e4c38399}.stage{flex:1;justify-content:center;align-items:center;padding:40px clamp(20px,6vw,64px);display:flex;position:relative}.page{width:100%;max-width:620px;animation:.55s forwards rise}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.page-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--grey-gold);align-items:center;gap:10px;margin-bottom:26px;font-size:11px;display:flex}.page-eyebrow:before{content:"";background:var(--gold-deep);width:18px;height:.5px}.intro-hero{text-align:center;margin-bottom:30px}.intro-title{color:var(--cream);margin-bottom:18px;font-size:clamp(24px,3.6vw,32px);line-height:1.6}.intro-divider{background:var(--gold-deep);width:40px;height:.5px;margin:0 auto}.intro-body{color:var(--grey-gold);max-width:460px;margin:0 auto 36px;font-size:14.5px;line-height:2}.area{margin-bottom:30px}.area:last-of-type{margin-bottom:36px}.area-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--grey-gold);margin-bottom:14px;font-size:11px}.q-title{color:var(--cream);margin-bottom:10px;font-size:clamp(20px,3vw,27px);font-weight:500;line-height:1.5}.q-sub{color:var(--grey-gold);margin-bottom:22px;font-size:14px;line-height:1.7}.opts{flex-direction:column;gap:10px;display:flex}.opt{border:.5px solid var(--line);color:var(--cream);cursor:pointer;text-align:left;background:#ffffff03;border-radius:2px;align-items:center;gap:14px;width:100%;padding:16px 20px;font-family:Noto Serif TC,EB Garamond,serif;font-size:15px;transition:all .22s;display:flex;position:relative}.opt:hover{border-color:var(--line-bright);background:#c9a24b0d}.opt .mark{border:1px solid var(--grey-gold);border-radius:50%;flex-shrink:0;width:16px;height:16px;transition:all .2s;position:relative}.opt.checkbox .mark{border-radius:3px}.opt.selected{border-color:var(--gold);color:var(--gold-bright);background:#c9a24b17}.opt.selected .mark{border-color:var(--gold);background:var(--gold)}.opt.selected .mark:after{content:"";background:var(--black);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.opt.checkbox.selected .mark:after{border-radius:1px;width:7px;height:7px}textarea,input[type=text],input[type=tel],input[type=email]{border:.5px solid var(--line);width:100%;color:var(--cream);background:#ffffff05;border-radius:2px;padding:16px 18px;font-family:Noto Serif TC,EB Garamond,serif;font-size:15px;transition:border-color .2s}textarea{resize:vertical;min-height:120px;line-height:1.8}textarea:focus,input:focus{border-color:var(--gold);outline:none}textarea::placeholder,input::placeholder{color:#8a827599}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{border:.5px solid var(--line);color:var(--cream);cursor:pointer;background:#ffffff03;border-radius:2px;padding:9px 16px;font-family:Noto Serif TC,EB Garamond,serif;font-size:13.5px;transition:all .2s}.chip:hover{border-color:var(--line-bright)}.chip.selected{border-color:var(--gold);color:var(--gold-bright);background:#c9a24b17}.info-block{line-height:1.9}.info-block.center{text-align:center}.info-title{color:var(--cream);margin-bottom:16px;font-size:clamp(22px,3.4vw,30px);line-height:1.6}.info-body{color:var(--grey-gold);font-size:14.5px;line-height:2}.privacy-note{color:#8a8275d9;border-top:.5px solid var(--line);padding-top:18px;font-size:12px;line-height:1.9}.field-label{color:var(--grey-gold);letter-spacing:.02em;margin-bottom:10px;font-size:12.5px;display:block}.field-label .req{color:var(--gold);margin-left:3px}.consent{cursor:pointer;align-items:flex-start;gap:12px;display:flex}.consent .box{border:1px solid var(--grey-gold);border-radius:3px;flex-shrink:0;width:18px;height:18px;margin-top:2px;transition:all .2s;position:relative}.consent.checked .box{border-color:var(--gold);background:var(--gold)}.consent.checked .box:after{content:"";border:solid var(--black);border-width:0 1.6px 1.6px 0;width:4px;height:9px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.consent .txt{color:var(--grey-gold);font-size:13px;line-height:1.7}.consent .txt b{color:var(--cream);font-weight:500}.policy{border:.5px solid var(--line);background:#ffffff03;border-radius:2px;margin-bottom:18px}.policy summary{cursor:pointer;color:var(--gold);justify-content:space-between;align-items:center;padding:14px 16px;font-size:12.5px;list-style:none;display:flex}.policy summary::-webkit-details-marker{display:none}.policy .chev{color:var(--grey-gold);font-size:11px;transition:transform .25s}.policy[open] .chev{transform:rotate(180deg)}.policy .policy-body{color:#8a8275eb;padding:0 16px 16px;font-size:11.5px;line-height:1.9}.policy .policy-body p{margin-bottom:9px}.policy .policy-body strong{color:var(--cream);font-weight:500}.nav-row{justify-content:space-between;align-items:center;gap:16px;margin-top:8px;display:flex}.btn{letter-spacing:.04em;cursor:pointer;border:.5px solid #0000;border-radius:2px;padding:13px 32px;font-family:Noto Serif TC,EB Garamond,serif;font-size:14px;transition:all .2s}.btn-primary{background:linear-gradient(135deg, var(--gold-bright), var(--gold-deep));color:var(--black);border:none;font-weight:600}.btn-primary:hover{filter:brightness(1.08)}.btn-primary:disabled{opacity:.3;cursor:not-allowed;filter:none}.btn-ghost{color:var(--grey-gold);border-color:var(--line);background:0 0}.btn-ghost:hover{color:var(--cream);border-color:var(--line-bright)}.complete-screen{text-align:center}.complete-icon{border:1px solid var(--gold);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 28px;display:flex}.complete-icon svg{width:22px;height:22px}.complete-screen .intro-body{max-width:460px;margin:18px auto 0}.submit-error{color:#d98b8b;text-align:right;margin-top:14px;font-size:13px}footer{text-align:center;letter-spacing:.1em;color:#8a827580;border-top:.5px solid var(--line);padding:22px;font-size:11px}.loading{color:var(--grey-gold);letter-spacing:.1em;flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}@media (max-width:560px){.topbar{padding:18px 20px}.brand-mini-text{font-size:12px}.stage{padding:28px 20px 40px}.nav-row{flex-direction:column-reverse;gap:12px}.nav-row .btn{text-align:center;width:100%}}
