:root{--paper:#e5ebe2;--cream:#f5f4eb;--ink:#303e32;--muted:#59664f;--line:#303e3238;--gold:#9b763e;--ease-out:cubic-bezier(.23,1,.32,1);--ease-in-out:cubic-bezier(.77,0,.175,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}html,body{overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}h1,h2,.identity,.close,.summary h3{font-family:Baskerville,"Songti SC","Times New Roman",serif}h1,h2{overflow-wrap:anywhere;min-width:0}img{display:block;width:100%}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.45}.skip{position:fixed;top:-80px;left:20px;z-index:9;background:var(--cream);padding:16px}.skip:focus{top:10px}.preview{text-align:center;background:var(--ink);color:var(--cream);padding:10px 14px;font-size:10px;letter-spacing:1.1px;line-height:1.7}header{padding:28px 5%;display:flex;align-items:center;justify-content:space-between;gap:16px}.identity{font-size:25px}.identity small{display:block;font:8px/1.8 -apple-system,sans-serif;letter-spacing:1.8px;margin-top:5px}nav{display:flex;gap:32px;font-size:12px}nav a{display:flex;align-items:center;min-height:44px;white-space:nowrap;gap:20px}.opening{display:grid;grid-template-columns:minmax(0,.48fr) minmax(0,1fr) minmax(0,1.12fr);gap:5%;padding:46px 5% 80px;align-items:center;perspective:1800px}.opening-mark{text-align:center;align-self:center}.logo{width:160px;height:auto;aspect-ratio:350/680;object-fit:contain}.opening-mark .logo{margin:auto}.opening-mark p{font-size:9px;line-height:2;letter-spacing:1.4px;margin-top:36px}.eyebrow{text-transform:uppercase;font-size:10px;line-height:1.6;letter-spacing:1.8px}h1{font-size:clamp(56px,5.6vw,88px);line-height:1.02;letter-spacing:-2px;margin:26px 0}.chinese-title{font:26px/1.6 "Songti SC",serif;letter-spacing:2px;margin:24px 0}.body{font-size:14px;line-height:2;max-width:480px}.opening .body{font-size:13px}.text-button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:48px;padding:13px 0;border:0;border-bottom:1px solid currentColor;background:transparent;font-size:12px;white-space:nowrap;transition:color 160ms ease,transform 160ms var(--ease-out)}.opening .text-button{margin-top:24px}.text-button span{transition:transform 180ms var(--ease-out)}.small-note{font-size:11px;line-height:1.9;color:var(--muted);margin-top:15px}.small-note a{text-decoration:underline;text-underline-offset:4px}.hero-image img{height:670px;object-fit:cover;object-position:center 52%}.hero-image figcaption,figure>figcaption{display:flex;justify-content:space-between;gap:14px;font-size:9px;letter-spacing:.6px;line-height:1.6;padding-top:14px}.opening-letter{transform-origin:left center}.opening-letter{animation:letter-open 1100ms var(--ease-out) both}.opening-mark{animation:seal-in 850ms var(--ease-out) both}.hero-image{animation:photo-in 1300ms var(--ease-out) 100ms both}@keyframes letter-open{from{opacity:0;transform:rotateY(-16deg) translateX(-12px)}to{opacity:1;transform:none}}@keyframes seal-in{from{opacity:0}to{opacity:1}}@keyframes photo-in{from{opacity:.15;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}.section-label{display:flex;gap:20px;justify-content:space-between;border-top:1px solid var(--line);padding-top:21px;font-size:10px;letter-spacing:1.5px}.experience{padding:12px 8% 90px}.experience-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12%;margin-top:52px}h2{font-size:clamp(34px,3.5vw,51px);line-height:1.45;letter-spacing:1px}.facts{margin-top:30px}.facts p{display:flex;flex-direction:column;padding:18px 0;border-top:1px solid var(--line);gap:9px}.facts b{font-weight:400;font-size:17px}.facts span{font-size:12px;color:var(--muted)}.menu-section{background:var(--cream);padding:90px 8%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:12%}.menu-section figure img{height:650px;object-fit:cover}.menu-copy h2{margin:25px 0}.sample-menu{margin-top:28px;border-top:1px solid var(--line);padding-top:23px}.sample-menu p:not(.eyebrow){padding:13px 0;border-bottom:1px solid var(--line);font:17px/1.6 "Songti SC",serif}.menu-copy .text-button{margin-top:20px}.memo{padding:96px 14%;display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:100px;align-items:center}.memo h2{margin:22px 0}.memo>.logo{justify-self:end}.booking{background:var(--cream);padding:65px 8% 90px}.booking-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:45px 0}.booking-heading h2{margin-top:15px}.booking-heading .body{font-size:12px}.demo-tag{display:inline-block;color:#714a2c;background:#e9dfcc;padding:7px 10px;font-size:11px;line-height:1.6;margin-top:9px}.booking-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:9%;align-items:start}.form-step{padding:26px 0;border-top:1px solid var(--line)}.form-step h3{font-size:19px;margin-bottom:24px}.form-step h3 em{font:italic 19px Baskerville,serif;color:var(--gold);margin-right:18px}label{font-size:12px;line-height:1.8;display:block;margin-bottom:10px}label>span{color:var(--muted);font-size:10px;margin-left:9px}.stepper{display:flex;align-items:stretch;max-width:215px;border:1px solid var(--line)}.stepper button{width:55px;border:0;background:transparent;font-size:22px;min-height:48px}.stepper input{width:90px;text-align:center;border:0;background:transparent;font-size:21px;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}input,select{border:1px solid var(--line);background:transparent;padding:13px 12px;min-height:48px;max-width:100%;border-radius:0;font-size:13px}input:focus,select:focus{background:#f0f0e5}input[type=date]{width:100%;min-width:0;appearance:none}select{width:100%}.fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin:18px 0}.status{font-size:11px;line-height:1.8;margin-top:12px;min-height:20px}.error{color:#9c382d}.voucher-row{display:flex;gap:10px}.voucher-row input{min-width:0;width:100%}.outline-button{padding:10px 22px;border:1px solid var(--ink);background:transparent;white-space:nowrap}.compact{min-height:40px;margin-top:3px;font-size:11px}.checks{margin:20px 0}.checks label{display:flex;gap:10px;align-items:start;margin-bottom:18px}.checks input{flex:0 0 18px;width:18px;min-height:18px;margin:3px 0;accent-color:var(--ink)}.primary{background:var(--ink);color:var(--cream);padding:18px 22px;min-height:54px;border:1px solid var(--ink);width:100%;display:flex;justify-content:space-between;align-items:center;font-size:13px;white-space:nowrap;transition:background-color 180ms ease,transform 140ms var(--ease-out)}button:active:not(:disabled){transform:scale(.985)}.summary{background:var(--paper);padding:34px 30px;position:sticky;top:24px}.summary h3{font-size:30px;margin:18px 0}.summary-guests{font-size:12px;color:var(--muted);margin:22px 0}.summary-guests span{font:34px Baskerville,serif;color:var(--ink);margin-right:6px}dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid var(--line);font-size:12px}dd{margin:0;white-space:nowrap}dt span{display:block;font-size:10px;margin-top:6px;color:var(--muted)}dt small{display:block;font-size:10px;line-height:1.8;font-weight:400;margin-top:8px;max-width:170px}.total{font-size:15px}.deposit{align-items:center}.deposit dd{font:35px Baskerville,serif;letter-spacing:-1px}.summary-foot{font:16px/1.8 "Songti SC",serif;border-top:1px solid var(--line);margin-top:28px;padding-top:25px}.arrangements{padding:90px 8%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:12%;background:var(--ink);color:var(--cream)}.arrangements h2{margin:22px 0}.arrangements .small-note{color:#c8d0bd}.arrangements .email{display:block;min-height:44px;padding-top:18px;font-size:12px}.rules-list details{border-top:1px solid #f5f4eb50;padding:6px 0}.rules-list summary{cursor:pointer;min-height:62px;padding:20px 0;font-size:14px}.rules-list p{font-size:12px;line-height:2;margin:0 0 22px;color:#e0e3d5}footer{padding:56px 8%;display:grid;grid-template-columns:minmax(0,1fr) 145px minmax(0,1fr);gap:40px;align-items:center}footer>.logo{width:145px;justify-self:center}.close{font-style:italic;font-size:41px}.close span{display:block;font:13px/1.8 -apple-system,sans-serif;margin-top:20px}footer>div{justify-self:end}footer a{display:block;font-size:12px;min-height:44px;padding:12px 0}footer p:not(.close){font-size:9px;line-height:1.8;margin-top:25px}dialog{border:1px solid var(--line);background:var(--cream);color:var(--ink);padding:0;max-width:520px;width:calc(100% - 32px);max-height:90dvh;box-shadow:0 24px 80px #15231940}dialog::backdrop{background:#2030269e;backdrop-filter:blur(4px)}.dialog-inner{padding:38px;position:relative}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:transparent;width:44px;height:44px;font-size:26px}dialog h2{font-size:31px;line-height:1.4;margin:21px 0}dialog h2 span{font-size:21px}dialog p{font-size:12px;line-height:1.9;margin:15px 0}dialog .primary{margin-top:24px}dialog[open]{animation:dialog-in 230ms var(--ease-out)}@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}body:has(dialog[open]){overflow-y:hidden}.receipt{margin-top:22px}.food-reveal.in-view img{animation:food-in 1000ms var(--ease-out) both}@keyframes food-in{from{opacity:.4;clip-path:inset(0 0 8% 0)}to{opacity:1;clip-path:inset(0)}}.close.in-view{animation:seal-in 1200ms ease both}[hidden]{display:none!important}
@media(hover:hover) and (pointer:fine){.text-button:hover{color:var(--gold)}.text-button:hover span{transform:translate(4px,-3px)}.primary:hover{background:#455641}.outline-button:hover,.stepper button:hover{background:#dce2d4}nav a:hover{color:var(--gold)}}
@media(max-width:1000px){.opening{gap:4%;grid-template-columns:minmax(0,.4fr) minmax(0,1fr) minmax(0,1fr)}.opening-mark .logo{width:125px}h1{font-size:64px}.hero-image img{height:650px}.chinese-title{font-size:23px}.memo{padding:75px 9%;gap:65px}.booking-grid{gap:5%}.summary{padding:28px 22px}.deposit dd{font-size:29px}}
@media(max-width:780px){header{padding:20px 6%}nav{gap:20px}.identity{font-size:20px}.opening{padding:24px 6% 55px;grid-template-columns:120px minmax(0,1fr);gap:30px}.opening-letter{padding-left:15px}.opening-mark .logo{width:110px}.opening-mark p{font-size:8px}.hero-image{grid-column:1/-1}.hero-image img{height:460px;object-position:center 55%}h1{font-size:65px}.experience{padding:10px 6% 55px}.experience-grid{gap:8%}.menu-section{padding:55px 6%;gap:7%}.menu-section figure img{height:510px}.memo{padding:65px 8%;gap:50px}.booking{padding:45px 6% 60px}.booking-grid{grid-template-columns:minmax(0,1fr);gap:36px}.summary{position:static;grid-row:1}.summary dl{max-width:100%}.arrangements{padding:60px 6%;gap:8%}footer{padding:40px 6%;grid-template-columns:minmax(0,1fr) 125px minmax(0,1fr);gap:20px}footer>.logo{width:125px}.close{font-size:32px}}
@media(max-width:540px){.preview{font-size:8px;letter-spacing:.5px}header{padding:17px 6%;align-items:start}.identity{font-size:19px}.identity small{font-size:6px;letter-spacing:1px}nav{gap:10px;font-size:10px}nav a{min-height:44px;gap:8px}nav a:first-child{display:none}.opening{display:flex;flex-direction:column;gap:25px;padding:18px 6% 50px}.opening-mark .logo{width:105px}.opening-mark p{display:none}.opening-letter{padding:0;text-align:center;width:100%}h1{font-size:58px;line-height:1.02;margin:22px 0}.chinese-title{font-size:23px;margin:23px 0}.opening .body{font-size:12px;margin:auto}.opening .text-button{margin-top:18px}.opening .small-note{font-size:10px}.hero-image{width:100%;margin-top:14px}.hero-image img{height:430px}.hero-image figcaption{font-size:8px;letter-spacing:.2px}.section-label{font-size:8px;letter-spacing:1px}.experience-grid{display:block;margin-top:34px}h2{font-size:34px;line-height:1.5}.experience-grid>.body,.experience-grid>div{margin-top:25px}.body{font-size:13px}.facts{margin-top:26px}.facts p{padding:18px 0}.menu-section{display:flex;flex-direction:column;gap:37px;align-items:stretch}.menu-section figure img{height:390px}.menu-copy h2{margin:20px 0}.menu-copy .small-note{font-size:10px}.memo{display:flex;flex-direction:column;gap:35px;padding:60px 6%}.memo .logo{width:120px;align-self:center}.memo h2{margin:20px 0}.booking-heading{display:block;margin:32px 0}.booking-heading .body{margin-top:24px}.booking-grid{gap:28px}.summary{padding:30px 23px}.summary h3{font-size:28px}.summary-guests{margin:19px 0}.deposit dd{font-size:33px}.fields{grid-template-columns:minmax(0,1fr);gap:20px}.form-step{padding:25px 0}.form-step h3{font-size:18px}label>span{margin-left:5px}.checks label{font-size:11px}.primary{font-size:12px;padding:17px}.arrangements{display:block;padding:60px 6%}.rules-list{margin-top:38px}.arrangements h2{font-size:34px}footer{display:flex;flex-direction:column;gap:35px;text-align:center}footer .logo{width:125px;order:0}footer .close{order:1;align-self:center}footer>div{order:2;align-self:center}.close span{margin-top:10px}.dialog-inner{padding:33px 24px}dialog h2{font-size:29px}.summary-foot{font-size:15px}input[type=date]{min-height:48px}.small-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.opening-letter,.opening-mark,.hero-image,.food-reveal img,.close{transform:none!important;opacity:1!important;clip-path:none!important}}
/* Integrated invitation calendar / time wheel. Native scrolling, no external runtime. */
.invitation-picker{border:1px solid var(--line);margin-top:20px;padding:18px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr);gap:20px;background:#eeefe5}.calendar-panel,.time-panel{min-width:0}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:9px}.calendar-heading h4{font:17px/1.6 Baskerville,"Songti SC",serif;margin:0;white-space:nowrap;font-weight:400}.calendar-heading button{border:0;background:transparent;min-width:36px;min-height:44px;font:27px/1 Baskerville,serif;padding:0}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px}.calendar-weekdays{font-size:9px;color:var(--muted);text-align:center;margin-bottom:7px}.calendar-weekdays span{padding:5px 0}.calendar-week [role=gridcell]{min-width:0;text-align:center}.calendar-week button{position:relative;width:100%;max-width:40px;height:40px;border:1px solid transparent;background:transparent;font:13px/1 -apple-system,sans-serif;padding:0;border-radius:50%;transition:background-color 160ms ease,color 160ms ease}.calendar-week button:disabled{opacity:.3}.calendar-week button.selected{background:var(--ink);color:var(--cream);border-color:var(--ink)}.calendar-week button[aria-current=date]:not(.selected){border-color:var(--line)}.calendar-week button.demo-full::after{content:'';position:absolute;bottom:4px;left:calc(50% - 1px);width:3px;height:3px;background:var(--gold);border-radius:50%}.calendar-key{font-size:8px;line-height:1.8;color:var(--muted);margin-top:16px;letter-spacing:.2px}.calendar-key span{font-size:10px;color:var(--ink);margin-right:4px}.calendar-key i{font-style:normal;margin:0 7px}.time-panel{border-left:1px solid var(--line);padding-left:18px;text-align:center}.meal-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:3px;border:1px solid var(--line);gap:3px}.meal-tabs button{padding:7px 5px;min-height:38px;border:0;background:transparent;font-size:11px;white-space:nowrap;transition:background-color 160ms ease,color 160ms ease}.meal-tabs button.selected{background:var(--ink);color:var(--cream)}#wheel-period{font-size:9px;color:var(--muted);line-height:1.8;letter-spacing:.3px;margin:14px -4px 7px}.wheel-shell{position:relative;isolation:isolate}.wheel-selection{position:absolute;top:88px;left:0;right:0;height:44px;border-top:1px solid #9b763e88;border-bottom:1px solid #9b763e88;background:#dce3d366;pointer-events:none;z-index:-1}.time-wheel{height:220px;overflow-y:auto;overflow-x:hidden;padding:88px 0;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:none;cursor:grab;user-select:none;-webkit-user-select:none;mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 22%,#000 78%,transparent)}.time-wheel::-webkit-scrollbar{display:none}.time-wheel.dragging{cursor:grabbing;scroll-snap-type:none}.wheel-option{height:44px;line-height:44px;scroll-snap-align:center;flex-shrink:0;font:20px/44px Baskerville,"Times New Roman",serif;letter-spacing:1px;color:var(--muted);cursor:pointer;transition:color 140ms ease}.wheel-option[aria-selected=true]{font-size:26px;color:var(--ink);font-weight:400}.wheel-option[aria-disabled=true]{opacity:.3;text-decoration:line-through;cursor:not-allowed}#wheel-help{font-size:8px;color:var(--muted);line-height:1.8;margin-top:7px}.appointment-line{border-top:1px solid var(--line);padding-top:16px;grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;font-size:10px;line-height:1.9}.appointment-line>span{color:var(--muted)}.appointment-line output{font-size:11px;letter-spacing:.3px}.invitation-picker button:focus-visible{outline-offset:1px}.time-wheel:focus-visible{outline-offset:4px}
@media(hover:hover) and (pointer:fine){.calendar-week button:not(:disabled):not(.selected):hover{background:#dbe1d3}.meal-tabs button:not(.selected):hover{background:#dbe1d3}}
@media(min-width:781px) and (max-width:1150px){.invitation-picker{grid-template-columns:minmax(0,1fr)}.time-panel{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:18px}.meal-tabs{max-width:230px;margin:auto}.calendar-week button{height:44px;max-width:44px}.calendar-heading h4{font-size:19px}.appointment-line{justify-content:center}.wheel-shell{max-width:210px;margin:auto}}
@media(max-width:540px){.invitation-picker{padding:18px 14px;grid-template-columns:minmax(0,1fr);gap:20px}.calendar-heading{margin-bottom:13px}.calendar-heading h4{font-size:19px}.calendar-week button{height:40px;max-width:40px;font-size:13px}.calendar-weekdays{font-size:10px}.calendar-key{font-size:9px}.time-panel{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}.meal-tabs{max-width:240px;margin:auto}.meal-tabs button{min-height:44px;font-size:12px}#wheel-period{font-size:10px;margin:15px 0 8px}.wheel-shell{max-width:240px;margin:auto}#wheel-help{font-size:9px}.appointment-line{justify-content:center;text-align:center;gap:3px}.appointment-line span,.appointment-line output{display:block;width:100%}.appointment-line output{font-size:12px}.wheel-selection{background:#dce3d388}}
@media(prefers-reduced-motion:reduce){.calendar-week button,.meal-tabs button,.wheel-option{transition:none!important}.time-wheel{scroll-behavior:auto!important}}
.language-switch{display:flex;align-items:center;gap:2px;border:1px solid var(--line);padding:2px}.language-switch button{min-width:38px;min-height:36px;padding:7px 8px;border:0;background:transparent;font-size:10px;white-space:nowrap}.language-switch button[aria-pressed=true]{background:var(--ink);color:var(--cream)}html[lang=en-NZ] .opening .small-note{max-width:370px}html[lang=en-NZ] .calendar-key{font-size:8px}html[lang=en-NZ] .calendar-heading h4{font-size:17px}html[lang=en-NZ] .appointment-line output{letter-spacing:0}html[lang=en-NZ] .primary{white-space:normal;text-align:left;gap:12px}html[lang=en-NZ] #confirm-demo{font-size:11px;line-height:1.6}html[lang=en-NZ] .chinese-title{letter-spacing:0}html[lang=en-NZ] .facts span{line-height:1.8}
@media(max-width:780px){nav{align-items:center;gap:16px}.language-switch button{min-width:34px;font-size:10px}}
@media(max-width:540px){html[lang=en-NZ] .calendar-key{font-size:9px}html[lang=en-NZ] .calendar-heading h4{font-size:19px}html[lang=en-NZ] .opening .small-note{max-width:260px;margin-left:auto;margin-right:auto}html[lang=en-NZ] .appointment-line output{font-size:11px}html[lang=en-NZ] .checks label{font-size:11px}html[lang=en-NZ] .deposit dd{font-size:29px}html[lang=en-NZ] dialog .primary{font-size:10px}html[lang=en-NZ] .opening .body{max-width:315px}html[lang=en-NZ] .body{line-height:1.9}html[lang=en-NZ] .chinese-title{font-size:21px}}
@media(max-width:420px){nav .nav-reserve{display:none}}
/* Xiao Z copy: language-specific heading measure, same invitation composition. */
html[lang=zh-CN] h1{font-size:clamp(36px,4vw,56px);line-height:1.45;letter-spacing:1px}html[lang=en-NZ] h1{font-size:clamp(52px,5.2vw,76px);line-height:1.08;letter-spacing:-1.5px}.hero-area-note{font-size:10px;line-height:1.9;margin-top:7px;color:var(--muted)}.chef-second{margin-top:18px}.contact-invitation{font-size:12px;line-height:1.9;margin:24px 0 10px}.rules-list ul{font-size:12px;line-height:2;color:#e0e3d5;margin:0 0 22px;padding-left:20px}.rules-list li{padding-bottom:8px}html[lang=en-NZ] footer .close{font-size:30px;line-height:1.35;max-width:300px}
@media(max-width:540px){html[lang=zh-CN] h1{font-size:36px;line-height:1.5}html[lang=en-NZ] h1{font-size:48px;line-height:1.12}.hero-area-note{max-width:275px;margin:7px auto 0}.chef-second{margin-top:16px}html[lang=en-NZ] footer .close{font-size:28px;max-width:270px}}
/* Craig Li: archival portrait at a modest size; complete second logo retained at right. */
.memo.chef-section{padding:80px 8%;grid-template-columns:minmax(0,1fr) 120px;gap:45px}.chef-layout{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:36px;align-items:start;min-width:0}.chef-photo{max-width:280px;width:100%;margin-top:8px}.chef-photo img{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}.chef-photo figcaption{font-size:10px;letter-spacing:1px;margin-top:10px;padding-top:0}.chef-copy{min-width:0}.chef-section .chef-copy h2{font-size:clamp(32px,3vw,43px);margin:18px 0 22px;line-height:1.45}.chef-section .chef-copy .body{font-size:13px;max-width:none;line-height:1.95}.chef-section>.logo{width:120px;height:auto;justify-self:end}.chef-bio{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:23px 0 8px}.chef-bio summary{font-size:12px;min-height:48px;padding:15px 0;cursor:pointer}.chef-bio-full{padding-bottom:20px}.chef-bio-full h3{font:25px/1.5 Baskerville,"Songti SC",serif;margin:5px 0 18px}.chef-bio-full .body+.body{margin-top:16px}.chef-copy>.text-button{margin-top:8px}.chef-link{margin-top:7px}.chef-bio[open] .chef-bio-full{animation:seal-in 220ms var(--ease-out)}
@media(max-width:1100px) and (min-width:781px){.memo.chef-section{padding:65px 6%;gap:30px;grid-template-columns:minmax(0,1fr) 100px}.chef-layout{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:28px}.chef-section>.logo{width:100px}.chef-section .chef-copy h2{font-size:32px}}
@media(max-width:780px){.memo.chef-section{padding:60px 6%;gap:35px;grid-template-columns:minmax(0,1fr) 100px}.chef-layout{grid-template-columns:minmax(0,1fr);gap:28px}.chef-photo{width:240px;max-width:100%;justify-self:start}.chef-section>.logo{width:100px}}
@media(max-width:540px){.memo.chef-section{display:flex;padding:55px 6%;gap:32px}.chef-layout{display:flex;flex-direction:column;gap:28px;width:100%}.chef-photo{width:250px;max-width:100%;align-self:center;margin-top:0}.chef-section .chef-copy h2{font-size:34px}.chef-section>.logo{align-self:center;width:110px}.chef-bio-full h3{font-size:25px}.chef-section .chef-copy .body{font-size:13px}}
/* Four home-dining scenes reuse existing sections; retain their landscape composition. */
.hero-gallery{min-width:0;animation:photo-in 1300ms var(--ease-out) 100ms both}.hero-gallery .hero-image{animation:none}.hero-gallery .hero-image img,.hero-gallery .hero-service img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.hero-gallery .hero-image figcaption{padding-top:9px}.hero-service{margin-top:18px}.experience-image{margin-top:30px}.experience-image img{height:auto;aspect-ratio:3/2;object-fit:cover}.experience-grid>.experience-intro{margin-top:0}.menu-section .food-reveal img{height:auto;aspect-ratio:3/2;object-fit:cover}
@media(max-width:780px){.hero-gallery{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}.hero-service{margin:0}.hero-gallery .hero-image figcaption{font-size:8px}.experience-image{margin-top:25px}}
@media(max-width:540px){.hero-gallery{display:block;width:100%;margin-top:12px}.hero-gallery .hero-image{margin:0}.hero-service{margin-top:16px}.hero-gallery .hero-image img,.hero-gallery .hero-service img{height:auto;aspect-ratio:3/2;object-position:center}.experience-image{margin-top:25px}.menu-section .food-reveal img{height:auto;aspect-ratio:3/2}.hero-gallery .hero-image figcaption{padding-top:9px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-gallery{animation:none!important;clip-path:none!important;opacity:1!important}}
/* Unique real photographs stay in the expanded biography, never a growing default-page gallery. */
.chef-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.chef-history figure{min-width:0}.chef-history img{width:100%;height:160px;object-fit:contain;background:var(--cream)}.chef-history figcaption{font-size:9px;padding-top:9px;line-height:1.6;letter-spacing:.4px}
@media(max-width:540px){.chef-history{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.chef-history img{height:160px}.chef-history figure:last-child{grid-column:1/-1;width:200px;max-width:100%;justify-self:center}.chef-history figure:last-child img{height:220px}}
