:root{--paper:#fbfbf9;--stone:#f3f1ed;--ink:#303234;--muted:#60605b;--line:#cfcbc5;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.125rem;line-height:1.65;-webkit-font-smoothing:antialiased}
p,h1,h2,h3,figure{margin:0}
a{color:inherit;text-underline-offset:.25em}
a:focus-visible,button:focus-visible,.gallery-track:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
::selection{background:#ddd8ce;color:var(--ink)}
.wrap{width:min(100% - 7rem,1320px);margin-inline:auto}
.skip-link{position:absolute;top:-6rem;left:1rem;z-index:10;padding:.7rem 1rem;background:var(--paper)}
.skip-link:focus{top:1rem}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:112px;border-bottom:1px solid var(--line)}
.wordmark{font-size:2.4rem;font-weight:700;letter-spacing:-.045em;line-height:1.1;text-decoration:none}
nav{display:flex;gap:2.5rem;align-items:center;font-family:var(--sans);font-size:.875rem}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline}
.nav-contact{border-bottom:1px solid currentColor;padding-block:.2rem}
h1,h2,h3{font-weight:400;letter-spacing:-.035em;line-height:1.15}
em{font-weight:400}
.hero{display:grid;grid-template-columns:.82fr 1.18fr;gap:3.25rem;align-items:center;padding-block:3.5rem 4rem}
.hero-copy{padding-block:1rem}
h1{font-size:clamp(2.8rem,4.65vw,4.7rem);line-height:1.07;margin-bottom:1.5rem}
.hero-description{max-width:365px;font-size:1.25rem;line-height:1.6}
.button{display:inline-block;font-family:var(--serif);font-size:1.25rem;line-height:1.5;border:1px solid #a9a49c;border-radius:99px;padding:.75rem 1.5rem;margin-top:1.75rem;text-decoration:none;transition:background-color .2s,border-color .2s}
.button:hover{background:var(--stone);border-color:var(--ink)}
.hero-image{min-width:0}
.hero-image img{width:100%;height:auto;display:block}
.introduction{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;padding-block:1.75rem 4rem}
.introduction h2{font-size:clamp(1.9rem,2.7vw,2.7rem);max-width:500px}
.introduction>p{color:var(--muted);max-width:555px;line-height:1.7}
.approach{background:var(--stone);padding-block:4rem 4.25rem}
.section-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;align-items:start;margin-bottom:2.5rem}
h2{font-size:clamp(2.1rem,3.1vw,3.1rem)}
.section-heading>p{font-size:clamp(1.3rem,1.7vw,1.6rem);font-weight:700;line-height:1.45;max-width:660px}
.services{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
.service{border-top:1px solid var(--line);padding-top:1.1rem}
.service-number{display:block;font-family:var(--serif);font-size:.875rem;color:var(--muted);font-style:italic;margin-bottom:.6rem}
h3{font-size:1.6rem;line-height:1.2;letter-spacing:-.025em;margin-bottom:.85rem}
.service p{font-size:1.0625rem;color:var(--muted);line-height:1.65}
.food-gallery{position:relative;margin-block:3.5rem}
.food-gallery.is-ready{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:1.25rem;align-items:center}
.gallery-track{display:flex;gap:1.25rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;align-items:center}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track img{display:block;flex:0 0 calc((100% - 2.5rem)/3);min-width:0;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;scroll-snap-align:start}
.gallery-control{width:44px;height:44px;display:grid;place-items:center;padding:10px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;transition:background-color .2s}
.gallery-control svg{width:22px;height:22px}
.gallery-control:hover:not(:disabled){background:var(--stone)}
.gallery-control:disabled{opacity:.3;cursor:default}
.gallery-control[hidden]{display:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.closing{display:grid;grid-template-columns:1fr 1fr;gap:5rem;border-top:1px solid var(--line);padding-block:3.5rem 4.5rem}
.eyebrow{font-family:var(--sans);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.about-copy{max-width:515px;margin-top:1.3rem;color:var(--muted)}
.contact{border-left:1px solid var(--line);padding-left:3.5rem}
.contact h2{font-size:clamp(2.1rem,3vw,3rem);margin-bottom:1rem}
.consultation-invite{font-size:1.3rem;line-height:1.4}
.pricing{margin-top:1.65rem}
.package+.package{margin-top:1.2rem}
.package>p:first-child{font-size:1.0625rem}
.package strong{font-weight:400;white-space:nowrap}
.package-detail{font-family:var(--sans);font-size:.875rem;color:var(--muted);line-height:1.6;margin-top:.25rem}
.site-footer{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding-block:1.5rem;border-top:1px solid var(--line)}
.footer-wordmark{font-size:1.45rem;font-weight:700;letter-spacing:-.04em;text-decoration:none}
.site-footer>a:last-child{font-family:var(--sans);font-size:.875rem;text-decoration:none;color:var(--muted)}
@media(max-width:1100px){.wrap{width:calc(100% - 4rem)}.hero{gap:2rem}.introduction,.closing{gap:3rem}.section-heading{gap:3rem}.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3rem}.contact{padding-left:2.5rem}.gallery-track img{flex-basis:calc((100% - 1.25rem)/2)}}
@media(max-width:760px){.wrap{width:calc(100% - 2.5rem)}.site-header{min-height:90px;flex-wrap:wrap;gap:.75rem 1.5rem;padding-block:1.2rem}.wordmark{font-size:2rem}nav{gap:1.5rem}.hero{grid-template-columns:1fr;gap:2rem;padding-block:2.5rem 2rem}.hero-copy{padding:0}h1{font-size:clamp(2.75rem,8.5vw,4rem);margin-bottom:1.25rem}.hero-description{max-width:470px}.button{margin-top:1.35rem}.introduction{grid-template-columns:1fr;gap:1.2rem;padding-block:1.5rem 3rem}.introduction h2{font-size:2.1rem}.introduction h2 br{display:none}.approach{padding-block:3rem}.section-heading{grid-template-columns:1fr;gap:1.2rem;margin-bottom:2rem}.section-heading>p{font-size:1.35rem}.services{gap:1.75rem 1.5rem}h3{font-size:1.45rem}.food-gallery{margin-block:2.5rem}.food-gallery.is-ready{gap:.5rem}.gallery-track{gap:1rem}.gallery-track img{flex-basis:100%}.closing{grid-template-columns:1fr;gap:2.5rem;padding-block:2.5rem 3rem}.contact{border-left:0;border-top:1px solid var(--line);padding:2.5rem 0 0}.about-copy{max-width:none}.site-footer{padding-block:1.3rem}}
@media(max-width:420px){.services{grid-template-columns:1fr}.service-number{margin-bottom:.4rem}.service p{font-size:1.0625rem}.button{padding:.7rem 1.3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
