:root{--ink:#183e35;--muted:#79857b;--paper:#f5f4ed;--line:#dce1d5;--gold:#ac824d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}button,input,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:0;background:var(--ink);color:white;padding:11px 20px;border-radius:4px}button:disabled{opacity:.5}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}a{color:inherit;text-decoration:none}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 6vw;background:#f9f9f3}header .logo{font:700 27px 'Noto Serif SC',serif;letter-spacing:4px}header .logo small{font:10px sans-serif;letter-spacing:2px;display:block}nav{display:flex;gap:28px;align-items:center}nav a{cursor:pointer}nav a.active{color:var(--gold)}main{max-width:1320px;margin:auto;padding:32px 5vw 100px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--gold);text-transform:uppercase}.serif,h1,h2,h3{font-family:'Noto Serif SC','Songti SC',serif;font-weight:500}h1{font-size:56px;line-height:1.35;margin:17px 0}h2{font-size:28px;margin:8px 0 22px}p{color:var(--muted)}.hero{display:grid;grid-template-columns:1.1fr 1fr;background:#e8ecdf;min-height:390px;overflow:hidden;border-radius:6px}.hero-copy{padding:45px}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 65%,#b9c5a6,transparent 65%);overflow:hidden}.hero-art:before{content:'茶';position:absolute;font:280px 'Songti SC',serif;color:#fff5;right:-10px;top:-40px}.tea-box{width:170px;height:235px;position:relative;background:linear-gradient(100deg,#1d4b3c,#2f5f4b 75%,#173b30 76%);box-shadow:24px 30px 35px #29472c30;transform:rotate(-9deg);display:flex;align-items:center;justify-content:center;color:#e3cca0;font:36px 'Songti SC',serif;writing-mode:vertical-rl;letter-spacing:13px;border:1px solid #72856d}.tea-box:after{content:'武夷山原产 · 手作好茶';position:absolute;font:9px sans-serif;letter-spacing:3px;left:20px}.circle{width:130px;height:130px;background:radial-gradient(circle,#674525 40%,#eee9d7 43%,#fcf9ed 55%,#cac9b8 58%,#ebe9da 63%,transparent 65%);position:absolute;right:18px;bottom:8px;transform:scaleY(.7);filter:drop-shadow(10px 15px 6px #193b3422)}.section-head{display:flex;justify-content:space-between;align-items:end;margin:38px 0 18px}.section-head h2{margin:0}.chips{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.chip{padding:7px 18px;border-radius:30px;border:1px solid var(--line);background:transparent;color:var(--ink)}.chip.active{background:var(--ink);color:white}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card{background:#fffef8;border:1px solid var(--line);border-radius:5px;overflow:hidden}.product-art{height:210px;display:flex;align-items:center;justify-content:center;background:#e7e9dc;position:relative}.product-art .tea-box{width:100px;height:142px;font-size:23px;letter-spacing:7px;transform:rotate(-6deg)}.product-art .tea-box:after{display:none}.product-art.green{background:#e0e8d8}.product-art.green .tea-box{background:linear-gradient(100deg,#aeb78c,#c0c7a3);color:#3d5633}.product-art.white{background:#eae4d7}.product-art.white .tea-box{background:linear-gradient(100deg,#b69c73,#d0bb93);color:#fff6dd}.product-art.service{background:#e5e2d6}.product-art.service .tea-box{border-radius:50%;height:110px;width:150px;writing-mode:horizontal-tb;background:#7d6148;font-size:28px;letter-spacing:4px;border:12px solid #d4c5aa;transform:scaleY(.8)}.card-body{padding:20px}.card h3{font-size:18px;margin:6px 0}.card p{font-size:12px;min-height:42px}.price{font-size:21px;color:var(--gold)}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.card button{padding:7px 12px;font-size:12px}.perks{display:grid;grid-template-columns:repeat(3,1fr);margin-top:32px;border:1px solid var(--line);background:#f9f9f1}.perks>div{padding:24px;border-right:1px solid var(--line)}.perks p{margin:4px 0;font-size:12px}.notice{font-size:12px;padding:9px 6vw;background:#e9dfca;color:#6e5736}.panel{padding:28px;background:#fffef8;border:1px solid var(--line);border-radius:6px;margin:18px 0}.member-card{background:linear-gradient(115deg,#1d493c,#3f6550);color:#f2e4bd;padding:32px;border-radius:8px}.member-card p{color:#ced5bd}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:20px 0}.stat{background:#fffef8;border:1px solid var(--line);padding:22px}.stat strong{font:32px Georgia;display:block}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.empty{text-align:center;padding:40px;color:var(--muted)}label{display:block;margin:12px 0}input,textarea{border:1px solid var(--line);padding:12px;width:100%;background:#fffef8;border-radius:4px;color:var(--ink)}input[type=checkbox]{width:auto}dialog{border:1px solid var(--line);border-radius:10px;width:min(440px,95vw);padding:30px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#102f2b77}dialog h2{margin:0 0 15px}.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#183e35;color:white;z-index:99;padding:12px 24px;border-radius:6px;max-width:90vw}.badge{font-size:11px;padding:3px 8px;background:#e8ecdf;color:#466048;border-radius:3px}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;border-bottom:1px solid var(--line);padding:14px 10px;white-space:nowrap}.scroll{overflow:auto}.table-actions{display:flex;gap:5px}.table-actions button{font-size:12px;padding:5px 8px}.admin-nav{display:flex;gap:12px;margin:25px 0;flex-wrap:wrap}footer{text-align:center;color:var(--muted);font-size:11px;padding:20px;border-top:1px solid var(--line)}.qr{width:220px;display:block;margin:20px auto}.privacy{font-size:12px}.title-bar{display:flex;align-items:center;gap:14px}.title-bar span{font-size:12px;color:var(--muted)}
@media(max-width:800px){header{height:72px;padding:0 5vw}header .logo{font-size:22px}nav{gap:16px;font-size:13px}nav a.admin-link{display:none}main{padding:20px 5vw 90px}.hero{grid-template-columns:1.2fr 1fr;min-height:300px}.hero-copy{padding:25px 20px}h1{font-size:34px}.hero-copy p{font-size:12px}.hero-art .tea-box{width:100px;height:170px;font-size:25px}.circle{width:85px;right:-15px;bottom:20px}.hero-art:before{font-size:180px;top:0}.grid{grid-template-columns:repeat(2,1fr);gap:12px}.product-art{height:170px}.card-body{padding:13px}.card h3{font-size:15px}.row{flex-wrap:wrap}.perks>div{padding:14px}.perks{font-size:12px}.split{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:25px}.stat span{font-size:11px}h2{font-size:24px}.notice{font-size:10px}.section-head{align-items:start}.section-head>span{font-size:10px}.member-card{padding:24px}}

dialog{max-height:90vh;overflow:auto}

select{font:inherit;display:block;width:100%;padding:10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}

@media(max-width:480px){
 .hero{grid-template-columns:minmax(0,1fr)}
 .hero-copy{padding:26px 22px 20px}
 .hero-copy h1{font-size:32px;line-height:1.4;margin:14px 0}
 .hero-copy .eyebrow{letter-spacing:1.5px;font-size:10px}
 .hero-copy p{font-size:14px}
 .hero-art{min-height:190px}
 .hero-art .tea-box{height:145px;width:100px}
 .hero-art:before{right:15px;top:-35px;font-size:220px}
 .hero-art .circle{right:30px;bottom:0}
 .panel{padding:20px;overflow-wrap:anywhere}
 .stat{min-width:0;padding:10px 8px}
 .stat strong{font-size:clamp(17px,5vw,24px);overflow-wrap:anywhere}
 .section-head{gap:12px;flex-wrap:wrap}
 dialog{padding:20px}
 header{gap:12px}
 nav{gap:12px;font-size:12px}
 .qr{max-width:100%;height:auto}
}

.alliance-hero,.business-profile{background:#e8ecdf;border-radius:8px;padding:42px;margin:20px 0}.alliance-hero h1,.business-profile h1{font-size:42px;overflow-wrap:anywhere}.member-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.directory-card{margin:0}.intro-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.long-copy{white-space:pre-wrap;overflow-wrap:anywhere}.business-profile{border-top:5px solid var(--gold)}@media(max-width:800px){.member-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.member-directory{grid-template-columns:minmax(0,1fr)}.alliance-hero,.business-profile{padding:24px}.alliance-hero h1,.business-profile h1{font-size:30px}}

.business-art{height:210px;background:linear-gradient(135deg,#e4eade,#d7e1d6);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--ink)}.business-symbol{font:70px serif;color:#597563}@media(max-width:800px){.business-art{height:170px}}
