:root{--ink:#243b2e;--forest:#234634;--deep:#173627;--sage:#e6eddf;--leaf:#52765a;--cream:#f8f6ee;--paper:#fffefa;--line:#dfe5da;--muted:#6b766b;--gold:#be8e43;--red:#a24136;--shadow:0 10px 35px rgba(31,52,37,.075);font-family:-apple-system,BlinkMacSystemFont,'Noto Sans TC','PingFang TC',sans-serif;color:var(--ink);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);line-height:1.65}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}a:hover{opacity:.85}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}input,textarea,select{color:var(--ink)}:focus-visible{outline:3px solid #b4c49d;outline-offset:2px}.hidden{display:none!important}
.topline{height:5px;background:linear-gradient(90deg,#335e44,#7e925d 68%,#d3ac61)}.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.header-inner{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 25px}.brand{display:flex;align-items:center;gap:11px;font-size:20px;letter-spacing:.045em;font-weight:800;line-height:1.15}.brand-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:13px;background:var(--forest);color:#fff;font-size:22px}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.2em;font-weight:600;margin-top:6px}.nav{display:flex;align-items:center;gap:6px}.nav a{font-size:14px;padding:10px 15px;border-radius:9px;color:#52675a;font-weight:600}.nav a.active{background:var(--sage);color:var(--forest)}.nav .cart-link{background:var(--forest);color:white}.page{max-width:1120px;margin:0 auto;padding:40px 25px 78px}.page-narrow{max-width:930px}.eyebrow{color:#807147;font-size:12px;font-weight:800;letter-spacing:.21em;text-transform:uppercase}.heading{margin:8px 0 8px;font-size:clamp(27px,4vw,38px);letter-spacing:-.025em;line-height:1.35;color:var(--deep)}.description{color:var(--muted);font-size:15px;margin:0 0 27px}.hero{border-radius:26px;background:linear-gradient(130deg,#234432,#2e543b 62%,#3b6045);color:#fff;min-height:380px;display:grid;grid-template-columns:1.12fr .88fr;gap:20px;overflow:hidden;position:relative}.hero:before{content:'';position:absolute;right:-110px;bottom:-150px;width:560px;height:560px;border:1px solid #ffffff1c;border-radius:50%;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05;pointer-events:none}.hero-copy{padding:58px 56px;position:relative;z-index:1}.hero-copy h1{font-size:clamp(37px,5vw,60px);line-height:1.3;letter-spacing:.035em;margin:17px 0 15px;font-weight:800}.hero-copy p{font-size:15px;color:#e5ecdf;line-height:1.9;max-width:520px}.hero-copy .eyebrow{color:#d8b775}.hero-art{display:flex;align-items:center;justify-content:center;position:relative;isolation:isolate}.art-platter{width:min(75%,310px);aspect-ratio:1;border:1px solid #e6d4ae5e;border-radius:50%;display:flex;justify-content:center;align-items:center;transform:rotate(-8deg);box-shadow:0 0 0 23px #ffffff0a,0 0 0 47px #ffffff07,0 25px 65px #07190e45}.art-center{width:76%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#f3ddb4,#d6ae72 65%,#b78950);color:#2c5038;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(8deg);font-weight:900;font-size:33px;letter-spacing:.04em;line-height:1.3;box-shadow:inset 0 0 0 2px #ffedc3a6}.art-center small{font-weight:700;font-size:13px;letter-spacing:.25em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;border:1px solid transparent;padding:14px 24px;font-weight:750;font-size:15px;min-height:51px;text-align:center;transition:filter .2s}.btn:hover{filter:brightness(.95)}.btn-primary{background:var(--forest);color:white}.btn-gold{background:#e5c58a;color:#244431}.btn-outline{border-color:var(--line);background:var(--paper);color:var(--forest)}.btn-soft{background:var(--sage);color:var(--forest)}.btn-block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:11px;margin-top:23px}.hero .btn-outline{background:#ffffff12;color:#fff;border-color:#ffffff5f}.section-label{font-size:22px;color:var(--deep);margin:35px 0 16px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin:24px 0}.tile{border-radius:17px;background:var(--paper);border:1px solid var(--line);padding:25px;box-shadow:var(--shadow)}.tile strong{display:block;font-size:17px;margin-bottom:6px}.tile p{margin:0;color:var(--muted);font-size:14px}.tile-number{color:var(--gold);font-size:29px;font-weight:800;margin:0 0 7px}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:22px;align-items:start}.card{border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:27px;box-shadow:var(--shadow);margin-bottom:17px}.card h2{font-size:21px;color:var(--deep);margin:0 0 15px}.card h3{font-size:16px;margin:12px 0 10px}.muted{color:var(--muted);font-size:14px}.tiny{color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;background:#edf1e7;border-radius:20px;padding:6px 12px;font-weight:750;font-size:12px;color:#456445}.badge-warning{color:#925d2e;background:#fff1db}.price-xl{font-size:42px;font-weight:800;letter-spacing:-.04em;line-height:1.1}.price-xl small{font-size:14px;font-weight:500;color:var(--muted)}.photo-placeholder{border-radius:17px;background:linear-gradient(135deg,#f2e8d1,#e4eddf);display:flex;align-items:center;justify-content:center;min-height:260px;position:relative;overflow:hidden}.photo-placeholder:after{content:'家傳香';position:absolute;right:25px;bottom:19px;letter-spacing:.38em;font-size:11px;color:#788572}.product-emblem{border-radius:50%;background:#fdf9ec;border:7px solid #d4b980;color:#46684c;width:175px;height:175px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:28px;font-weight:900;line-height:1.25;box-shadow:0 12px 35px #816d4822}.product-emblem small{display:block;font-size:12px;font-weight:700;margin-top:8px;letter-spacing:.1em}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0}.row strong{white-space:nowrap}.divider{border:0;border-top:1px solid var(--line);margin:17px 0}.total{font-size:21px;color:var(--deep)}.amount{font-variant-numeric:tabular-nums}.stepper{display:flex;align-items:center;gap:11px;margin:15px 0}.stepper button{width:49px;height:49px;border:1px solid var(--line);background:var(--paper);color:var(--forest);font-size:24px;border-radius:11px}.stepper input{text-align:center;width:82px;height:49px;font-size:20px;font-weight:800;border-radius:11px;border:1px solid var(--line)}.notice{background:#f7f0e2;border:1px solid #e9ddc5;color:#805b30;border-radius:12px;padding:13px 15px;font-size:13px;line-height:1.7;margin:14px 0}.notice-info{background:#edf4eb;border-color:#d7e5d3;color:#416648}.alert{background:#ffefea;border:1px solid #f2d2ca;color:#9d3930;border-radius:12px;padding:14px 16px;font-size:14px;white-space:pre-wrap;margin:15px 0}.success-note{background:#eaf4e8;border:1px solid #cadfcb;border-radius:12px;padding:14px 16px;color:#245839;margin:15px 0;font-size:14px}.input-label{display:block;font-weight:750;font-size:14px;margin:15px 0 6px}.field,select.field,textarea.field{display:block;width:100%;padding:12px 14px;min-height:47px;background:#fff;border:1px solid #cfd8cd;border-radius:11px;font-size:15px}.field::placeholder{color:#a5aea3}.field:focus{border-color:#688771;outline:2px solid #bdcebe}.field-area{min-height:90px;resize:vertical}.fields-2{display:grid;grid-template-columns:1fr 1fr;gap:13px}.checkline{display:flex;gap:11px;align-items:flex-start;margin:23px 0}.checkline input{width:18px;height:18px;margin:4px 0;flex:none;accent-color:#315f42}.checkline label{margin:0;font-size:13px;line-height:1.7}.text-link{color:#2d7047;text-decoration:underline;text-underline-offset:3px}.stepbar{display:flex;align-items:center;gap:7px;margin:3px 0 30px}.stepunit{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:700;color:#9baca0}.stepunit .num{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;border:1px solid #bfcabd;font-size:12px;flex:none}.stepunit.on{color:var(--forest)}.stepunit.on .num{background:var(--forest);color:white;border-color:var(--forest)}.stepunit.done .num{background:#e3ebdf;color:#3c6749;border-color:#e3ebdf}.step-line{height:1px;background:#d4ded3;flex:1;min-width:8px}.sticky-summary{position:sticky;top:95px}.summary-title{font-size:15px!important}.summary-value{font-weight:800}.details-list{margin:0;display:grid;grid-template-columns:115px minmax(0,1fr);gap:12px 15px}.details-list dt{color:var(--muted);font-size:14px}.details-list dd{margin:0;overflow-wrap:anywhere;font-size:14px;font-weight:600}.details-list .wide{grid-column:1/-1}.status-box{display:flex;align-items:start;gap:13px;border:1px solid #d7e5d3;background:#f0f6ed;border-radius:14px;padding:16px}.status-dot{background:#3a7450;color:#fff;border-radius:50%;width:29px;height:29px;flex:none;display:grid;place-items:center;font-weight:800}.status-box strong{display:block;margin-bottom:3px}.status-box p{margin:0;color:#5b715d;font-size:13px}.orders-list{display:grid;gap:13px}.order-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.order-card .order-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:9px}.order-card .order-id{font-weight:800;overflow-wrap:anywhere;font-size:14px}.status-badges{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.status-badges span{background:#f0f3ec;border-radius:6px;padding:4px 8px;font-size:12px;color:#59705d}.order-card .btn{padding:9px 15px;min-height:40px;font-size:13px}.empty{border:1px dashed #cdd9ca;border-radius:16px;padding:40px 18px;text-align:center;background:#fffefa}.empty .glyph{font-size:36px;margin-bottom:11px}.footer{border-top:1px solid var(--line);background:var(--paper);padding:26px 20px;color:#7b887b;font-size:12px;text-align:center;line-height:2}.footer a{margin:0 8px;text-decoration:underline;text-underline-offset:3px}.footer strong{font-size:14px;color:#2c5139;letter-spacing:.12em}.login-meta{font-size:12px;color:#68816d}.flow-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}.flow-actions .btn-primary{min-width:210px}.toast-region{position:fixed;z-index:100;left:14px;right:14px;bottom:18px;display:flex;justify-content:center;pointer-events:none}.toast{pointer-events:auto;max-width:600px;padding:13px 20px;border-radius:13px;box-shadow:0 12px 36px #0002;background:#284734;color:white;font-size:14px}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.mobile-bottom{display:none}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-copy{padding:43px 37px 10px}.hero-art{min-height:245px}.art-platter{width:200px}.tiles{gap:10px}.content-grid{grid-template-columns:1fr}.sticky-summary{position:static}.nav a{padding:8px 10px}}@media(max-width:620px){.header-inner{padding:12px 16px}.brand{font-size:18px}.brand-icon{width:35px;height:35px;font-size:19px}.nav{display:none}.page{padding:26px 15px 90px}.hero{border-radius:20px;min-height:0;gap:0}.hero-copy{padding:31px 25px 10px}.hero-copy h1{font-size:37px}.hero-copy p{font-size:14px}.hero-art{min-height:215px}.art-platter{width:155px;box-shadow:0 0 0 18px #ffffff0a,0 0 0 36px #ffffff07}.art-center{font-size:25px}.art-center small{font-size:11px}.tiles{grid-template-columns:1fr}.tile{padding:17px}.card{padding:20px;border-radius:15px}.fields-2{grid-template-columns:1fr;gap:0}.flow-actions{align-items:stretch;flex-direction:column-reverse}.flow-actions .btn{width:100%}.stepbar{gap:4px}.stepunit{gap:4px;font-size:11px}.stepunit .num{width:23px;height:23px}.step-line{min-width:4px}.price-xl{font-size:37px}.photo-placeholder{min-height:205px}.product-emblem{width:140px;height:140px;font-size:24px}.details-list{grid-template-columns:89px minmax(0,1fr);gap:10px}.mobile-bottom{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:29;grid-template-columns:repeat(3,1fr);border-top:1px solid #dbe5da;background:#fffefaed;backdrop-filter:blur(12px);padding:8px 5px calc(8px + env(safe-area-inset-bottom))}.mobile-bottom a{font-size:12px;font-weight:700;text-align:center;color:#6b806e;display:flex;flex-direction:column;align-items:center;gap:0}.mobile-bottom a span{font-size:18px}.mobile-bottom a.active{color:var(--deep)}.footer{padding-bottom:95px}}
