/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--spacing:.25rem;--default-font-family:var(--site-sans);--default-mono-font-family:"SFMono-Regular", Consolas, "Liberation Mono", monospace}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}}:root{--ink:#181511;--paper:#f7f1e8;--warm-paper:#fffaf2;--lacquer:#982f1f;--ember:#c8612d;--jade:#47735c;--charcoal:#26231f;--line:#18151129;--site-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Avenir Next", "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans CJK SC", Arial, sans-serif;--brand-sans:"Avenir Next", "Helvetica Neue", -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--site-sans);margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hero{color:#fff8ed;background:#15100d;min-height:92vh;padding:24px clamp(20px,5vw,72px) 64px;position:relative;overflow:hidden}.hero:before{content:"";filter:saturate(1.08)contrast(1.03);opacity:.92;background:url(/images/lu-ding-hotpot-hero.jpg) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.01)}.hero:after{content:"";background:linear-gradient(90deg,#0c0907c7 0%,#0c090770 46%,#0c09071f 100%),linear-gradient(#0c09072e,#58191247);position:absolute;inset:0}.hero>*{z-index:2;position:relative}.nav-bar{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;display:flex}.brand-mark{background:#050505;border:1px solid #ffffff52;border-radius:8px;justify-content:center;align-items:center;width:74px;height:74px;display:inline-flex;overflow:hidden}.brand-logo{object-fit:cover;align-items:center;width:100%;height:100%;display:inline-flex;transform:scale(1.3)}.nav-bar nav{gap:22px;display:flex}.nav-bar nav a{color:#fff8edd6;font-size:14px;font-weight:700}.hero-content{max-width:1180px;margin:clamp(80px,14vh,150px) auto 0}.eyebrow,.section-kicker{color:#e5b670;letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:13px;font-weight:800}.hero h1{margin:0}.hero-title{font-family:var(--brand-sans);gap:10px;max-width:920px;font-size:74px;line-height:.98;display:grid}.hero-title-cn{font-family:var(--brand-sans);font-size:1.02em;font-weight:800}.hero-title-en{font-family:var(--brand-sans);letter-spacing:0;font-size:.86em;font-weight:800}.hero-copy{color:#fff8eddb;max-width:680px;margin:28px 0 0;font-size:clamp(18px,2vw,24px);line-height:1.45}.hero-actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.primary-action,.secondary-action,.submit-button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:50px;padding:0 22px;font-weight:800;display:inline-flex}.primary-action,.submit-button{background:var(--ember);color:#fffaf2}.secondary-action{color:#fffaf2;background:#fffaf21f;border:1px solid #fffaf247}.intro-band,.menu-section,.booking-section{max-width:1180px;margin:0 auto;padding:72px clamp(20px,5vw,36px)}.intro-band{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:end;gap:40px;display:grid}.intro-band h2,.section-heading h2,.booking-info h2{margin:0;font-size:clamp(32px,4vw,56px);line-height:1.03}.intro-band>p,.booking-info>p{color:#181511b8;margin:0;font-size:18px;line-height:1.65}.menu-section{border-top:1px solid var(--line)}.section-heading{max-width:700px}.menu-grid{grid-template-columns:1fr;gap:20px;margin-top:34px;display:grid}.menu-feature-card,.menu-note-card{border:1px solid var(--line);border-radius:8px}.menu-feature-card{color:#fff8ed;background:#17120f;overflow:hidden;box-shadow:0 28px 70px #3124172e}.menu-feature-card img{object-fit:contain;width:100%;height:auto;display:block}.menu-feature-card:after{display:none}.menu-feature-copy{padding:26px 26px 22px}.menu-feature-copy h3,.menu-note-card h3{margin:0;font-size:clamp(24px,2.4vw,34px);line-height:1.08}.menu-feature-copy p{color:#fff8edc7;max-width:440px;margin:14px 0 0;line-height:1.55}.menu-note-card{color:#fff8ed;background:#17120f;grid-column:1/-1;padding:0;display:grid;overflow:hidden}.menu-note-copy{padding:34px 34px 28px}.menu-note-card .section-kicker{margin:0;line-height:1.58}.menu-note-card h3{margin-top:8px}.menu-note-card p:not(.section-kicker){color:#fff8edc2;max-width:820px;margin:14px 0 0;line-height:1.58}.dish-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0 34px 34px;display:grid}.dish-card{background:#fff8ed0d;border:1px solid #fff8ed1a;border-radius:8px;margin:0;overflow:hidden}.dish-card img{aspect-ratio:1;object-fit:contain;background:#17120f;width:100%;display:block}.dish-card figcaption{gap:4px;padding:16px 18px 18px;display:grid}.dish-card strong{color:#fff8ed;font-size:22px;line-height:1.1}.dish-card span{color:#fff8edad;font-size:14px;font-weight:700;line-height:1.35}.booking-section{border-top:1px solid var(--line);grid-template-columns:minmax(260px,.85fr) minmax(320px,1.15fr);align-items:start;gap:48px;padding-bottom:96px;display:grid}.booking-info{position:sticky;top:24px}.hours-panel{background:var(--charcoal);color:#fff8ed;border-radius:8px;margin-top:32px;padding:26px}.hours-panel h3{margin:0 0 14px}.hours-panel p{color:#fff8edc7;margin:8px 0}.booking-form{border:1px solid var(--line);background:#fffaf2;border-radius:8px;gap:18px;padding:clamp(22px,4vw,34px);display:grid;box-shadow:0 24px 60px #3124171f}.required-note{color:#1815119e;margin:0;font-size:14px;font-weight:700;line-height:1.45}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}label{color:#181511c2;text-transform:uppercase;gap:8px;font-size:13px;font-weight:800;display:grid}input,textarea{color:var(--ink);text-transform:none;background:#fffef9;border:1px solid #1815112e;border-radius:8px;width:100%;min-height:48px;padding:12px 14px}textarea{resize:vertical;min-height:98px}fieldset{border:0;margin:0;padding:0}legend{color:#181511c2;text-transform:uppercase;margin-bottom:10px;font-size:13px;font-weight:900}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.time-slot{color:var(--ink);cursor:pointer;background:#f2e7d5;border:1px solid #0000;border-radius:8px;min-height:44px;padding:0 8px;font-size:14px;font-weight:800}.time-slot.selected{background:var(--jade);color:#fffaf2}.time-slot:disabled{cursor:not-allowed;opacity:.42}.empty-slots{color:#18151194;margin:10px 0 0;font-size:14px;font-weight:700}.booking-summary{color:#315442;background:#47735c1f;border:1px solid #47735c47;border-radius:8px;padding:14px 16px;font-weight:800}.form-message{border-radius:8px;margin:0;padding:14px 16px;font-weight:700;line-height:1.45}.form-message.success{color:#315442;background:#47735c1f}.form-message.error{color:var(--lacquer);background:#982f1f1f}.submit-button{width:100%;min-height:54px}.submit-button:disabled{cursor:not-allowed;opacity:.62}.site-footer{background:var(--charcoal);color:#fff8ed;justify-content:space-between;align-items:end;gap:24px;padding:42px clamp(20px,5vw,72px);display:flex}.site-footer strong{margin-bottom:10px;font-size:22px;display:block}.site-footer address{color:#fff8edc7;font-style:normal;line-height:1.6}.site-footer a{text-underline-offset:4px;text-decoration:underline}.footer-links{color:#fff8edb3;text-align:right;justify-items:end;gap:10px;display:grid}.privacy-page{background:var(--paper);min-height:100vh;padding:clamp(24px,5vw,72px)}.privacy-content{border:1px solid var(--line);background:#fffaf2;border-radius:8px;max-width:880px;margin:0 auto;padding:clamp(26px,5vw,56px)}.privacy-back-link{color:var(--jade);text-underline-offset:4px;margin-bottom:28px;font-weight:800;text-decoration:underline;display:inline-flex}.privacy-content h1{margin:0;font-size:clamp(34px,5vw,62px);line-height:1}.privacy-content h2{margin:34px 0 10px;font-size:24px}.privacy-content p{color:#181511b8;margin:14px 0 0;font-size:17px;line-height:1.7}.privacy-updated{font-weight:800}.privacy-content a:not(.privacy-back-link){color:var(--jade);text-underline-offset:4px;font-weight:800;text-decoration:underline}@media (max-width:1080px){.dish-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.hero{min-height:88vh}.hero:after{background:linear-gradient(90deg,#0c0907d1 0%,#0c090794 58%,#0c090742 100%),linear-gradient(#0c090729,#58191257)}.nav-bar{align-items:flex-start;gap:18px}.brand-mark{width:68px;height:68px}.nav-bar nav{gap:14px}.hero-content{margin-top:72px}.hero-title{gap:8px;max-width:620px;font-size:50px}.hero-title-en{font-size:.84em}.intro-band,.menu-grid,.booking-section,.form-row{grid-template-columns:1fr}.menu-feature-card{width:100%;max-width:680px;margin:0 auto}.menu-feature-copy{padding:26px}.dish-gallery{grid-template-columns:1fr;padding:0 22px 24px}.dish-card figcaption{padding:14px 16px 16px}.menu-note-card .section-kicker,.menu-note-card h3,.menu-note-card p:not(.section-kicker){grid-area:auto}.menu-note-card p:not(.section-kicker){margin-top:12px}.booking-info{position:static}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer{flex-direction:column;align-items:start}.footer-links{text-align:left;justify-items:start}}@media (max-width:520px){.hero{padding-left:18px;padding-right:18px}.brand-mark{width:64px;height:64px}.nav-bar nav a{font-size:13px}.hero-title{max-width:340px;font-size:39px}.hero-title-cn{font-size:1em}.hero-title-en{font-size:.84em}.primary-action,.secondary-action{width:100%}}.staff-shell{background:#f4eee4;min-height:100vh;padding:clamp(22px,4vw,48px)}.staff-topbar,.staff-controls,.staff-section,.staff-login{max-width:1180px;margin-left:auto;margin-right:auto}.staff-topbar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.staff-topbar h1,.staff-login h1{margin:0;font-size:clamp(34px,5vw,58px);line-height:1}.staff-controls{grid-template-columns:minmax(220px,.4fr) minmax(300px,.6fr);align-items:end;gap:18px;margin-bottom:20px;display:grid}.staff-controls>form,.capacity-form{grid-template-columns:minmax(160px,1fr) auto;align-items:end;gap:12px;display:grid}.staff-save-button,.staff-ghost-button{cursor:pointer;border-radius:8px;min-height:48px;padding:0 18px;font-weight:800}.staff-save-button{background:var(--charcoal);border:1px solid var(--charcoal);color:#fffaf2}.staff-ghost-button{color:var(--ink);background:0 0;border:1px solid #18151133}.staff-save-button:disabled,.staff-ghost-button:disabled{cursor:not-allowed;opacity:.55}.staff-inline-button{min-width:92px}.staff-section{border:1px solid var(--line);background:#fffaf2;border-radius:8px;margin-top:20px;padding:clamp(20px,3vw,30px)}.staff-section-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.staff-section-heading h2{margin:0;font-size:28px}.staff-section-heading span{color:#1815119e;font-weight:800}.staff-slot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.staff-slot{background:#47735c1a;border:1px solid #47735c38;border-radius:8px;gap:10px;min-height:190px;padding:16px;display:grid}.staff-slot.full{background:#982f1f1a;border-color:#982f1f38}.staff-slot strong{font-size:18px}.staff-slot span{color:#181511ad;font-weight:800}.staff-slot small{color:#18151185;font-weight:800;line-height:1.35}.staff-help-text{color:#1815119e;max-width:760px;margin:-6px 0 20px;font-weight:700;line-height:1.5}.slot-availability-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.slot-availability-form label{font-size:11px}.slot-availability-form input{min-height:42px;padding:9px 10px}.slot-availability-form .staff-save-button{min-height:42px;padding:0 14px}.reservation-table-wrap{overflow-x:auto}.reservation-table{border-collapse:collapse;width:100%;min-width:920px}.reservation-table th,.reservation-table td{text-align:left;vertical-align:top;border-bottom:1px solid #1815111f;padding:14px 12px}.reservation-table th{color:#18151194;text-transform:uppercase;font-size:12px}.reservation-table td{color:#181511c2}.reservation-table td strong,.reservation-table td small{display:block}.reservation-table td small{color:#1815117a;margin-top:4px;font-size:12px}.staff-login{border:1px solid var(--line);background:#fffaf2;border-radius:8px;gap:20px;max-width:460px;margin-top:clamp(44px,9vh,100px);padding:34px;display:grid;box-shadow:0 24px 60px #3124171f}.staff-login form{gap:18px;display:grid}.staff-login-logo{object-fit:cover;background:#050505;border-radius:8px;width:78px;height:78px}@media (max-width:820px){.staff-topbar,.staff-controls,.capacity-form,.staff-controls>form{grid-template-columns:1fr;align-items:stretch}.staff-topbar{gap:16px}.staff-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.slot-availability-form{grid-template-columns:1fr}}@media (max-width:520px){.staff-topbar{flex-direction:column;align-items:flex-start}.staff-slot-grid{grid-template-columns:1fr}}
