@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600&family=Noto+Serif+TC:wght@400;500;600&display=swap');
:root{--ink:#242520;--paper:#f5f3ec;--accent:#736644;--line:#dcd9ce;--muted:#726f64;--serif:'Noto Serif TC','PMingLiU',serif;--sans:'Noto Sans TC',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#20231f;color:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #c58c4d;outline-offset:4px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}[hidden]{display:none!important}.site-header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff18}.brand{font-family:Georgia,serif;font-size:30px;letter-spacing:.03em;line-height:1.1}.brand span{display:block;font:12px/2.5 var(--sans);letter-spacing:.3em}.site-header nav{display:flex;gap:34px;align-items:center;font-size:14px;letter-spacing:.09em;color:#d0d0c8}.nav-book{border-bottom:1px solid #a79b7b;padding:7px 0}.nav-book span{margin-left:14px}.opening{max-width:1440px;margin:auto;display:grid;grid-template-columns:1.04fr 1fr;gap:7%;padding:62px 5% 74px}.eyebrow{font-size:12px;letter-spacing:.2em;margin:0 0 18px;font-weight:500}.story{position:relative;min-width:0}.story>.eyebrow{display:flex;align-items:center;gap:14px;color:#b9bba9}.short-line{width:32px;height:1px;background:#a9ad91}h1{font-family:var(--serif);font-size:clamp(40px,4.5vw,66px);font-weight:400;line-height:1.5;letter-spacing:.09em;margin:30px 0 18px}h1 em{font-style:normal;color:#c8bd9f}.story-copy{color:#bebfb5;line-height:2.1;font-size:15px;letter-spacing:.13em;margin:0 0 34px}.food-photo{height:240px;background:linear-gradient(110deg,#424537,#181b18);position:relative;background-size:cover;background-position:center 55%}.image-caption{position:absolute;bottom:12px;left:14px;font-size:12px;color:#fff;background:#151812a6;padding:2px 8px}.story-foot{display:flex;justify-content:space-between;padding:18px 0 0;font-size:12px;letter-spacing:.08em;color:#b7b8ad}.story-foot i{font-style:normal;color:#676b59;padding:0 6px}.reservation{background:var(--paper);color:var(--ink);padding:32px 36px 30px;align-self:start;box-shadow:0 12px 45px #00000012;scroll-margin-top:24px}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading .eyebrow{color:var(--accent);margin:0 0 5px;font-size:12px;letter-spacing:.22em}h2{font:500 30px/1.6 var(--serif);letter-spacing:.1em;margin:0}.seal{border:1px solid #8f6a50;color:#805739;border-radius:2px;text-align:center;padding:4px 10px;font:14px/1.5 var(--serif);transform:rotate(3deg)}.seal strong{font-weight:500}.demo-note{font-size:12px;color:var(--muted);margin:16px 0 20px}.steps{padding:0 0 17px;list-style:none;display:flex;gap:0;border-bottom:1px solid var(--line);margin:0 0 22px;font-size:12px;color:#7c796f}.steps li{flex:1;white-space:nowrap}.steps span{font:14px Georgia,serif;margin-right:4px}.steps li.active{color:#51462e;font-weight:600}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-heading h3{font-size:14px;font-weight:500;margin:0}.field-heading>span{font-size:12px;color:var(--muted)}.guest-control{margin-top:10px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:9px 12px 9px 16px}.guest-control>span{font-size:14px}.guest-control strong{font-size:20px;font-family:Georgia,serif;font-weight:400;margin-right:6px}.guest-control>div{display:flex;gap:8px}.guest-control button{height:30px;width:32px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:17px;line-height:1}.guest-control button:disabled{opacity:.3}.date-heading{margin-top:23px}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin:10px 0}.calendar-head h4{font-size:16px;letter-spacing:.06em;font-weight:500;margin:0}.calendar-head button{background:transparent;border:0;font-size:24px;width:34px;line-height:1.2;color:var(--ink)}.calendar-head button:disabled{opacity:.25}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.weekdays{font-size:12px;text-align:center;color:var(--muted);margin:9px 0}.calendar button{min-height:44px;padding:4px 0;background:transparent;border:1px solid transparent;color:var(--ink);line-height:1.15;font-size:14px}.calendar button small{display:block;margin-top:4px;font-size:12px;color:#77755f}.calendar button:hover:not(:disabled){border-color:#aaa58f;background:#eae7dc}.calendar button.chosen{background:#646850;color:white}.calendar button.chosen small{color:#e0e0d2}.calendar button:disabled{color:#b9b7ad}.calendar button:disabled small{color:#b9b7ad}.calendar button.insufficient{background:#e7e5dc}.calendar-legend{display:flex;flex-wrap:wrap;gap:12px;margin:13px 0 17px;font-size:12px;color:var(--muted)}.calendar-legend span{display:flex;align-items:center;gap:5px}.calendar-legend i{display:inline-block;width:7px;height:7px;border:1px solid #929778}.calendar-legend i.selected{background:#646850;border-color:#646850}.calendar-legend span:last-child{margin-left:auto}.session{padding:12px 14px;border:1px solid #aaa58f;background:#edece2;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.session strong{font-size:14px;font-weight:500;display:block}.session div>span{font-size:12px;color:var(--muted)}#availability{color:#5d6147}.selection-summary{text-align:center;margin:17px 0 10px;color:var(--muted);font-size:12px}.primary{background:#646850;border:1px solid #646850;color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;width:100%;font-size:14px;gap:18px;transition:background .2s}.primary:hover{background:#51563e}.primary:disabled{opacity:.5}.primary span{font-size:18px}.stage-title{font:500 23px/1.6 var(--serif);margin:4px 0 14px}.muted{color:var(--muted);font-size:14px}.reservation label{display:block;font-size:14px;margin:18px 0}.required{color:#956a43}.optional{color:var(--muted);font-size:12px}.reservation input,.reservation textarea{display:block;width:100%;padding:12px;background:#faf9f5;border:1px solid var(--line);border-radius:0;margin-top:7px;font-size:16px;color:var(--ink)}.reservation textarea{resize:vertical}.small-note{font-size:12px;color:var(--muted)}.button-row{display:flex;gap:12px;margin-top:24px}.secondary{flex-shrink:0;background:transparent;border:1px solid #bcb8ab;color:var(--ink);padding:12px 16px;font-size:14px}.review{margin:25px 0}.review>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.review dt{color:var(--muted)}.review dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.confirmation-note{color:var(--muted);font-size:14px;background:#eae8de;padding:18px;line-height:1.9}.success-mark{margin:40px auto 24px;border:1px solid #747b5c;color:#646850;width:65px;height:65px;border-radius:50%;font-size:30px;line-height:65px}.success-title{font:500 27px var(--serif)}#step-success{text-align:center;padding:20px 0}#step-success .primary{margin-top:30px}.details{max-width:1440px;margin:auto;padding:58px 5% 68px;border-top:1px solid #ffffff1c;display:grid;grid-template-columns:1fr 1fr 1fr;gap:6%}.details .eyebrow{color:#aaae98;font-size:12px}.details h2{font-size:26px;font-weight:400;line-height:1.7}.section-number{font-size:12px;color:#a5aa93;letter-spacing:.08em}.details h3{font:400 20px/1.7 var(--serif);margin:18px 0 14px}.details p{font-size:14px;line-height:2;color:#bcbeb3;margin:0}.details .pending{font-size:12px;margin-top:16px;color:#909688}footer{max-width:1440px;margin:auto;padding:26px 5%;border-top:1px solid #ffffff1c;display:flex;gap:25px;align-items:center;color:#949c8d;font-size:12px}.footer-brand{font:24px Georgia,serif;color:#d0d2c6}.footer-note{margin-left:auto}@media(min-width:1400px){.opening{gap:9%;padding-top:70px}.food-photo{height:275px}}@media(max-width:1000px){.opening{gap:5%;padding:42px 4% 50px}.reservation{padding:28px 23px}.story h1{font-size:46px}.story-foot{flex-direction:column;gap:5px}.food-photo{height:260px}.steps{font-size:12px}.field-heading>span{font-size:12px}}@media(max-width:720px){.site-header{padding:21px 6%}.brand{font-size:27px}.site-header nav{gap:0}.site-header nav>a:not(.nav-book){display:none}.nav-book{font-size:13px}.opening{display:flex;flex-direction:column;padding:30px 6% 40px;gap:30px}.story{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.story>.eyebrow{grid-column:1/-1;font-size:12px;margin:0 0 12px}.story h1{font-size:35px;margin:6px 0 18px;line-height:1.55;letter-spacing:.03em}.story-copy{grid-column:1;font-size:12px;margin:0}.food-photo{grid-column:2;grid-row:2/4;height:auto;min-height:245px;background-position:58% center}.image-caption{left:6px;right:6px;bottom:7px;font-size:12px;padding:3px 5px;line-height:1.5}.story-foot{grid-column:1/-1;flex-direction:row;font-size:12px}.reservation{width:100%;padding:26px 22px}.steps{font-size:12px}.calendar button{min-height:48px}.field-heading>span{font-size:12px}.details{padding:35px 6%;grid-template-columns:1fr;gap:30px}.details-intro h2 br{display:none}.details-intro h2{font-size:25px}.details article{border-top:1px solid #ffffff15;padding-top:25px}footer{padding:24px 6%;flex-wrap:wrap;gap:12px 20px}.footer-note{width:100%;margin:0}.calendar-legend{font-size:12px;gap:9px}.calendar-legend span:last-child{margin-left:0}.demo-note{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
