:root{--cream:#fbf7ee;--ink:#37262a;--wine:#752f40;--gold:#ad8648;--line:#d9c5a5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:65px}body{margin:0;color:var(--ink);background:var(--cream);font-family:"Noto Sans TC","PingFang TC",sans-serif;font-size:15px;line-height:1.7}button,select,input{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--wine);border-radius:3px;background:var(--wine);color:#fff;padding:11px 22px;transition:background .2s}button:hover{background:#532334}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #2563eb;outline-offset:4px}button:disabled{opacity:.45;cursor:default}.secondary{background:transparent;color:var(--wine)}.secondary:hover{background:#f3e9db}.test-ribbon{text-align:center;background:#49373a;color:#fff6e8;font-size:12px;padding:8px 12px;letter-spacing:1px}header{max-width:1320px;margin:auto;padding:25px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:30px;color:var(--wine);text-decoration:none;line-height:1.1}.brand span{display:block;letter-spacing:2px;font-family:sans-serif;font-size:9px;margin-top:8px}.edition{font-family:Georgia,serif;letter-spacing:3px;color:var(--gold);font-size:12px}main{max-width:1320px;margin:auto;padding:0 40px 90px}#status:not(:empty){max-width:760px;margin:24px auto;padding:16px;border:1px solid var(--line);text-align:center;background:#fff9e9}#status.error{border-color:#ac3045;color:#8b2037}.hero{text-align:center;padding:62px 20px 38px}.eyebrow{font-family:Georgia,serif;color:var(--gold);font-size:11px;letter-spacing:4px}h1{font-family:"Noto Serif TC","Songti TC",serif;font-weight:500;font-size:clamp(30px,4.5vw,52px);letter-spacing:5px;margin:16px 0;color:var(--wine);line-height:1.4}.hero p{margin:10px 0}.dates{font-size:12px;letter-spacing:1px;color:#786a64}.ornament{color:var(--gold);padding:12px}.intro{color:#76685f;font-size:14px;line-height:2.1}.actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}.actions label{font-size:12px}.actions select{border:1px solid var(--line);background:transparent;padding:10px;color:var(--ink)}#tabs{display:flex;justify-content:center;gap:28px;position:sticky;top:0;background:#fbf7eef5;z-index:3;padding:15px;border-bottom:1px solid var(--line);backdrop-filter:blur(5px)}#tabs a{color:var(--wine);text-decoration:none;font-size:14px;letter-spacing:2px}.table{padding:40px 0 10px;scroll-margin-top:70px}.table-title{display:flex;align-items:center;gap:20px;margin-bottom:22px}.table-title .number{border:1px solid var(--gold);color:var(--gold);font:italic 28px Georgia;border-radius:50%;width:55px;height:55px;display:grid;place-items:center}.table h2{font-family:"Songti TC",serif;letter-spacing:3px;font-weight:500;margin:0;font-size:26px}.table-title p{margin:0;color:#8b7a6a;font-size:11px;letter-spacing:2px}.card-grid{padding:26px;background:repeating-linear-gradient(45deg,#f7f0e4 0px,#f7f0e4 2px,#f9f3e9 2px,#f9f3e9 7px);border:1px solid var(--line);border-radius:60px 60px 14px 14px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;box-shadow:0 15px 35px #83674f12}.product{position:relative;background:#fffdf8;min-width:0;padding:16px 13px 13px;border:1px solid #e8dbc7;box-shadow:0 3px 10px #65442d08;display:flex;flex-direction:column;border-radius:5px}.product.selected{outline:2px solid var(--wine);outline-offset:2px;background:#fff8f1}.product.unavailable{opacity:.6}.plate{border:1px solid #dfcda8;border-radius:50%;background:radial-gradient(ellipse,#fff 55%,#f7edda 63%,#fffdf9 67%,#e7d6b5 69%,#fffdf9 70%);aspect-ratio:1;display:grid;place-items:center;padding:15%;margin:4px 8px 15px}.plate img{max-width:100%;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;min-height:0}.product h3{font-size:14px;font-weight:500;line-height:1.6;min-height:45px;margin:3px 0 6px}.product .size{font-size:11px;color:#8d7c69}.product .desc{font-size:11px;color:#7b7068;line-height:1.7;min-height:36px;margin:4px 0 9px}.product .price{font-family:Georgia,serif;font-size:18px;color:var(--wine);margin-top:auto;margin-bottom:9px}.product .price small{font-family:sans-serif;font-size:10px;letter-spacing:1px;margin-right:6px;color:#84745f}.product button{padding:8px 6px;font-size:12px;width:100%}.product .availability{font-size:10px;min-height:18px;color:#896e4c;margin:3px 0}.tasting{display:grid;grid-template-columns:2fr 1fr;gap:30px;margin:55px 0 35px;background:#f0e6d7;border-top:2px solid var(--gold);padding:30px}.tasting h2,.cart h2{font-family:"Songti TC",serif;font-weight:500;margin:8px 0 16px;font-size:25px}.selection-row{display:flex;align-items:center;gap:10px;margin:10px 0;border-bottom:1px solid #d8c6ab;padding-bottom:9px;flex-wrap:wrap}.selection-row strong{font-size:12px;color:var(--wine)}.selection-row span{font-size:13px}.selection-row label{font-size:11px;color:#7a6c59;margin-left:auto;white-space:nowrap}.selection-row button{padding:3px 9px;font-size:11px}#selected-total{font-size:18px}#add-table,#add-partial{width:100%;margin:6px 0}#add-partial{font-size:12px}.cart{padding:30px;border:1px solid var(--line);background:#fffdf8}.cart-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.cart>p{font-size:12px;color:#74685d}.bundle-summary{padding:15px;margin:12px 0;background:#f5ede0;border-left:3px solid var(--gold);font-size:13px}.bundle-summary strong{color:var(--wine)}.bundle-summary ul{padding-left:18px;margin:8px 0}.cart-line{display:grid;grid-template-columns:1fr 70px 65px;gap:10px;align-items:center;border-bottom:1px solid #eee3d1;padding:13px 0}.cart-line span{font-size:13px}.cart-line input{width:100%;padding:5px;border:1px solid var(--line);background:#fff}.cart-line button{padding:4px;font-size:12px}.fine{font-size:11px!important;color:#8b7766!important}#cart-total{text-align:right;font-size:22px;color:var(--wine);margin:20px 0}#missing button{margin:5px;padding:7px 12px;font-size:12px}.selection-dock{position:fixed;bottom:0;left:0;right:0;display:flex;gap:10px;justify-content:space-between;align-items:center;padding:12px max(20px,calc((100vw - 1240px)/2));padding-bottom:max(12px,env(safe-area-inset-bottom));background:#752f40f5;color:#fff6e5;z-index:5;font-size:13px}.selection-dock a{color:#fff6e5;white-space:nowrap}footer{text-align:center;color:#937d62;padding:48px 10px 10px;letter-spacing:2px;font-size:13px}footer small{font-size:10px;letter-spacing:0}@media(min-width:1200px){.card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product:nth-child(3n+1){transform:rotate(-.7deg)}.product:nth-child(3n+2){transform:rotate(.7deg)}}@media(max-width:800px){header{padding:20px}.edition{font-size:10px;letter-spacing:1px}main{padding:0 16px 100px}.hero{padding:36px 0 25px}h1{letter-spacing:2px}.actions{gap:8px}.actions button{padding:9px 12px;font-size:12px}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px;border-radius:35px 35px 10px 10px}.tasting{grid-template-columns:1fr;gap:10px;padding:22px}.cart{padding:20px}.table-title{gap:13px}.table h2{font-size:22px}#tabs{gap:15px}#tabs a{font-size:12px;letter-spacing:1px}}@media(max-width:520px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 10px;gap:12px 9px}.product{padding:11px 9px}.product h3{font-size:12px;min-height:40px}.product .desc{font-size:10px}.plate{padding:14%;margin:3px 0 12px}.table-title .number{width:42px;height:42px;font-size:23px}.table h2{font-size:20px;letter-spacing:1px}.cart-line{grid-template-columns:1fr 52px 45px}.selection-dock{font-size:11px;padding-left:15px;padding-right:15px}.test-ribbon{font-size:10px;letter-spacing:0}.brand{font-size:25px}.intro{font-size:12px}.cart-heading .secondary{font-size:11px;padding:6px 10px}.selection-row{gap:7px}#status:not(:empty){font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.member-hint{font-size:13px;color:#776356;line-height:1.9;margin:16px auto 0!important;max-width:650px}.member-hint a{color:var(--wine);text-underline-offset:3px}

/* Readable product menu and selected dishes on desktop and phones. */
body{font-size:17px}.intro,.member-hint,.actions label,.dates{font-size:16px}.actions select,.actions button{font-size:17px}.product h3{font-size:18px;min-height:58px;font-weight:600}.product .size,.product .desc{font-size:14px}.product .price{font-size:23px}.product .price small{font-size:14px}.product button{font-size:17px;min-height:46px}.product .availability{font-size:14px}.selection-row{display:grid;grid-template-columns:88px minmax(0,1fr) auto auto;gap:14px;padding:16px 0;margin:0}.selection-row>img{width:88px;height:88px;object-fit:contain;background:#fffdf8;border:1px solid var(--line);border-radius:8px;grid-column:1}.selection-info{min-width:0;grid-column:2;display:flex;flex-direction:column;gap:5px}.selection-info strong{font-size:16px}.selection-info span{font-size:20px;font-weight:600;line-height:1.6}.selection-row label{font-size:16px;margin:0;display:flex;align-items:center;gap:6px;min-height:44px}.selection-row input{width:22px;height:22px;margin:0}.selection-row button{font-size:16px;min-height:44px;padding:6px 12px}.selection-row:not(:has(img)) .selection-info{grid-column:1 / -1}.cart>p,.bundle-summary,.cart-line span,#add-partial,#missing button{font-size:16px}.cart-line button{font-size:16px;min-height:44px}.fine{font-size:14px!important}#tabs a{font-size:16px;letter-spacing:0}.selection-dock{font-size:16px}
@media(max-width:800px){.actions button{font-size:17px;padding:11px 16px}.tasting{padding:22px}.selection-row{gap:12px}.product h3{font-size:18px}.intro{font-size:16px}}
@media(max-width:520px){.tasting{padding:18px 14px}.selection-row{grid-template-columns:76px minmax(0,1fr) auto;gap:10px}.selection-row>img{width:76px;height:76px;grid-row:1 / 3}.selection-info{grid-column:2 / -1}.selection-info strong{font-size:16px}.selection-info span{font-size:19px}.selection-row label{grid-column:2;grid-row:2;justify-self:start}.selection-row button{grid-column:3;grid-row:2}.product h3{font-size:18px;min-height:58px}.product .desc,.product .size{font-size:14px}.product .price{font-size:22px}.product button{font-size:16px}.cart{padding:18px 14px}.cart-heading{align-items:flex-start;flex-wrap:wrap}.cart-heading .secondary{font-size:16px;padding:9px 12px}.cart-line{grid-template-columns:minmax(0,1fr) 56px 52px;gap:8px}.selection-dock{font-size:14px;flex-wrap:wrap;gap:4px 12px}#tabs{gap:10px;padding:12px 0}#tabs a{font-size:15px}.test-ribbon{font-size:12px}#status:not(:empty){font-size:16px}}

/* One course at a time, with persistent selection progress. */
#tabs{gap:12px;justify-content:stretch;padding:12px 0}#tabs [role=tab]{flex:1;background:#fffdf8;color:var(--wine);border:1px solid var(--line);font-size:18px;min-height:52px;padding:10px 14px}#tabs [role=tab][aria-selected=true]{background:var(--wine);color:white;border-color:var(--wine)}.course-step{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 4px}.course-step p{margin:0;font-size:17px}.course-step button{flex-shrink:0;font-size:17px}.table{padding-top:26px}
@media(max-width:520px){#tabs{gap:7px}#tabs [role=tab]{padding:10px 4px;font-size:16px;min-height:48px}.course-step{align-items:stretch;flex-direction:column;gap:12px}.course-step button{width:100%}.table{padding-top:22px}}

/* Campaign headline retains its desktop size on phones. */
h1{font-size:52px}#subtitle{font-weight:600;font-size:18px;line-height:1.8}@media(max-width:520px){h1{font-size:52px;letter-spacing:2px;overflow-wrap:normal}#subtitle{font-size:18px}}

/* A separate, static metallic numeral keeps the offer easy to scan. */
.hero{padding-top:40px}.hero>.eyebrow{font-family:inherit;font-size:16px;letter-spacing:3px}h1{margin:12px 0 20px}.event-number{display:block;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;font-size:clamp(100px,12vw,154px);line-height:1.05;letter-spacing:8px;background:linear-gradient(125deg,#765123 10%,#c69b55 35%,#f2dba5 49%,#a87530 63%,#755021 90%);color:#a87530;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 0 #fff8e8);padding-right:12px}.event-name{display:block;font-size:52px;letter-spacing:3px;line-height:1.5;margin-top:8px}#subtitle{margin:14px 0}.offer-line{display:block;font-size:22px;line-height:1.6}.offer-discount{display:inline-block;border:1px solid var(--wine);color:var(--wine);border-radius:30px;font-size:16px;padding:2px 14px;margin-top:10px}.hero .dates{font-size:18px;font-weight:600;color:var(--wine);letter-spacing:1px}.ornament{padding:4px}.hero .intro{margin-top:8px}.hero .actions{margin-top:20px}
@media(max-width:520px){.hero{padding-top:28px}.event-number{font-size:112px;letter-spacing:6px}.event-name{font-size:52px;letter-spacing:0;max-width:7em;margin:8px auto 0;text-wrap:balance}.offer-line{font-size:21px}.hero .dates{font-size:18px}.hero>.eyebrow{font-size:15px}}

/* Shared TC font file prevents platform-specific title fallback. */
@font-face{font-family:BundleTitleTC;src:url("fonts/bundle-title-tc.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+6CD5,U+5F0F,U+5BF5,U+808C,U+76DB,U+5BB4}
.event-name{font-family:BundleTitleTC,"Noto Serif TC",serif;font-weight:500;font-synthesis:none}

/* Toggle the entire product; cart details appear once within each group. */
.product[role=button]{cursor:pointer;touch-action:manipulation}.product[aria-disabled=true]{cursor:default}.product[role=button]:focus-visible{outline:3px solid #2563eb;outline-offset:3px}.card-choice{display:block;text-align:center;color:var(--wine);font-size:15px;font-weight:600;padding:8px 0 0;border-top:1px solid var(--line)}.product.selected .card-choice{color:white;background:var(--wine);border-radius:3px;padding:7px 3px}.pick-hint{font-size:16px;color:var(--wine);margin:0 0 16px}.cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;border-top:1px solid var(--line);padding:16px 0}.cart-item:first-of-type{margin-top:14px}.cart-item>img{width:64px;height:64px;object-fit:contain;background:white;border-radius:6px}.cart-item-info{min-width:0;display:flex;flex-direction:column;gap:4px}.cart-item-info strong{font-size:17px;color:var(--ink);line-height:1.6}.cart-item-info span{font-size:15px;white-space:nowrap}.cart-item-controls{display:flex;gap:8px;align-items:center}.cart-item-controls input{width:58px;min-height:44px;border:1px solid var(--line);padding:6px;background:white}.cart-item-controls button{font-size:16px;min-height:44px;padding:7px 10px}#cart-total{display:flex;justify-content:flex-end;gap:8px 20px;flex-wrap:wrap}#cart-total>span{white-space:nowrap}.saved-amount{font-size:18px;align-self:center}
@media(max-width:520px){.bundle-summary{padding:14px 12px}.cart-item{grid-template-columns:58px minmax(0,1fr);gap:10px}.cart-item>img{width:58px;height:58px;grid-row:1 / 3}.cart-item-controls{grid-column:2;justify-content:flex-end}.cart-item-info strong{font-size:17px}#cart-total{font-size:21px;gap:6px 14px}.saved-amount{font-size:17px}.card-choice{font-size:14px}}

.product h3 .size{display:inline;font-size:13px;font-weight:400;line-height:inherit;color:#796b5d;white-space:nowrap}
.tasting-actions button{width:100%;margin:6px 0}
.lock-hint{font-size:14px;color:#7a6c59;margin:-8px 0 8px}
.selection-row label.lock-toggle{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--gold);border-radius:999px;padding:5px 14px;color:#7a5a2c;background:#fffaf0;cursor:pointer;user-select:none;transition:background .2s}.lock-toggle input{position:absolute;opacity:0;width:1px;height:1px}.selection-row label.lock-toggle:hover{background:#f6ead3}.selection-row label.lock-toggle:has(input:checked){background:var(--wine);border-color:var(--wine);color:#fff}.lock-toggle:has(input:focus-visible){outline:3px solid #2563eb;outline-offset:3px}
#selected-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0 0 10px}#selected-total span{white-space:nowrap}.st-was{width:100%;font-size:14px;color:#8b7a6a}.st-was s{text-decoration-color:#ac3045}.st-now{font-family:Georgia,serif;font-size:30px;line-height:1.2;color:var(--wine)}.st-now small{font-family:"Noto Sans TC",sans-serif;font-size:14px;margin-right:6px;color:var(--ink)}.st-save{align-self:center;background:#ac3045;color:#fff;font-size:14px;padding:2px 10px;border-radius:999px;letter-spacing:1px}.st-count{font-size:18px;color:var(--wine)}
#cart-total{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:4px 12px;font-size:inherit;color:inherit;text-align:right}#cart-total:empty{display:none}#cart-total .st-was{text-align:right}
.member-hint-inline{font-size:13px;color:#7a6c59;line-height:1.7;margin:0 0 10px;text-align:left}.member-hint-inline a{color:var(--wine)}
.launch-ribbon{text-align:center;background:var(--wine);color:#fff6e8;font-size:14px;padding:9px 12px;letter-spacing:1px}.checkout-btn{display:block;width:100%;margin:18px 0 8px;font-size:19px;min-height:54px;font-weight:600;letter-spacing:1px}.checkout-btn:disabled{opacity:1;background:#8c7b70;border-color:#8c7b70}.live-test-note{margin:14px 0 0;padding:10px 12px;border:1px dashed #ac3045;color:#8b2037;background:#fff4f4;font-size:15px}
@media(max-width:520px){.launch-ribbon{font-size:12px;letter-spacing:0}.checkout-btn{font-size:17px}}
