:root{--paper:#f3e7d7;--ink:#4a3023;--muted:#694c3b;--line:#d7bfa6;--accent:#874727}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:12px;z-index:10}header{max-width:1440px;margin:auto;padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:24px;line-height:1.25}.brand span{display:block;font:9px Arial,sans-serif;letter-spacing:2.7px;margin-top:8px}nav{display:flex;gap:32px;align-items:center;font-size:13px}.nav-contact{border-bottom:1px solid var(--ink);padding:6px 0}.nav-contact span{margin-left:22px}.hero{max-width:1440px;margin:auto}.hero-copy{padding:55px 8% 42px}.eyebrow{font-size:10px;letter-spacing:2.8px;font-weight:600;margin:0 0 25px}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.06;margin:0}h1{font-size:clamp(64px,7.5vw,112px)}em{font-weight:400;color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-top:28px}.hero-bottom p{margin:0;color:var(--muted);font-size:15px}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:7px;display:inline-block}.text-link span{margin-left:28px}.hero-image{display:block;width:100%;height:490px;object-fit:cover;object-position:center 55%}.section{max-width:1240px;margin:auto;padding:100px 5%}h2{font-size:clamp(36px,4vw,56px)}p{color:var(--muted)}.intro,.details{display:grid;grid-template-columns:1fr 2fr;gap:60px}.intro h2{margin-bottom:30px}.intro p:not(.eyebrow){max-width:630px}.story{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-top:10px}figure{margin:0}img{max-width:100%;display:block}.story img{width:100%;height:570px;object-fit:cover}figcaption{font-size:11px;color:var(--muted);padding-top:13px}.story-copy p:not(.eyebrow){margin-top:25px}.story .text-link{margin-top:20px}.gallery{border-top:1px solid var(--line);padding-top:70px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}.section-heading>p{max-width:180px;font-size:13px}.photos{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photos img{height:410px;width:100%;object-fit:cover}.photos figure:nth-child(2){padding-top:65px}.wide-photo{margin-top:60px}.wide-photo img{height:440px;width:100%;object-fit:cover}.wide-photo figcaption{text-align:right}.details{padding-top:10px}.details h2{margin-bottom:35px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:15px}details p{font-size:14px}.contact{background:#e4ccb1;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:80px max(7%,calc((100vw - 1120px)/2))}.contact h2{font-size:64px}.contact p{font-size:14px}.email{font-size:15px;display:inline-block;border-bottom:1px solid var(--ink);margin-top:20px;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:12px;margin-bottom:18px}input,textarea{display:block;width:100%;border:0;border-bottom:1px solid #9b7655;background:transparent;border-radius:0;color:var(--ink);font:16px Arial,sans-serif;padding:12px 0;outline-offset:4px;min-height:45px}textarea{resize:vertical}.contact .form-note{font-size:11px;line-height:1.6;margin:5px 0 22px}button{background:var(--ink);color:var(--paper);border:0;padding:18px 22px;width:100%;font:13px Arial;cursor:pointer;display:flex;justify-content:space-between;gap:12px}button:hover{background:#70482f}footer{padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p,footer>a:last-child{font-size:12px}#form-status{font-size:12px}@media(max-width:700px){header{padding:22px 6%;align-items:start}.brand{font-size:20px}nav{gap:15px}nav>a:not(:last-child){display:none}.hero-copy{padding:45px 6% 35px}h1{font-size:64px}.hero-bottom{align-items:start;flex-direction:column}.hero-image{height:310px}.section{padding:60px 6%}.intro,.story,.details,.contact{grid-template-columns:1fr;gap:30px}.intro>.eyebrow,.details>.eyebrow{margin-bottom:0}.story{padding-top:0}.story img{height:450px}.section-heading{display:block}.section-heading>p{max-width:none}.photos{gap:12px;grid-template-columns:1fr 1fr}.photos img{height:280px}.photos figure:nth-child(2){padding-top:40px}.wide-photo{margin-top:35px}.wide-photo img{height:240px}.contact h2{font-size:55px}.form-grid{gap:15px}footer{flex-wrap:wrap;padding:30px 6%}footer p{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

input::placeholder,textarea::placeholder{color:#694c3b;opacity:1}

.hero-image{height:auto;max-height:680px;aspect-ratio:3/2;object-position:center}.photo-chapter{margin-top:58px}.photo-chapter h3{font-size:11px;letter-spacing:1.6px;font-weight:400;margin:0 0 25px;text-transform:uppercase}.photos img{height:auto;aspect-ratio:2/3;object-fit:cover}.photos figure:nth-child(2){padding-top:40px}.shared-moments{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:70px}.shared-moments img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.atmosphere{border-top:1px solid var(--line);padding-top:70px}.atmosphere-copy{max-width:710px;margin-bottom:45px}.atmosphere-copy p:not(.eyebrow){max-width:590px}.atmosphere-photos{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:940px;margin:auto}.atmosphere-photos img{width:100%;height:auto;aspect-ratio:2/3;object-fit:cover}.atmosphere-photos figure:last-child{padding-top:90px}
@media(max-width:700px){.hero-image{height:auto;aspect-ratio:3/2}.photos{grid-template-columns:1fr 1fr;gap:25px 14px}.photos figure:nth-child(2){padding-top:35px}.photos figure:last-child{grid-column:1/-1;width:75%;margin:0 auto;display:block}.photos img{height:auto}.photo-chapter{margin-top:42px}.shared-moments{grid-template-columns:1fr;gap:30px;margin-top:45px}.atmosphere-photos{gap:16px}.atmosphere-photos figure:last-child{padding-top:45px}.atmosphere{padding-top:50px}.story img{height:auto;aspect-ratio:2/3}}

/* Opening portrait: preserve the full photograph alongside the introduction. */
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-copy{padding:55px 10%}.hero h1{font-size:clamp(48px,6vw,86px)}.hero-bottom{flex-direction:column;align-items:flex-start;gap:28px}.hero-image{width:100%;height:auto;max-height:none;aspect-ratio:2/3;object-fit:contain}
@media(max-width:700px){.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 35px}.hero h1{font-size:64px}.hero-image{height:auto;aspect-ratio:2/3}}

.kitchen-view{max-width:1440px;margin:0 auto 90px}.kitchen-view img{width:100%;height:auto}.kitchen-view figcaption{padding:14px 5% 0}@media(max-width:700px){.kitchen-view{margin-bottom:55px}.kitchen-view figcaption{padding-left:6%;padding-right:6%}}

.private-invite{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--line)}.private-invite p:not(.eyebrow){max-width:630px}.chef-process{border-top:1px solid var(--line);padding-top:65px}.service-steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:0;margin:50px 0 0}.service-steps li{border-top:1px solid var(--line);padding-top:22px}.step-number{font:italic 34px Georgia,serif;color:var(--accent)}.service-steps h3{font:26px/1.15 Georgia,serif;letter-spacing:-.5px;margin:20px 0}.service-steps p{font-size:14px}.chef-story{padding-top:30px}.chef-food{padding-top:30px}.chef-food-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:40px;align-items:center}.chef-food-grid img{width:100%;height:auto}.other-experience{text-align:center;padding-top:45px;padding-bottom:45px}.chef-hero .hero-copy{padding-left:10%;padding-right:7%}
@media(max-width:900px){.service-steps{grid-template-columns:1fr 1fr}.private-invite{gap:30px}header nav{gap:18px}}
@media(max-width:700px){header{flex-wrap:wrap;gap:20px}header nav{width:100%;justify-content:space-between;font-size:12px}header nav>a:not(:last-child){display:inline-block}.nav-contact span{margin-left:8px}.private-invite{grid-template-columns:1fr;gap:15px}.service-steps{gap:24px}.service-steps h3{font-size:24px}.chef-food-grid{grid-template-columns:1fr;gap:30px}.chef-food-grid figure:first-child{width:80%}.chef-hero .hero-copy{padding:45px 6% 35px}.chef-page .hero h1{font-size:clamp(48px,13vw,64px)}}
@media(max-width:400px){.service-steps{grid-template-columns:1fr}}

/* Private dinners: original table settings and dishes. */
.chef-page .hero-image{aspect-ratio:auto;max-height:900px;object-fit:cover;object-position:center 60%}
.chef-page .chef-story img,.chef-page .chef-atmosphere img{height:auto;aspect-ratio:auto}
.chef-page .chef-food-grid{grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.chef-page .chef-food-grid img{aspect-ratio:3/4;object-fit:cover;object-position:center 65%}
.chef-page .chef-food-grid figure:last-child{padding-top:65px}
.chef-atmosphere{border-top:1px solid var(--line);margin-top:30px}
@media(max-width:700px){.chef-page .hero-image{max-height:none}.chef-page .chef-food-grid{grid-template-columns:1fr;gap:36px}.chef-page .chef-food-grid figure:first-child{width:100%}.chef-page .chef-food-grid figure:last-child{padding-top:0}.chef-atmosphere{padding-top:60px}}

/* Warmer photographic presentation for the private chef page. */
.chef-page main img{filter:sepia(.13) saturate(1.22) contrast(1.04) brightness(1.035)}

.chef-page .chef-intro{padding-top:85px}.chef-page main img.chef-portrait{filter:none}
@media(max-width:700px){.chef-page .chef-intro{padding-top:55px}}

.handmade-gallery{border-top:1px solid var(--line)}.handmade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}.handmade-grid img{width:100%;height:auto;display:block}.chef-page .handmade-grid img{filter:none}.handmade-grid .gnocchi-wide{grid-column:1/-1}.handmade-grid .gnocchi-wide img{width:100%}@media(max-width:700px){.handmade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.handmade-grid figcaption{font-size:12px}}

.chef-venice{padding-top:30px}.chef-page .chef-venice img{display:block;width:100%;height:auto;filter:none}.chef-venice .section-heading>p{max-width:420px}.chef-venice figure{margin:40px 0 0}@media(max-width:700px){.chef-venice{padding-top:15px}.chef-venice figure{margin-top:28px}}

.instagram-contact{margin-top:28px}.instagram-contact>span{display:block;font-size:13px;margin-top:8px;opacity:.75}header nav{flex-wrap:wrap}footer{flex-wrap:wrap;gap:20px}@media(max-width:700px){header nav{justify-content:flex-start;gap:14px 22px}.instagram-contact .text-link{font-size:16px}}

.language-switch{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;border-left:1px solid var(--line);padding-left:18px}.language-switch a{font-size:12px;letter-spacing:.08em;padding:6px 2px}.language-switch a[aria-current]{border-bottom:1px solid currentColor;font-weight:700}.language-switch a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:700px){header nav{gap:12px 18px}.language-switch{padding-left:12px}}

/* Chinese typography */
html:lang(zh-Hans) body{font-family:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",Arial,sans-serif;line-height:1.85}
html:lang(zh-Hans) h1,html:lang(zh-Hans) h2,html:lang(zh-Hans) h3{font-family:"Songti SC","SimSun","Noto Serif CJK SC",serif;letter-spacing:0;line-height:1.35}
html:lang(zh-Hans) em{font-style:normal}
html:lang(zh-Hans) h1 em{display:inline-block;white-space:nowrap}
html:lang(zh-Hans) .eyebrow{letter-spacing:.15em}
html:lang(zh-Hans) input,html:lang(zh-Hans) textarea,html:lang(zh-Hans) button{font-family:inherit}
.language-switch a[lang="zh-Hans"]{letter-spacing:0;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif}
@media(max-width:700px){html:lang(zh-Hans) .hero h1{font-size:clamp(38px,12vw,52px)}html:lang(zh-Hans) h2{font-size:clamp(30px,8.5vw,42px)}}
/* End Chinese typography */

/* Approved private-chef presentation; scoped to chef pages. */
.chef-page .chef-hero{padding:44px 5% 55px;gap:5%;grid-template-columns:1.05fr .95fr;min-height:640px}
.chef-page .chef-hero .hero-copy{padding:28px 0}
.chef-page .chef-hero .hero-image{width:84%;justify-self:center;max-height:650px;object-fit:contain;filter:none}
.chef-page .hero-bottom .music-introduction{max-width:480px;font-size:16px;line-height:1.8}
.chef-page .chef-hero .hero-bottom{margin-top:30px;gap:26px}
.chef-page header nav{gap:16px}
.chef-page header nav>a[href*="instagram.com"]{border:1px solid var(--ink);border-radius:30px;padding:8px 17px}
.chef-page header nav>.nav-contact{border:1px solid var(--accent);border-radius:30px;padding:8px 17px;background:var(--accent);color:var(--paper)}
.chef-page .section-heading>p{max-width:260px}
.chef-page .music-step{grid-column:1/-1;display:grid;grid-template-columns:70px 1fr;gap:24px;background:#ead8c2;padding:28px!important;border:0!important;margin-top:12px}
.chef-page .music-step h3{margin:0 0 14px;font-size:32px}
.chef-page .music-step .eyebrow{margin-bottom:12px;font-size:9px}
.chef-page .music-step p:last-child{max-width:780px;margin-bottom:0}
@media(max-width:700px){.chef-page .chef-hero{display:flex;flex-direction:column;gap:20px;min-height:0;padding:0 6% 35px}
.chef-page .chef-hero .hero-copy{padding:42px 0 0}
.chef-page .chef-hero .hero-image{width:82%;max-height:520px}
.chef-page .chef-hero .hero-copy{padding-left:0;padding-right:0}
.chef-page .hero-bottom .music-introduction{font-size:15px}
.chef-page header nav{gap:12px}
.chef-page header nav>a[href*="instagram.com"],.chef-page header nav>.nav-contact{padding:6px 13px}
.chef-page .music-step{grid-template-columns:1fr;gap:12px;padding:22px!important}
.chef-page .music-step h3{font-size:28px}
}
.chef-page .brand .brand-cities{font-size:10px;letter-spacing:1px;margin-top:7px}
.chef-page .hero-bottom .service-area{font-size:12px;line-height:1.6;letter-spacing:.2px;color:var(--accent)}
.chef-page .hero-bottom:has(.service-area){gap:18px}
.chef-page .service-areas{border-top:1px solid var(--line);padding-top:65px;padding-bottom:65px}
.chef-page .service-areas h2{max-width:850px;margin-bottom:28px}
.chef-page .service-areas>p:not(.eyebrow){max-width:750px}
.chef-page .service-areas .text-link{margin-top:14px}
@media(max-width:700px){.chef-page .service-areas{padding-top:45px;padding-bottom:45px}
}

.chef-page #request-form select{display:block;width:100%;min-height:45px;border:0;border-bottom:1px solid #9b7655;border-radius:0;background:transparent;color:var(--ink);font:16px Arial,sans-serif;padding:12px 0;outline-offset:4px}.chef-page #request-form select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.chef-page #request-form select option{background:var(--paper);color:var(--ink)}

footer .legal-info{flex-basis:100%;width:100%;text-align:center;border-top:1px solid var(--line);padding-top:18px;font-size:12px;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}footer .legal-info span{display:block}

/* Keep desktop navigation and language choices on the same row. */
@media(min-width:701px){
 header>.brand{white-space:nowrap;flex-shrink:0}
 header nav{flex-wrap:nowrap;white-space:nowrap}
 header nav>a,header .language-switch{flex-shrink:0}
}
@media(min-width:701px) and (max-width:1099px){
 header{flex-wrap:wrap;padding-left:4%;padding-right:4%;gap:20px}
 header>.brand{flex-basis:100%}
 header nav,.chef-page header nav{width:100%;justify-content:space-between;gap:10px;font-size:12px}
 header .language-switch{gap:8px;padding-left:12px}
 .chef-page header nav>a[href*="instagram.com"],.chef-page header nav>.nav-contact{padding:8px 13px}
}
