@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxhTg.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAkJxhTg.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAfJthTg.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwARZthTg.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_pqTbtY.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_naUbtY.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKd3vUDQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKebukDQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKeiukDQ.ttf) format('truetype');
}

:root{--green:#193a31;--red:#c43829;--cream:#fcf8ef;--gold:#ffd275;--ink:#24392f;--line:#d7dbcf}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%;object-fit:cover}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.12}
h2{font-size:clamp(2rem,3.3vw,3.3rem);letter-spacing:-.03em}
h3{font-size:2rem}
em{font-weight:500}
a,button{ -webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid #e99a24;outline-offset:6px}
.skip{position:fixed;top:-100px;left:20px;background:white;color:var(--green);padding:12px;z-index:50}
.skip:focus{top:12px}
.topbar{padding:8px 5.2%;background:var(--red);color:white;font-size:.8rem;display:flex;justify-content:space-between}
.topbar span{font-size:.7rem;letter-spacing:.13em;align-self:center}
.header{background:var(--green);color:var(--cream);padding:20px 5.2%;display:flex;justify-content:space-between;align-items:center;gap:32px}
.logo{flex-shrink:0}
.logo img{width:178px;height:auto}
.header nav{display:flex;gap:32px;align-items:center;font-size:.9rem}
.header nav>a:not(.button){border-bottom:1px solid transparent;padding:5px 0}
.header nav>a:hover,.header nav>a[aria-current=page]{border-color:var(--gold);color:var(--gold)}
.button{display:inline-flex;justify-content:center;align-items:center;gap:32px;padding:16px 25px;background:var(--red);color:#fff;font-size:.9rem;font-weight:600;border:1px solid transparent;border-radius:3px;transition:background .2s,transform .2s}
.button:hover{background:#a62d21;transform:translateY(-2px)}
.button span{font-size:1.2rem}
.button.small{padding:11px 21px;background:var(--gold);color:var(--green)}
.button.small:hover{background:#ffdf9b}
.button.green{background:var(--green)}
.button.green:hover{background:#285744}
.nav-toggle{display:none}
.hero{display:grid;grid-template-columns:49% 51%;min-height:635px;background:var(--green);color:var(--cream)}
.hero-copy{padding:54px 8% 48px 10.6%;display:flex;flex-direction:column;align-items:flex-start}
.eyebrow{font-weight:600;font-size:.72rem;letter-spacing:.16em;line-height:1.6;margin-bottom:23px;color:var(--red)}
.hero .eyebrow,.gather .eyebrow{color:var(--gold)}
h1{font-size:clamp(2.7rem,4.6vw,5rem);letter-spacing:-.035em;margin-bottom:26px;line-height:1.1}
h1 em{color:var(--gold)}
.hero-copy>p:not(.eyebrow){max-width:385px;font-size:1rem;color:#d8e0d8;line-height:1.8}
.actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}
.text-link{display:inline-flex;gap:20px;align-items:center;font-size:.9rem;border-bottom:1px solid #9da99d;padding:6px 0}
.text-link:hover{color:var(--gold)}
.text-link.dark:hover{color:var(--red)}
.hero-note{display:flex;gap:15px;align-items:center;margin-top:34px;font-size:.75rem;color:#d8e0d8;line-height:1.5}
.sun{font-size:2.6rem;color:var(--gold)}
.hero-photo{position:relative;min-height:100%}
.hero-photo>img{width:100%;height:100%;position:absolute;object-position:48% center}
.photo-label{position:absolute;bottom:27px;right:27px;background:var(--cream);color:var(--green);padding:12px 20px;font-size:.65rem;font-weight:700;letter-spacing:.13em;transform:rotate(-3deg)}
.ribbon{padding:21px 5.2%;display:flex;justify-content:space-between;gap:20px;background:var(--gold);font-size:1.15rem;color:var(--green)}
.ribbon span{font-size:.73rem;letter-spacing:.13em;font-weight:700;align-self:center}
.section{max-width:1440px;margin:auto;padding:86px 5.2%}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:97px;padding-bottom:97px}
.intro>div:last-child>p{color:#596259;margin-bottom:19px;max-width:470px}
.intro .text-link{margin-top:5px}
.food-section{padding-top:0}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:33px}
.section-heading .eyebrow{margin-bottom:12px}
.section-heading>p{color:#667064}
.food-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:24px}
.food-card{position:relative;min-height:390px;overflow:hidden;border-radius:4px}
.food-card>img{width:100%;height:100%;position:absolute;transition:transform .6s}
.food-card:hover>img{transform:scale(1.045)}
.food-card:after{content:'';position:absolute;inset:20% 0 0;background:linear-gradient(transparent,rgba(9,28,20,.85))}
.food-card>div{position:absolute;bottom:29px;left:30px;right:30px;z-index:1;color:white}
.food-card span{font-size:.68rem;letter-spacing:.15em}
.food-card h3{margin-top:9px}
.food-card b{position:absolute;right:0;bottom:0;font-size:1.8rem;font-weight:400}
.gather{position:relative;min-height:440px;background:var(--green);display:grid;place-items:center;text-align:center;color:var(--cream);overflow:hidden}
.gather>img{position:absolute;width:100%;height:100%;object-position:center;opacity:.26}
.gather>div{position:relative;padding:64px 24px}
.gather h2{font-size:clamp(2.5rem,4vw,4rem);margin-bottom:28px}
.gather h2 em{color:var(--gold)}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.location-card{border:1px solid var(--line);padding:35px 38px;background:#fffdf7;border-top:3px solid var(--green)}
.number{font-size:.7rem;color:var(--red);font-weight:700;letter-spacing:.12em}
.location-card h3{margin:17px 0}
.location-card address{font-style:normal;color:#596259}
.phone{display:inline-block;margin-top:13px;font-size:1.1rem;font-weight:600}
.phone:hover{text-decoration:underline}
.location-actions{margin-top:30px;display:flex;gap:23px;align-items:center;flex-wrap:wrap}
.hours-note{font-size:.85rem;color:#667064;margin-top:23px}
footer{background:var(--green);color:var(--cream);padding:50px 5.2% 22px}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:40px}
.footer-top p{font-family:'Playfair Display',Georgia,serif;font-size:1.6rem;line-height:1.3}
.footer-top nav{display:flex;gap:25px;font-size:.87rem}
.footer-top a:hover{color:var(--gold)}
.footer-bottom{border-top:1px solid #436055;padding-top:21px;display:flex;justify-content:space-between;gap:25px;font-size:.7rem;color:#c6d0c5}
.footer-bottom>span:nth-child(2){letter-spacing:.08em}
.page-heading{background:var(--green);color:var(--cream);padding:60px 5.2% 70px;text-align:center}
.page-heading h1{margin-bottom:20px}
.page-heading .eyebrow{color:var(--gold)}
.page-heading p:last-child{max-width:570px;margin:auto;color:#d8e0d8}
.menu-sheet{display:block;margin:30px auto;max-width:920px;width:100%;height:auto}
.menu-tools{display:flex;justify-content:center;gap:20px;margin-bottom:25px;flex-wrap:wrap}
.menu-info{text-align:center;color:#596259;margin-bottom:24px}
.specials-content{max-width:820px;text-align:center;margin:auto;padding:80px 24px}
.specials-content h2{margin-bottom:24px}
.specials-content p{margin-bottom:30px}
.contact-intro{text-align:center;max-width:750px;margin:0 auto 40px}
.contact-intro h2{margin-bottom:20px}

@media(min-width:1600px){.hero-copy{padding-top:85px;padding-bottom:75px}
.hero{min-height:750px}
}
@media(max-width:1050px){.header nav{gap:20px}
.hero-copy{padding-top:40px;padding-bottom:35px}
.hero{min-height:580px}
.actions{gap:16px}
.hero-note{margin-top:22px}
.location-card{padding:28px}
.food-card{min-height:330px}
.footer-top{gap:20px}
.footer-top nav{gap:15px}
}

@media(max-width:760px){.topbar{justify-content:center;font-size:.7rem;padding:7px 18px}
.topbar span{display:none}
.header{padding:16px 6%;position:relative;flex-wrap:wrap;gap:0}
.logo img{width:145px}
.nav-toggle{display:flex;gap:12px;align-items:center;color:var(--cream);border:1px solid #627568;background:none;border-radius:3px;padding:8px 13px;font-size:.85rem}
.header nav{display:none;width:100%;padding-top:24px;align-items:stretch;gap:4px;flex-direction:column}
.header nav.open{display:flex}
.header nav>a:not(.button){padding:11px 0}
.header nav>.button{margin-top:12px}
.hero{grid-template-columns:1fr;min-height:0}
.hero-copy{padding:40px 6% 37px}
.hero h1{font-size:clamp(2.8rem,9vw,4.3rem)}
.hero-copy>p:not(.eyebrow){max-width:490px}
.hero-photo{height:340px}
.hero-photo img{object-position:center 60%}
.hero-note{margin-top:25px}
.photo-label{font-size:.6rem;right:18px;bottom:20px}
.ribbon{padding:17px 6%;gap:10px;flex-wrap:wrap;justify-content:center}
.ribbon span{font-size:.61rem}
.ribbon span:nth-of-type(n+3),.ribbon span:nth-of-type(n+3)+*{display:none}
.section{padding:58px 6%}
.intro{grid-template-columns:1fr;gap:26px}
.eyebrow{font-size:.65rem;margin-bottom:15px}
.section-heading{align-items:flex-start;flex-direction:column;gap:15px;margin-bottom:26px}
.food-section{padding-top:0}
.food-grid{grid-template-columns:1fr;gap:20px}
.food-card{min-height:340px}
.food-card>div{left:25px;right:25px}
.gather{min-height:365px}
.gather>div{padding:50px 6%}
.location-grid{grid-template-columns:1fr;gap:20px}
.location-card{padding:27px}
.footer-top{flex-direction:column;align-items:flex-start;gap:25px}
.footer-top nav{flex-wrap:wrap;gap:23px}
.footer-bottom{flex-direction:column;gap:10px}
.page-heading{padding:45px 6% 50px}
.page-heading h1{font-size:3rem}
.menu-tools{flex-direction:column;align-items:stretch}
.food-card h3{font-size:1.8rem}
}

.brand-pattern{margin:0 auto 32px;width:223px;height:21px}
.menu-notice{border:1px solid var(--line);border-left:4px solid var(--red);padding:24px 28px;margin-bottom:60px;background:#fffdf7}
.menu-notice strong{font-family:'Playfair Display',Georgia,serif;font-size:1.6rem;font-weight:500}
.menu-notice p{color:#596259;margin:7px 0 13px}
.menu-notice>div{display:flex;gap:25px;flex-wrap:wrap;font-size:.9rem}
.menu-notice a{text-decoration:underline;text-underline-offset:4px}
.menu-feature{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;margin-bottom:65px}
.menu-feature>img{width:100%;height:350px;object-fit:cover;border-radius:3px}
.menu-feature h2,.menu-end h2{margin-bottom:22px}
.menu-feature p:not(.eyebrow),.menu-end p:not(.eyebrow){margin-bottom:22px;color:#596259}
.menu-feature.reverse>img{order:2}
.menu-end{border-top:1px solid var(--line);padding-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.menu-end>img{width:100%;height:320px;border-radius:3px}
.menu-end .button{margin-top:10px}
@media(max-width:760px){.menu-feature,.menu-end{grid-template-columns:1fr;gap:28px}
.menu-feature{margin-bottom:45px}
.menu-feature.reverse>img{order:0}
.menu-feature>img,.menu-end>img{height:280px}
.menu-notice{padding:23px;margin-bottom:40px}
.menu-notice>div{gap:10px;flex-direction:column}
.menu-end{padding-top:40px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition:none!important}
}

