:root{--bg:oklch(96% 0.018 60);--surface:oklch(99% 0.008 60);--ink:oklch(18% 0.012 30);--muted:oklch(46% 0.020 30);--border:oklch(86% 0.020 60);--lacquer:oklch(36% 0.140 25);--lacquer-deep:oklch(24% 0.110 25);--gold:oklch(72% 0.110 75);--gold-soft:oklch(82% 0.060 75);--font-display:"Cormorant Garamond","Newsreader","Iowan Old Style",Georgia,serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"SF Pro Text",system-ui,sans-serif;--font-mono:ui-monospace,"JetBrains Mono",Menlo,monospace;--font-han:"Noto Serif TC","Songti SC","Songti TC","STSong",serif;--gut:clamp(20px,4vw,72px);--max:1280px}*{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}::-moz-selection{background:var(--gold-soft);color:var(--ink)}::selection{background:var(--gold-soft);color:var(--ink)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3{margin:0;font-weight:400;letter-spacing:-.01em}p{margin:0}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}.kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px}.kicker:before{content:"";width:24px;height:1px;background:var(--gold)}.han{font-family:var(--font-han);font-weight:400}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-reveal]{opacity:0;transform:translateY(22px);filter:blur(3px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1),filter .8s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0s)}[data-reveal].is-in{opacity:1;transform:translateY(0);filter:blur(0)}[data-reveal-stagger]>[data-reveal]:first-child{--reveal-delay:0ms}[data-reveal-stagger]>[data-reveal]:nth-child(2){--reveal-delay:140ms}[data-reveal-stagger]>[data-reveal]:nth-child(3){--reveal-delay:260ms}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}.nav{position:sticky;top:0;z-index:50;background:oklch(99% .008 60/.62);backdrop-filter:blur(28px) saturate(185%) brightness(1.04);-webkit-backdrop-filter:blur(28px) saturate(185%) brightness(1.04);border-bottom:1px solid oklch(20% .02 30/.06);box-shadow:inset 0 1px 0 oklch(100% 0 0/.6),0 6px 20px oklch(15% .02 30/.06);transition:border-color .32s ease,box-shadow .32s ease,background .32s ease}.nav.is-scrolled{border-bottom-color:oklch(20% .02 30/.09);box-shadow:inset 0 1px 0 oklch(100% 0 0/.65),0 8px 24px oklch(15% .02 30/.09)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}.brand{display:inline-flex;align-items:baseline;gap:12px;font-family:var(--font-display);font-size:22px;letter-spacing:-.01em}.brand .han{font-size:22px;color:var(--lacquer)}.nav ul{list-style:none;padding:0;margin:0;display:flex;gap:28px;align-items:center}.nav a{font-size:14px;color:var(--ink)}.nav a:hover{color:var(--lacquer)}.nav .order-pill{background:var(--lacquer);color:var(--surface);padding:9px 16px;border-radius:4px;font-size:13px;letter-spacing:.02em;transition:background .2s}.nav .order-pill:hover{background:var(--lacquer-deep);color:var(--surface)}@media (max-width:760px){.nav ul li:not(.cta){display:none}}.masthead{padding-block:clamp(48px,8vw,96px) clamp(40px,5vw,64px);border-bottom:1px solid var(--border);text-align:center;position:relative}.masthead .han-bg{position:absolute;inset:auto 0 -20% 0;text-align:center;font-family:var(--font-han);font-size:clamp(220px,30vw,460px);line-height:1;color:color-mix(in oklab,var(--lacquer) 5%,transparent);pointer-events:none;z-index:0;letter-spacing:.1em}.masthead-inner{position:relative;z-index:1}.masthead h1{font-family:var(--font-display);font-size:clamp(56px,9vw,140px);line-height:.94;letter-spacing:-.02em;margin-block:16px 18px}.masthead h1 .em-han{font-family:var(--font-han);color:var(--lacquer);font-size:.62em;margin-left:.22em;vertical-align:.06em}.masthead-deck{font-family:var(--font-display);font-size:clamp(19px,2.2vw,26px);line-height:1.4;font-style:italic;color:var(--muted);max-width:56ch;margin:0 auto}.masthead-cta-row{margin-top:clamp(36px,5vw,56px);gap:14px;flex-wrap:wrap;justify-content:center}.btn-primary,.masthead-cta-row{display:inline-flex;align-items:center}.btn-primary{gap:12px;background:var(--lacquer);color:var(--surface);padding:16px 26px;border-radius:4px;font-size:15px;letter-spacing:.01em;transition:background .2s,transform .2s;border:1px solid var(--lacquer-deep)}.btn-primary:hover{background:var(--lacquer-deep);transform:translateY(-1px);color:var(--surface)}.btn-primary .num{font-family:var(--font-mono);font-size:14px;opacity:.92;letter-spacing:.04em}.btn-primary .arrow{font-family:var(--font-display);font-size:18px}.btn-secondary{display:inline-flex;align-items:center;gap:8px;color:var(--ink);padding:16px 4px;font-size:14px;border-bottom:1px solid var(--ink);transition:color .2s,border-color .2s;letter-spacing:.02em}.btn-secondary:hover{color:var(--lacquer);border-bottom-color:var(--lacquer)}.meta-strip{border-bottom:1px solid var(--border);padding-block:clamp(24px,3vw,36px);background:var(--surface)}.meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:24px;gap:24px;max-width:var(--max);margin:0 auto;padding-inline:var(--gut);font-size:13px}.meta-grid .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.meta-grid .value{font-family:var(--font-display);font-size:19px;font-style:italic;line-height:1.25}.meta-grid .value.num{font-family:var(--font-mono);font-style:normal;font-size:15px;letter-spacing:.04em}.meta-grid .sub{font-size:11px;color:var(--muted);margin-top:6px}@media (max-width:880px){.meta-grid{grid-template-columns:1fr 1fr;gap:20px}}.pages{padding-block:clamp(60px,8vw,110px)}.pages-head{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:16px;margin-bottom:clamp(28px,4vw,44px)}.pages-head h2{font-family:var(--font-display);font-size:clamp(28px,3.4vw,42px);line-height:1.05;letter-spacing:-.015em;max-width:22ch}.pages-head .help{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border:1px solid var(--border);padding:8px 12px;border-radius:2px;background:var(--surface)}.pages-head .help svg{width:14px;height:14px;stroke:var(--lacquer)}.pages-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(20px,2.5vw,36px);gap:clamp(20px,2.5vw,36px)}@media (max-width:880px){.pages-grid{grid-template-columns:1fr;gap:24px}}.page-card{position:relative;border-radius:3px;background:var(--surface);overflow:hidden;cursor:zoom-in;transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s cubic-bezier(.22,1,.36,1);box-shadow:0 1px 0 color-mix(in oklab,var(--ink) 4%,transparent),0 1px 2px color-mix(in oklab,var(--ink) 5%,transparent),0 16px 36px -22px color-mix(in oklab,var(--lacquer) 40%,transparent)}.page-card:hover{transform:translateY(-4px);box-shadow:0 1px 0 color-mix(in oklab,var(--ink) 5%,transparent),0 1px 2px color-mix(in oklab,var(--ink) 6%,transparent),0 28px 60px -28px color-mix(in oklab,var(--lacquer) 50%,transparent)}.page-card:focus-visible{outline:2px solid var(--lacquer);outline-offset:4px}.page-card .label{position:absolute;top:14px;left:14px;z-index:2;font-family:var(--font-mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--surface);background:color-mix(in oklab,var(--ink) 85%,transparent);padding:6px 10px;border-radius:2px;backdrop-filter:blur(4px)}.page-card .zoom-cue{position:absolute;bottom:14px;right:14px;z-index:2;width:36px;height:36px;border-radius:50%;background:color-mix(in oklab,var(--surface) 92%,transparent);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--lacquer);transition:transform .3s cubic-bezier(.22,1,.36,1)}.page-card:hover .zoom-cue{transform:scale(1.08)}.page-card .zoom-cue svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6}.page-card img{width:100%;height:auto;display:block;transition:transform 1.4s cubic-bezier(.22,1,.36,1)}.page-card:hover img{transform:scale(1.012)}.pages-note{margin-top:clamp(28px,4vw,44px);padding:22px 26px;border:1px solid var(--border);border-radius:3px;background:var(--surface);display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;font-size:14px;line-height:1.55;color:var(--muted)}.pages-note .han{font-family:var(--font-han);font-size:22px;color:var(--gold);line-height:1;flex-shrink:0}.pages-note strong{color:var(--ink);font-weight:600}.lightbox{position:fixed;inset:0;z-index:100;background:color-mix(in oklab,oklch(8% .015 30) 92%,transparent);display:none;opacity:0;transition:opacity .32s cubic-bezier(.22,1,.36,1);backdrop-filter:blur(8px)}.lightbox.is-open{display:flex;opacity:1}.lightbox-stage{flex:1 1;display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,60px);position:relative;overflow:auto;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;height:auto;border-radius:2px;box-shadow:0 40px 100px -30px oklch(8% .02 30);transform:scale(.96);opacity:0;transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .38s cubic-bezier(.22,1,.36,1);cursor:default}.lightbox.is-open img{transform:scale(1);opacity:1}.lightbox-close{position:fixed;top:22px;right:22px;width:44px;height:44px;border-radius:50%;background:color-mix(in oklab,var(--surface) 96%,transparent);border:1px solid color-mix(in oklab,var(--surface) 30%,transparent);color:var(--ink);display:flex;align-items:center;justify-content:center;z-index:2;cursor:pointer;transition:transform .2s,background .2s}.lightbox-close:hover{transform:scale(1.06);background:var(--surface)}.lightbox-close svg{width:18px;height:18px}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:color-mix(in oklab,var(--surface) 92%,transparent);color:var(--ink);border:1px solid color-mix(in oklab,var(--surface) 30%,transparent);display:flex;align-items:center;justify-content:center;z-index:2;cursor:pointer;transition:transform .2s,background .2s}.lightbox-nav.prev{left:22px}.lightbox-nav.next{right:22px}.lightbox-nav:hover{transform:translateY(-50%) scale(1.06);background:var(--surface)}.lightbox-nav svg{width:20px;height:20px}.lightbox-caption{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:2;font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:color-mix(in oklab,var(--surface) 80%,transparent);background:color-mix(in oklab,oklch(8% .02 30) 60%,transparent);padding:8px 14px;border-radius:2px;backdrop-filter:blur(4px)}.footer,body.is-locked{overflow:hidden}.footer{background:var(--lacquer);color:var(--surface);padding-block:clamp(72px,9vw,120px) clamp(28px,3vw,40px);position:relative}.footer:before{content:"中華";position:absolute;left:-2vw;bottom:-10vh;font-family:var(--font-han);font-size:clamp(180px,28vw,420px);line-height:1;color:var(--lacquer-deep);letter-spacing:-.04em;pointer-events:none}.footer-inner{position:relative;z-index:1}.footer-grid{display:grid;grid-template-columns:1.4fr 1.2fr auto;grid-gap:clamp(32px,5vw,80px);gap:clamp(32px,5vw,80px);margin-bottom:clamp(56px,7vw,88px);align-items:start}.footer-grid>.footer-hours-col{justify-self:end;min-width:280px;max-width:360px}@media (max-width:880px){.footer-grid{grid-template-columns:1fr;gap:40px}.footer-grid>.footer-hours-col{justify-self:start;min-width:0}}.footer h3{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:18px}.footer-brand .wordmark-sm{font-family:var(--font-display);font-size:36px;line-height:1;letter-spacing:-.01em;margin-bottom:14px}.footer-brand .wordmark-sm .han{font-family:var(--font-han);color:var(--gold);margin-left:12px;font-size:28px}.footer-brand p{font-size:15px;line-height:1.55;color:var(--gold-soft);max-width:32ch}.footer-hours{width:100%;border-collapse:collapse;font-size:14px;color:var(--gold-soft)}.footer-hours td{padding:8px 0;border-bottom:1px solid color-mix(in oklab,var(--surface) 12%,transparent)}.footer-hours tr:last-child td{border-bottom:none}.footer-hours td:first-child{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.footer-hours td:last-child{text-align:right;font-family:var(--font-display);font-size:16px}.footer-note{margin-top:14px;font-size:13px;font-style:italic;color:color-mix(in oklab,var(--gold-soft) 75%,transparent);max-width:30ch}.order-cta{display:inline-flex;align-items:center;gap:12px;background:var(--surface);color:var(--ink);padding:16px 24px;border-radius:4px;font-size:15px;margin-top:18px;transition:background .2s,transform .2s}.order-cta:hover{background:var(--gold-soft);transform:translateY(-1px);color:var(--ink)}.order-cta .num{font-size:14px;letter-spacing:.04em}.footer-bar,.order-cta .num{font-family:var(--font-mono)}.footer-bar{border-top:1px solid color-mix(in oklab,var(--surface) 18%,transparent);padding-top:24px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklab,var(--gold-soft) 80%,transparent)}.footer-bar a{color:inherit;border-bottom:1px solid;padding-bottom:1px}.bottom-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:color-mix(in oklab,var(--surface) 96%,transparent);border-top:1px solid var(--border);backdrop-filter:blur(10px)}.bottom-bar a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:56px;gap:4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.bottom-bar a svg{width:18px;height:18px;stroke:currentColor;fill:none}.bottom-bar a.primary{color:var(--surface);background:var(--lacquer)}.bottom-bar a.primary .num{font-family:var(--font-mono);font-size:13px;letter-spacing:.06em;color:var(--surface)}@media (max-width:760px){.bottom-bar{display:flex}body{padding-bottom:56px}.lightbox-nav.prev{left:12px}.lightbox-nav.next{right:12px}.lightbox-close{top:12px;right:12px}}