@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap');
:root{--paper:#f4eee3;--cream:#fffaf2;--ink:#27241f;--olive:#4c513b;--wine:#632c35;--rust:#a9583b;--line:#d9d0c0;--body:'DM Sans',Arial,sans-serif;--display:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}button,input{font:inherit}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.045em}h1 em,h2 em{font-weight:400;color:var(--rust)}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:white;padding:.7rem 1rem;z-index:100}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.topline{height:32px;background:var(--wine);color:#fff9ee;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,72px);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.topline a{text-decoration:none}.site-header{height:106px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(18px,4vw,72px);border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:11px;width:max-content}.brand-mark{width:54px;height:54px;border:1px solid var(--wine);border-radius:50%;display:grid;place-items:center;font-family:var(--display);color:var(--wine);font-size:16px;letter-spacing:-.2em;padding-right:5px}.brand-mark span{font-size:8px;vertical-align:middle;padding:0 4px}.brand-copy{font-family:var(--display);font-size:17px;line-height:.95;letter-spacing:.05em;color:var(--wine);display:grid}.brand-copy small{font-family:var(--body);font-size:10px;letter-spacing:.19em;margin-top:8px}.site-header nav{display:flex;gap:clamp(16px,2vw,36px);align-items:center}.site-header nav a{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.04em;padding:8px 0;border-bottom:1px solid transparent}.site-header nav a:hover,.site-header nav a[aria-current=page]{border-color:var(--wine)}.header-call{justify-self:end;border:1px solid var(--wine);padding:11px 18px;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700;color:var(--wine)}.header-call:hover{background:var(--wine);color:white}.menu-toggle{display:none}
.eyebrow{color:var(--rust);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.rule{display:inline-block;width:35px;height:1px;background:currentColor;vertical-align:middle;margin:0 10px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;background:var(--wine);color:white;padding:16px 21px;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;min-height:54px}.button:hover{background:#4a1f27}.button-dark{background:var(--ink)}.text-link{display:inline-block;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.text-link:hover{color:var(--rust)}
.hero{display:grid;grid-template-columns:53% 47%;min-height:min(680px,75vw);max-width:1600px;margin:auto}.hero-copy{padding:clamp(55px,7vw,120px) 5vw clamp(50px,6vw,95px) clamp(24px,7vw,110px);display:flex;flex-direction:column;align-items:flex-start}.hero h1,.page-hero h1{font-size:clamp(58px,6.4vw,108px);margin:30px 0 27px}.hero h1 em{display:inline-block}.hero-copy>p{font-size:17px;max-width:420px;color:#575247}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin:26px 0 auto}.hero-note{display:flex;gap:12px;max-width:420px;padding-top:44px;color:#686253;font-size:12px;line-height:1.5}.hero-note .sparkle{font-size:20px;color:var(--rust);line-height:1}.illustration{margin:0;background:#dfd1b9;position:relative;min-height:560px;overflow:hidden}.illustration img{width:100%;height:100%;object-fit:cover}.illustration figcaption{position:absolute;bottom:21px;right:22px;background:rgba(255,250,242,.9);padding:7px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.intro-grid{max-width:1390px;margin:auto;padding:115px clamp(24px,6vw,100px);display:grid;grid-template-columns:20% 47% 33%;gap:20px;border-bottom:1px solid var(--line);align-items:start}.section-number{font-size:10px;color:var(--rust);font-weight:700;letter-spacing:.16em;padding-top:12px}.intro-grid h2{font-size:clamp(42px,4.4vw,72px);margin:24px 0 0}.intro-grid>p{color:#5e584d;font-size:15px;padding-top:35px;max-width:350px}.feature-grid{max-width:1390px;margin:auto;padding:75px clamp(24px,6vw,100px) 120px;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:15px}.feature-card{min-height:360px;display:flex;flex-direction:column;align-items:flex-start;padding:38px 33px;background:#e6ddcc;text-decoration:none;transition:transform .2s,background .2s}.feature-card:hover{transform:translateY(-5px);background:#ded2bd}.feature-card-primary{background:var(--olive);color:#fff9ed}.feature-card-primary:hover{background:#383e2b}.feature-card span{font-size:10px;letter-spacing:.18em;font-weight:700}.feature-card h3{font:400 clamp(35px,3vw,48px)/1.08 var(--display);letter-spacing:-.04em;margin:54px 0 17px}.feature-card p{font-size:13px;max-width:260px}.feature-card strong{margin-top:auto;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.quote-band{background:var(--wine);color:#fff8ec;text-align:center;padding:95px 20px 105px}.quote-band .eyebrow{color:#e7b28f}.quote-band blockquote{font:italic 400 clamp(32px,4vw,62px)/1.2 var(--display);letter-spacing:-.03em;max-width:920px;margin:30px auto 25px}.quote-band p{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#e1c8be}
.page-hero{padding:95px clamp(24px,8vw,130px) 90px;min-height:430px;max-width:1600px;margin:auto}.page-hero h1{margin:26px 0;max-width:970px}.page-hero p{max-width:590px;color:#5e584d;font-size:17px}.menu-hero,.specials-hero{background:#e5d9c4}.contact-hero{background:#dcd7c6}.story-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1350px;margin:100px auto;padding:0 25px;gap:80px;align-items:center}.story-art{background:var(--wine);height:580px;position:relative;display:grid;place-items:center;color:#f7e8ce}.story-motif{border:1px solid rgba(255,255,255,.65);width:65%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font:400 clamp(70px,10vw,150px) var(--display);letter-spacing:-.25em;padding-right:7%;transform:rotate(-8deg)}.story-motif span{font-size:.22em;margin-left:-.7em}.story-art small{position:absolute;bottom:20px;right:20px;letter-spacing:.12em;text-transform:uppercase;font-size:10px}.story-copy h3{font:400 clamp(42px,4vw,68px)/1.1 var(--display);letter-spacing:-.04em;margin:22px 0}.story-copy p{color:#5e584d;max-width:470px}.story-copy .button{margin-top:25px}.small-note{border-top:1px solid var(--line);padding:35px clamp(24px,8vw,130px);display:flex;gap:50px;align-items:baseline;max-width:1600px;margin:auto}.small-note span{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--rust);min-width:160px}.small-note p{margin:0;font-size:13px;color:#625c50;max-width:650px}.small-note a{font-size:12px;font-weight:700}
.menu-section{max-width:1430px;margin:auto;padding:100px clamp(20px,5vw,85px) 120px}.menu-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.menu-heading h2{font-size:clamp(42px,4.5vw,70px);margin:15px 0 0}.menu-heading p{color:#615a50;font-size:13px;max-width:310px}.menu-controls{border-top:1px solid var(--line);margin-top:45px;padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.filter-list{display:flex;flex-wrap:wrap;gap:7px}.filter-button{background:transparent;border:1px solid #b7ae9e;color:var(--ink);padding:8px 13px;cursor:pointer;font-size:11px;font-weight:700;min-height:40px}.filter-button:hover,.filter-button.is-active{background:var(--wine);border-color:var(--wine);color:white}.search-label{min-width:230px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:var(--wine)}.search-label input{display:block;width:100%;margin-top:4px;background:var(--cream);border:1px solid #b7ae9e;border-radius:0;padding:9px 11px;font-size:12px;text-transform:none;letter-spacing:normal;color:var(--ink)}.result-count{font-size:11px;color:#746a5b;text-transform:uppercase;letter-spacing:.12em}.dish-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.dish{background:var(--cream);min-height:205px;padding:25px 25px 30px;border:1px solid #e2d8c8}.dish[hidden]{display:none}.dish-category{font-size:10px;letter-spacing:.16em;color:var(--rust);font-weight:700;text-transform:uppercase}.dish h3{font:400 27px/1.15 var(--display);letter-spacing:-.03em;margin:22px 0 10px}.dish p{font-size:12px;line-height:1.55;color:#625c50;margin:0}.empty-results{background:var(--cream);padding:30px}.callout{background:var(--olive);color:#fff8ea;text-align:center;padding:75px 20px 85px}.callout span{font-size:10px;letter-spacing:.18em}.callout h2{font-size:clamp(39px,4vw,60px);margin:19px auto}.callout p{font-size:14px}.callout .button{margin-top:15px;background:#f1e6d3;color:var(--olive)}
.archive-list{max-width:1180px;margin:95px auto;padding:0 24px}.archive-list article{display:grid;grid-template-columns:24% 34% 42%;border-top:1px solid var(--line);padding:37px 0;gap:20px;align-items:baseline}.archive-list article:last-child{border-bottom:1px solid var(--line)}.archive-list span{font-size:10px;letter-spacing:.16em;color:var(--rust);font-weight:700}.archive-list h3{font:400 clamp(35px,4vw,58px) var(--display);letter-spacing:-.04em;margin:0}.archive-list p{color:#625c50;font-size:14px;margin:0;max-width:370px}.contact-grid{max-width:1330px;margin:95px auto 120px;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-main,.contact-address{padding:55px;min-height:390px}.contact-main{background:var(--wine);color:#fff8e9}.contact-main .eyebrow{color:#e2ad90}.contact-address{background:#e4d8c4}.contact-grid h3{font:400 clamp(40px,4vw,65px)/1.08 var(--display);letter-spacing:-.04em;margin:22px 0}.contact-grid p{font-size:14px;max-width:390px}.phone-large{font:400 clamp(29px,3vw,42px) var(--display);text-decoration:none;display:inline-block;margin:18px 0 25px;border-bottom:1px solid}.contact-address address{font-style:normal;margin-bottom:27px}.site-footer{background:#2a2d24;color:#f8f0df}.footer-main{max-width:1430px;margin:auto;padding:90px clamp(24px,5vw,85px) 85px;display:grid;grid-template-columns:1.5fr .75fr .75fr;gap:50px}.footer-kicker{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#ccb788}.footer-main h2{font-size:clamp(42px,4vw,64px);margin:20px 0}.footer-main h2 em{color:#cfb486}.footer-main p{max-width:320px;font-size:13px;color:#d3d0bf}.footer-main h3{font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:#ccb788;margin-bottom:22px}.footer-main a{display:block;text-decoration:none;margin:0 0 11px;font-size:13px}.footer-main a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #626554;padding:25px clamp(24px,5vw,85px);display:flex;justify-content:space-between;gap:15px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#cbcbb7}
@media(max-width:1100px){.site-header{grid-template-columns:1fr auto}.site-header nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:20px;display:none;box-shadow:0 12px 20px #0002;flex-direction:column;align-items:stretch}.site-header nav.is-open{display:flex}.site-header nav a{font-size:16px;padding:10px}.menu-toggle{display:block;justify-self:end;border:1px solid var(--wine);background:transparent;color:var(--wine);padding:8px 12px;cursor:pointer}.header-call{display:none}.menu-controls{align-items:flex-start;flex-direction:column}.search-label{width:min(100%,400px)}}
@media(max-width:760px){.topline{padding:0 16px}.site-header{height:82px;padding:0 16px}.brand-mark{width:45px;height:45px;font-size:14px}.brand-copy{font-size:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 24px 45px}.hero h1,.page-hero h1{font-size:clamp(52px,11vw,78px);margin:24px 0}.hero-actions{margin:20px 0}.hero-note{padding-top:25px}.illustration{min-height:300px;height:70vw;max-height:500px}.intro-grid{padding:75px 24px;grid-template-columns:1fr}.intro-grid h2{margin:10px 0}.intro-grid>p{padding-top:0}.feature-grid{grid-template-columns:1fr;padding:45px 24px 85px}.feature-card{min-height:280px}.feature-card h3{margin:35px 0 10px}.quote-band{padding:70px 24px}.page-hero{padding:65px 24px;min-height:0}.story-layout{grid-template-columns:1fr;gap:35px;margin:60px auto}.story-art{height:360px}.story-copy{padding:0 3px}.small-note{display:block;padding:30px 24px}.small-note p{margin-top:10px}.menu-section{padding:70px 20px 80px}.menu-heading{display:block}.menu-heading p{margin-top:15px}.dish-grid{grid-template-columns:repeat(2,1fr)}.archive-list{margin:60px auto}.archive-list article{grid-template-columns:1fr;gap:10px}.contact-grid{grid-template-columns:1fr;margin:50px auto 70px}.contact-main,.contact-address{padding:35px;min-height:300px}.footer-main{grid-template-columns:1fr 1fr;gap:40px;padding:70px 24px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{padding:25px 24px;flex-direction:column}}
@media(max-width:520px){.topline{font-size:8px}.brand{gap:7px}.brand-copy{font-size:12px}.brand-copy small{font-size:8px}.hero-actions{align-items:flex-start;flex-direction:column}.hero h1,.page-hero h1{font-size:clamp(49px,12vw,66px)}.intro-grid h2,.menu-heading h2{font-size:46px}.dish-grid{grid-template-columns:1fr}.dish{min-height:0}.filter-list{overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:8px}.filter-button{white-space:nowrap}.contact-main,.contact-address{padding:28px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.feature-card{transition:none}}
