:root{--red:#791b21;--red-deep:#5b1018;--red-bright:#98282d;--cream:#f8f3e8;--paper:#fffdf7;--ink:#34241f;--muted:#706057;--gold:#d9b16c;--line:#dfd4c2;--serif:Georgia,'Noto Serif TC','Songti TC',serif;--sans:Arial,'Noto Sans TC','PingFang TC',sans-serif;scroll-behavior:smooth;scroll-padding-top:25px}*{box-sizing:border-box}body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.65;background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation;transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease}button{font:inherit;cursor:pointer}a:active,button:active{opacity:.85}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}figure,h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}img{display:block;max-width:100%;height:auto}[hidden]{display:none!important}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.skip-link{position:fixed;z-index:100;top:15px;left:15px;padding:10px 20px;background:var(--paper);transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.demo-banner{background:var(--cream);color:var(--muted);display:flex;align-items:center;justify-content:center;gap:13px;font-size:10px;letter-spacing:1px;padding:5px 15px;min-height:32px}.demo-banner a{display:inline-flex;align-items:center;min-height:24px;text-decoration:underline;text-underline-offset:3px}.site-header{padding:24px max(48px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:108px;background:var(--red);color:var(--cream);border-bottom:1px solid #a4544e}.brand{display:inline-flex;flex-direction:column}.brand>span{font-family:var(--serif);font-size:24px;line-height:1.1;letter-spacing:1.5px}.brand small{font-family:var(--sans);font-size:8px;letter-spacing:2.5px;margin-top:9px}.site-header nav{display:flex;gap:30px;font-size:13px}.site-header nav a,.header-call{display:flex;align-items:center;min-height:44px}.site-header nav a:hover{color:var(--gold)}.header-call{border:1px solid #bb7770;padding:9px 16px;font-size:13px;gap:25px}.header-call:hover{background:var(--red-deep)}.header-call>span{font-size:19px}
.hero{background:var(--red);color:var(--cream);position:relative;isolation:isolate;overflow:hidden}.hero-pattern{position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle at 100% 0,transparent 49.5%,#ffffff05 50%,transparent 50.5%);background-size:90px 90px}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;padding-top:72px;padding-bottom:70px;min-height:660px}.hero-copy>.eyebrow{color:var(--gold)}h1{font-size:clamp(75px,7.8vw,108px);line-height:.99;letter-spacing:-4px;margin-top:26px}h1>span{display:block;font-size:34px;line-height:1.3;font-style:italic;letter-spacing:0;margin-top:17px;color:var(--gold)}.hero-description{font-size:15px;line-height:1.9;margin-top:26px;color:#f2dfd2;max-width:400px}.hero-actions{display:flex;gap:27px;align-items:center;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:14px 22px;min-height:52px;border:1px solid transparent;font-size:13px;font-weight:600}.button>span,.underlined>span{font-weight:400;font-size:20px}.button-cream{background:var(--cream);color:var(--red)}.button-cream:hover{background:#eadcc5}.button-red{background:var(--red);color:var(--cream)}.button-red:hover{background:var(--red-deep)}.button-outline{border-color:var(--red);color:var(--red)}.button-outline:hover{background:var(--red);color:var(--cream)}.underlined{display:inline-flex;align-items:center;gap:22px;font-size:13px;min-height:44px;text-decoration:underline;text-underline-offset:6px}.underlined:hover{color:var(--gold)}.hero-composition{position:relative;min-height:460px;display:flex;align-items:center;justify-content:center}.hero-caption{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;color:var(--gold);font-size:10px;letter-spacing:3px}.dish-crop{background-image:url('assets/dim-sum-menu-1.jpg');background-size:1000% auto;background-repeat:no-repeat;background-color:#fff;aspect-ratio:1}.crop-pork{background-position:13% 3%}.crop-siumai{background-position:50% 3%}.crop-shrimp{background-position:99.4% 3%}.crop-shanghai{background-position:62.35% 33%}.crop-rice{background-position:62.35% 63%}.crop-tart{background-position:25.3% 93%}.hero-dish{width:min(375px,88%);border:16px solid var(--paper);outline:1px solid var(--gold);outline-offset:9px;transform:rotate(-6deg);box-shadow:0 20px 50px #30050d33}.hero-stamp{position:absolute;right:-10px;bottom:0;width:230px;padding:20px 20px 17px;background:var(--red-deep);border:1px solid var(--gold);transform:rotate(5deg);display:flex;align-items:center;flex-direction:column;color:var(--gold);font-size:8px;letter-spacing:1.3px}.hero-stamp [lang]{font-family:var(--serif);font-size:26px;letter-spacing:4px;margin-bottom:5px}.hero-stamp>span:last-child{font-size:7px;letter-spacing:1.5px}.stamp-line{display:block;width:35px;height:1px;background:var(--gold);margin:12px 0}.composition-corner{position:absolute;width:36px;height:36px;border:1px solid #c78f60}.corner-top{top:35px;left:0;border-right:0;border-bottom:0}.corner-bottom{bottom:20px;left:0;border-right:0;border-top:0}.hero-bottom{border-top:1px solid #a4544e;padding-top:23px;padding-bottom:23px;display:flex;align-items:center;gap:30px;font-size:10px;letter-spacing:1.6px}.hero-bottom a{margin-left:auto;display:flex;align-items:center;gap:28px;min-height:32px}.ornament{font-size:22px;color:var(--gold);line-height:1}
.takeout{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:48px;padding-bottom:48px;border-bottom:1px solid var(--line)}.takeout .eyebrow{color:var(--red)}.takeout h2{font-size:30px;line-height:1.3;margin-top:8px;margin-bottom:5px}.takeout p:not(.eyebrow){font-size:14px;color:var(--muted)}.takeout p a{text-decoration:underline;text-underline-offset:4px}.takeout-actions{display:flex;gap:14px}.takeout-actions .button{gap:22px;white-space:nowrap}.menu-section{padding-top:85px;padding-bottom:80px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:35px}.section-heading .eyebrow{color:var(--red)}h2{font-size:clamp(43px,4.6vw,62px);line-height:1.16;letter-spacing:-1.8px}.section-heading h2{margin-top:12px}.title-dot{color:var(--red)}.heading-note{font-size:13px;color:var(--muted);line-height:1.8}.menu-controls{display:flex;border-bottom:1px solid var(--line);gap:35px;margin-bottom:40px}.menu-controls button{position:relative;padding:15px 0;background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;color:var(--muted);min-height:52px;font-size:16px}.menu-controls button>span{font-size:10px;margin-left:24px}.menu-controls button:hover{color:var(--red)}.menu-controls button[aria-pressed=true]{color:var(--red);border-bottom-color:var(--red)}.dish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 30px;margin-bottom:55px}.dish-card{min-width:0}.dish-card .dish-crop{width:100%;border:1px solid #e5dece;box-shadow:0 5px 15px #58381506}.dish-caption{display:flex;gap:15px;align-items:flex-start;padding:19px 0 0}.dish-number{color:var(--red);font-size:10px;padding-top:6px}.dish-caption h3{font-size:22px;line-height:1.5;letter-spacing:2px}.dish-caption p{font-size:13px;color:var(--muted);line-height:1.5;margin-top:4px}.menu-sheets{display:grid;grid-template-columns:1fr 1fr;gap:30px}.menu-sheet{background:var(--paper);padding:18px;border:1px solid var(--line)}.menu-sheet img{width:100%;aspect-ratio:1.581;object-fit:contain}.menu-sheet>a:last-child{border-top:1px solid var(--line);margin-top:15px;padding-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:12px;min-height:44px}.menu-sheet>a:last-child:hover{color:var(--red)}.menu-sheet>a:last-child span{font-size:18px}.menu-note{color:var(--muted);font-size:12px;margin-top:25px;line-height:1.8}.dinner-preview{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;margin-bottom:35px}.dinner-preview>img{width:100%;aspect-ratio:1.7;object-fit:cover}.dinner-preview h3{font-size:32px;line-height:1.4;margin-top:12px;margin-bottom:12px}.dinner-preview p:not(.eyebrow){font-size:14px;color:var(--muted)}.dinner-preview .underlined{color:var(--red);margin-top:10px}
.gallery-section{padding-top:65px;padding-bottom:85px;border-top:1px solid var(--line)}.gallery-number{font-size:10px;letter-spacing:2px;color:var(--muted)}.food-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 28px}.food-gallery img{width:100%;aspect-ratio:1.65;object-fit:cover}.food-gallery figcaption{font-family:var(--serif);font-size:18px;padding-top:12px}.visit-section{background:var(--red);color:var(--cream);padding-top:80px;padding-bottom:80px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}.visit-heading .eyebrow{color:var(--gold)}.visit-heading h2{font-size:clamp(55px,6vw,78px);margin-top:20px;line-height:1.1}.visit-heading h2 em{color:var(--gold);font-weight:400}.visit-heading address{font-style:normal;font-size:16px;margin-top:17px;color:#f2dfd2}.visit-heading .button{margin-top:30px}.detail-row{display:grid;grid-template-columns:.9fr 1fr;gap:25px;padding:23px 0;border-bottom:1px solid #a4544e}.detail-row h3{font-family:var(--sans);font-size:12px;color:#edc99b;font-weight:400;padding-top:4px}.detail-row p,.detail-row a{font-size:18px}.detail-row a{min-height:32px;display:inline-flex;align-items:center}.detail-row a:hover{color:var(--gold)}.detail-row .detail-small{font-size:12px;color:#f2dfd2;margin-top:3px}.hours-note{font-size:11px;color:#f2dfd2;line-height:1.8;margin-top:20px}.news-section{padding-top:85px;padding-bottom:90px;display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.news-section .eyebrow{color:var(--red)}.news-section h2{font-size:44px;margin-top:15px}.news-links>a{display:block;padding:22px 0;border-bottom:1px solid var(--line)}.news-links>a:first-child{padding-top:0}.news-meta{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.news-links h3{font-size:22px;line-height:1.45;margin-top:10px}.news-links h3>span{font-family:var(--sans);font-size:18px;margin-left:6px}.news-links a:hover{color:var(--red)}footer{background:var(--paper);padding-top:40px;padding-bottom:25px;border-top:1px solid var(--line)}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:33px}.footer-top .brand{color:var(--red)}.footer-top>div{text-align:right;font-size:12px;color:var(--muted)}.footer-top>div a{display:inline-flex;min-height:32px;align-items:center}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:10px}.footer-bottom a{min-height:32px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}.mobile-bar{display:none}
@media(min-width:1500px){.hero-grid{padding-top:90px;padding-bottom:90px;min-height:720px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.site-header{padding-inline:32px}.site-header nav{gap:18px}.brand>span{font-size:20px}.brand small{letter-spacing:2px;font-size:7px}.hero-grid{gap:30px;padding-top:58px;padding-bottom:55px;min-height:620px}h1{font-size:88px}.hero-composition{min-height:420px}.hero-dish{border-width:13px}.hero-stamp{right:-5px;width:205px;padding:15px}.hero-stamp [lang]{font-size:23px}.hero-caption{letter-spacing:2px}.takeout{gap:25px;align-items:flex-start}.takeout-actions{flex-direction:column;gap:10px}.takeout-actions .button{min-height:46px;padding:10px 18px;min-width:220px}.hero-bottom{gap:20px;font-size:9px;letter-spacing:1.2px}.menu-section{padding-top:65px}.dish-grid{gap:28px 22px}.dish-caption{gap:10px}.dish-caption h3{font-size:20px}.visit-grid{gap:55px}.news-section{gap:45px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.demo-banner{font-size:9px;letter-spacing:.5px;gap:9px;min-height:30px}.site-header{padding:21px 20px;min-height:90px;gap:15px}.site-header nav{display:none}.brand>span{font-size:19px;letter-spacing:.6px}.brand small{font-size:6px;letter-spacing:1.8px}.header-call{font-size:11px;gap:9px;min-height:44px;padding:8px 10px}.header-call>span{font-size:16px}.hero-grid{grid-template-columns:1fr;gap:36px;padding-top:45px;padding-bottom:35px;min-height:unset}h1{font-size:clamp(72px,18vw,98px);letter-spacing:-3px;margin-top:22px}h1>span{font-size:29px;margin-top:14px}.hero-description{font-size:15px;margin-top:22px;max-width:370px}.hero-actions{gap:23px;margin-top:27px}.button{padding:12px 18px;gap:23px;min-height:50px;font-size:12px}.hero-composition{width:min(430px,100%);min-height:385px;margin:auto;padding-top:30px;padding-bottom:35px}.hero-caption{font-size:9px}.hero-dish{width:76%;border-width:12px;outline-offset:7px}.hero-stamp{right:0;bottom:3px;width:180px;padding:14px}.hero-stamp [lang]{font-size:20px}.hero-stamp>span:last-child{font-size:6px}.hero-stamp>span:nth-child(2){font-size:7px}.stamp-line{margin:9px 0}.corner-top{top:40px}.hero-bottom{flex-wrap:wrap;justify-content:center;gap:8px 15px;padding-top:19px;padding-bottom:19px;font-size:8px;letter-spacing:1px}.hero-bottom a{margin:0;justify-content:center;width:100%;min-height:32px;font-size:9px;gap:12px}.ornament{font-size:18px}.takeout{flex-direction:column;padding-top:35px;padding-bottom:35px;gap:24px}.takeout h2{font-size:27px}.takeout-actions{width:100%;flex-direction:row;flex-wrap:wrap;gap:10px}.takeout-actions .button{flex:1;min-width:160px;font-size:11px;gap:14px;min-height:48px;padding:10px 14px}.menu-section{padding-top:50px;padding-bottom:50px}.section-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:24px}h2{font-size:44px;letter-spacing:-1.5px}.section-heading h2{margin-top:9px}.heading-note{font-size:12px}.heading-note br{display:none}.menu-controls{gap:26px;margin-bottom:26px}.menu-controls button{font-size:15px;padding:14px 0}.menu-controls button>span{font-size:9px;margin-left:12px}.dish-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px;margin-bottom:35px}.dish-caption{padding-top:12px;gap:7px}.dish-number{font-size:8px;padding-top:4px}.dish-caption h3{font-size:17px;letter-spacing:.7px}.dish-caption p{font-size:12px;line-height:1.5}.menu-sheets{grid-template-columns:1fr;gap:20px}.menu-sheet{padding:14px}.menu-sheet>a:last-child{font-size:12px}.menu-note{font-size:11px;margin-top:20px}.dinner-preview{grid-template-columns:1fr;gap:22px}.dinner-preview h3{font-size:27px;margin-top:8px}.gallery-section{padding-top:45px;padding-bottom:50px}.gallery-number{font-size:9px}.food-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 16px}.food-gallery img{aspect-ratio:1.4}.food-gallery figcaption{font-size:16px;line-height:1.4;padding-top:10px}.visit-section{padding:50px 0}.visit-grid{grid-template-columns:1fr;gap:30px}.visit-heading h2{font-size:62px;letter-spacing:-1.8px}.visit-heading address{font-size:15px}.visit-heading .button{margin-top:25px}.detail-row{gap:20px;padding:20px 0}.detail-row h3{font-size:12px}.detail-row p,.detail-row a{font-size:17px}.hours-note{font-size:11px}.news-section{grid-template-columns:1fr;gap:30px;padding-top:50px;padding-bottom:55px}.news-section h2{font-size:40px}.news-links h3{font-size:21px}.news-meta{font-size:9px}.news-links>a{padding:22px 0}.footer-top{align-items:flex-start;flex-direction:column;gap:24px;padding-bottom:25px}.footer-top>div{text-align:left;font-size:12px}.footer-top>div a{min-height:44px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:8px;font-size:10px}footer{padding-top:35px;padding-bottom:95px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;background:var(--red);color:var(--cream);padding:7px 15px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -3px 15px #34241f15}.mobile-bar a{display:flex;align-items:center;justify-content:center;min-height:46px;font-size:13px}.mobile-bar a+a{border-left:1px solid #a4544e}.mobile-bar a:hover{background:var(--red-deep)}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
