:root{--bg:#fbfaf7;--alt:#f3eee4;--ink:#111110;--mute:#76736d;--line:rgba(29,29,27,.14);--acc:#a68b5b;--ease:cubic-bezier(.25,.1,.25,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:300 16px/1.9 Jost,sans-serif;letter-spacing:.01em;-webkit-font-smoothing:antialiased}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3,.brand{font-family:"Cormorant Garamond",serif;font-weight:300;line-height:1.12;letter-spacing:.01em}
h1{font-size:clamp(2.5rem,6vw,5rem)}h2{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:1.6rem}h3{font-size:1.7rem;margin:1.2rem 0 .6rem}
h4,.eyebrow,nav a,.btn,.link,.pnote,.contact dt,.menu b{font-family:Jost,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.32em;font-size:.68rem}
h4{margin:2.4rem 0 .5rem;color:var(--ink)}
p+p{margin-top:1.1rem}em{font-style:italic}ul{list-style:none}
.eyebrow{color:var(--acc);margin-bottom:1.6rem}
.light{color:rgba(255,255,255,.85)}.c{text-align:center}.small{font-size:.82rem;color:var(--mute);margin-top:1.4rem}
.lead{font-size:1.08rem;color:var(--mute);max-width:40rem;margin-left:auto;margin-right:auto}
.wrap{max-width:1160px;margin:0 auto;padding:9rem 2.5rem}
.tint{background:var(--alt)}
.wrap>h2.c,.wrap>.eyebrow.c{max-width:48rem;margin-left:auto;margin-right:auto}
.wrap>h2.c:after{content:"";display:block;width:40px;height:1px;background:var(--acc);margin:2rem auto 0}
/* nav */
.top{position:sticky;top:0;z-index:10;background:rgba(251,250,247,.97);display:flex;justify-content:space-between;align-items:center;padding:1.6rem 3rem;border-bottom:1px solid var(--line)}
.brand{font-size:1.45rem;letter-spacing:.22em;text-transform:uppercase}.brand span{display:none}
nav a{margin-left:2.6rem;color:var(--mute);transition:color .6s var(--ease)}
nav a.on,nav a:hover{color:var(--ink)}
#m,.burger{display:none}
.btn{display:inline-block;margin-top:2.6rem;padding:1.15rem 3rem;border:1px solid var(--ink);transition:background .7s var(--ease),color .7s var(--ease)}
.btn:hover{background:var(--ink);color:var(--bg)}
.btn.light{border-color:rgba(255,255,255,.7);color:#fff}.btn.light:hover{background:#fff;color:var(--ink)}
.link{display:inline-block;margin-top:2rem;padding-bottom:.4rem;border-bottom:1px solid var(--line);transition:border-color .7s var(--ease)}.link:hover{border-color:var(--ink)}
/* hero */
.hero{height:100vh;min-height:620px;background:center/cover;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;margin-top:-1px}
.veil{position:absolute;inset:0;background:rgba(15,15,14,.45)}
.hero-in{position:relative;padding:0 2rem;max-width:960px}.hero h1{margin-bottom:1.8rem}.hero h1 em{color:#fff;opacity:.9}
.hero p:not(.eyebrow){font-size:.85rem;letter-spacing:.14em;opacity:.85}
/* layout */
.split{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center}
.split.rev>div:first-child{order:2}
.split img{aspect-ratio:4/5;object-fit:cover}
.inq img{aspect-ratio:auto;max-height:86vh;object-fit:contain}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin:5rem 0 2rem}
.card img{aspect-ratio:4/5;object-fit:cover;transition:opacity 1.2s var(--ease)}.card:hover img{opacity:.82}.card p{color:var(--mute);font-size:.94rem}
.quote{padding-top:7rem;padding-bottom:7rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none}
.quote blockquote{font-family:"Cormorant Garamond",serif;font-weight:300;font-style:italic;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.35;text-align:center;max-width:46rem;margin:auto}
.pagehead{padding-bottom:3rem;text-align:center;max-width:900px}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;padding-top:6rem;padding-bottom:6rem}
.timeline div{padding:0 2rem;border-left:1px solid var(--line)}.timeline div:first-child{border:0}
.timeline span{font-family:"Cormorant Garamond",serif;font-weight:300;font-size:2.8rem;letter-spacing:.2em}.timeline p{color:var(--mute);font-size:.94rem}
.grid3,.grid4{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-top:4.5rem}.grid4{grid-template-columns:repeat(4,1fr)}
.grid3 img,.grid4 img{aspect-ratio:4/5;object-fit:cover}
/* pricing */
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 6rem;margin-top:5rem}
.pcard{padding:3rem 0;border-top:1px solid var(--ink)}
.pcard h3{margin:0 0 1.6rem;font-size:2rem}
.prow{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.prow span:last-child{font-family:"Cormorant Garamond",serif;font-size:1.3rem;text-align:right;white-space:nowrap}
.pnote{margin-top:1.4rem;color:var(--mute);line-height:2}
.notes{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 3rem;margin:3rem 0 0;font-size:.88rem;color:var(--mute)}
/* other services & menus */
.cards3{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem 7rem;margin-top:4rem}.cards3>div{border-top:1px solid var(--line);padding-top:1.5rem}
.cards3 p,.cards3 li{color:var(--mute);font-size:.95rem}.cards3 ul{margin-top:1rem}.cards3 li:before{content:"— ";color:var(--acc)}
.menus{display:grid;grid-template-columns:repeat(2,1fr);gap:5rem 7rem;margin-top:5rem}
.menu{text-align:center}.menu h3{font-size:1.9rem;font-style:italic;margin:0 0 2rem}
.menu p{font-size:.94rem;margin:0 0 1rem;color:var(--mute)}.menu .sub{margin-top:-1.4rem;font-style:italic}.menu b{color:var(--ink);display:block;margin-top:1.6rem}
/* gallery */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;padding-top:3rem}
.tile{display:block;overflow:hidden;background:var(--alt)}
.tile img{aspect-ratio:4/5;object-fit:cover;transition:transform 1.6s var(--ease),opacity 1.2s var(--ease)}
.tile:hover img{transform:scale(1.03);opacity:.9}
.lb{position:fixed;inset:0;z-index:50;background:rgba(18,18,17,.96);display:flex;align-items:center;justify-content:center}
.lb[hidden]{display:none}.lb img{max-width:88vw;max-height:86vh;width:auto;object-fit:contain}
.lb button{position:absolute;background:none;border:0;color:#fff;cursor:pointer;font:300 .7rem Jost,sans-serif;letter-spacing:.3em;text-transform:uppercase;opacity:.7;transition:opacity .5s}
.lb button:hover{opacity:1}.lbx{top:1.6rem;right:2rem}.lbp,.lbn{font:300 3rem "Cormorant Garamond",serif!important;top:50%;transform:translateY(-50%);padding:1rem}.lbp{left:1rem}.lbn{right:1rem}
/* contact & footer */
.contact{display:grid;grid-template-columns:7.5rem 1fr;gap:1.1rem 1rem;margin-top:2.8rem;padding-top:2rem;border-top:1px solid var(--line)}
.contact dt{color:var(--mute);padding-top:.35rem}.contact a{border-bottom:1px solid var(--line);transition:border-color .7s}.contact a:hover{border-color:var(--ink)}
.cta{background:var(--ink);color:var(--bg);text-align:center;padding:9rem 2rem}.cta .eyebrow{color:rgba(247,245,241,.6)}
.cta h2{max-width:40rem;margin:0 auto 1.6rem}.cta p:not(.eyebrow){max-width:34rem;margin:auto;opacity:.7}
.cta .btn{border-color:rgba(247,245,241,.6);color:var(--bg)}.cta .btn:hover{background:var(--bg);color:var(--ink)}
footer{text-align:center;padding:5rem 2rem;font-size:.85rem;color:var(--mute);letter-spacing:.04em}footer .brand{margin-bottom:1.4rem;color:var(--ink);font-size:1.2rem}
footer a{transition:color .6s}footer a:hover{color:var(--ink)}
@media(max-width:860px){
 .wrap{padding:6rem 1.6rem}.top{padding:1.2rem 1.6rem;flex-wrap:wrap}.brand{font-size:1.1rem;letter-spacing:.2em}
 .burger{display:block;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;color:var(--mute)}
 nav{display:none;width:100%;padding:1.4rem 0 .4rem}#m:checked~nav{display:block}nav a{display:block;margin:1rem 0}
 .split,.cards,.pgrid,.cards3,.menus{grid-template-columns:1fr;gap:3.5rem}.pgrid{gap:0}.split.rev>div:first-child{order:0}
 .timeline{grid-template-columns:1fr;gap:3rem}.timeline div{border:0}
 .grid3,.grid4,.tiles{grid-template-columns:1fr 1fr;gap:.75rem}.quote{padding:5rem 1.6rem}.cta{padding:6rem 1.6rem}
 .prow{flex-direction:column;gap:.1rem}.prow span:last-child{text-align:left}.inq img{max-height:none}}
.split>div{min-width:0}.contact dd{overflow-wrap:anywhere}
.pms{display:grid;grid-template-columns:repeat(2,1fr);gap:6rem 7rem;margin-top:5rem}
.pm{text-align:center;border-top:1px solid var(--ink);padding-top:3rem}
.pm h3{font-size:2rem;margin:0}.pmsub{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.2rem;color:var(--mute);margin-top:.4rem!important}
.crs{padding:1.8rem 0;border-bottom:1px solid var(--line)}.crs:last-child{border-bottom:0}
.clab{font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--acc);margin-bottom:.6rem}
.cname{font-family:"Cormorant Garamond",serif;font-size:1.45rem;line-height:1.3;margin:0!important}
.cdesc{font-size:.92rem;color:var(--mute);margin-top:.4rem!important}.cdesc.big{font-family:"Cormorant Garamond",serif;font-size:1.3rem;line-height:1.4;color:var(--ink)}
.cor{font-family:"Cormorant Garamond",serif;font-style:italic;color:var(--acc);margin:.6rem 0!important}
@media(max-width:860px){.pms{grid-template-columns:1fr;gap:4.5rem}}
.pm.solo{max-width:36rem;margin:4rem auto 0;border-top:1px solid var(--ink);padding-top:1rem}
.fitem{font-family:"Cormorant Garamond",serif;font-size:1.25rem;line-height:1.4;margin:.5rem 0 0!important}.pm>.clab{margin-bottom:.4rem}
.fprice{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.35rem;color:var(--acc);margin-top:-.4rem!important}

/* logo */
.brand.logo{display:block;line-height:0}.brand.logo img{height:46px;width:auto;display:block}
footer .fmono{width:64px;height:auto;display:block;margin:0 auto 1.4rem}footer .fword{height:40px;width:auto;display:block;margin:0 auto 1.8rem;opacity:.9}
@media(max-width:800px){.brand.logo img{height:36px}}
.dark .brand.logo img,.on-dark .brand.logo img{content:url(images/brand/wordmark-cream.svg)}
.hero-chef{background-position:45% 18%;align-items:flex-end}.hero-chef .hero-in{padding-bottom:9vh}
.hero-chef .veil{background:linear-gradient(to top,rgba(15,15,14,.78) 0%,rgba(15,15,14,.35) 45%,rgba(15,15,14,.1) 100%)}
.split img.pos-face{object-position:50% 22%}
@media(max-width:860px){.hero-chef{background-position:44% 15%}.hero-chef .hero-in{padding-bottom:7vh}}
.hero-chef{height:calc(100vh - 78px);min-height:560px}
@media(min-width:861px){
 .hero-chef{background-color:#111110;background-size:auto 100%;background-position:right 8% top;background-repeat:no-repeat;justify-content:flex-start;align-items:center;text-align:left}
 .hero-chef .veil{background:linear-gradient(to right,#111110 0%,#111110 40%,rgba(17,17,16,0) 62%)}
 .hero-chef .hero-in{padding:0 0 0 7vw;max-width:46%}
 .hero-chef h1{font-size:clamp(2.4rem,4.2vw,4.2rem)}}
.split img.pos-face{aspect-ratio:3/5;object-position:50% 70%}
.hero-svc{background-position:50% 0%}
@media(max-width:860px){.hero-svc{background-position:45% 0%}}
@media(min-width:861px){.hero-svc .veil{background:linear-gradient(to right,#111110 0%,#111110 38%,rgba(17,17,16,0) 47%)}.hero-svc{background-position:right 12% top}}
.mealprep{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;max-width:760px;margin:4rem auto 0}
.mealprep img{aspect-ratio:4/5;object-fit:cover}.mpcap{grid-column:1/-1;text-align:center;font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:var(--mute);margin-top:.4rem!important}
@media(max-width:860px){.mealprep{gap:.75rem}}
.mealprep.solo{grid-template-columns:1fr;max-width:420px}
.tastefig{max-width:760px;margin:4rem auto 0}.tastefig img{aspect-ratio:3/2;object-fit:cover}
.tabs{position:sticky;top:78px;z-index:9;background:rgba(251,250,247,.97);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:3rem;padding:1.1rem 1rem;flex-wrap:wrap}
.tabs a{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);transition:color .6s}.tabs a:hover{color:var(--ink)}
section[id]{scroll-margin-top:150px}
.hero-menus{background-position:right top}
@media(min-width:861px){.hero-menus{background-size:auto 100%;background-position:right top}.hero-menus .veil{background:linear-gradient(to right,#111110 0%,#111110 30%,rgba(17,17,16,0) 42%)}}
@media(max-width:860px){.hero-menus{background-position:center;background-size:cover;height:70vh}.tabs{top:62px;gap:.6rem 1.4rem;padding:.8rem}.tabs a{font-size:.6rem;letter-spacing:.2em}}
.viewmenus{text-align:center;border-top:1px solid var(--line)}
