:root{--charcoal:#343535;--deep:#252827;--mint:#8de9c1;--mint-dark:#126652;--cream:#f7f3ea;--paper:#fffdf8;--white:#fff;--ink:#242827;--muted:#5f6864;--line:#d9ddd7;--gutter:clamp(24px,5.5vw,96px);--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--cream);color:var(--ink);font:19px/1.6 'Karla',sans-serif}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-underline-offset:.2em}figure,p,h1,h2,h3{margin:0}a:focus-visible{outline:3px solid var(--mint);outline-offset:5px}.skip{position:absolute;top:-90px;left:20px;z-index:20;background:var(--mint);padding:12px 16px;font-weight:700}.skip:focus{top:16px}
.header{display:flex;align-items:center;justify-content:space-between;min-height:112px;padding:8px var(--gutter);gap:40px;background:var(--charcoal);color:var(--white)}.brandmark{width:190px;height:94px;display:block;overflow:hidden}.brandmark img{object-fit:cover}.header nav{display:flex;align-items:center;gap:42px;font-size:16px;font-weight:700}.header nav a{text-decoration:none}.header nav a:hover{color:var(--mint)}.nav-visit{border:1px solid var(--mint);padding:14px 22px;color:var(--mint)}
.hero{background:var(--cream);padding:clamp(70px,8vw,128px) var(--gutter) 0}.hero-copy{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(52px,8vw,130px);align-items:end}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:13px;font-weight:700}.eyebrow{grid-column:1/-1;color:var(--mint-dark);margin-bottom:-18px}h1,h2,h3{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase}h1{font-size:clamp(72px,7.6vw,122px);line-height:.91;letter-spacing:-.035em;text-wrap:balance}h1 span{display:inline}h1 span:first-child{display:block;color:var(--charcoal)}h1 span:last-child{color:var(--mint-dark)}.hero-description{font-size:clamp(19px,1.55vw,23px);line-height:1.55;max-width:36ch;color:var(--muted);padding-bottom:8px}.hero-actions{grid-column:1/-1;display:flex;align-items:center;gap:28px;margin-top:-10px;margin-bottom:52px}.hero-actions p{font-size:14px;color:var(--muted);line-height:1.45}.hero-actions strong{color:var(--ink)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:16px 27px;text-decoration:none;font-size:16px;font-weight:700;transition:background-color .2s,color .2s}.button-mint{background:var(--mint-dark);color:var(--white)}.button-mint:hover{background:var(--deep)}.button-dark{background:var(--charcoal);color:var(--white)}.button-dark:hover{background:var(--deep)}.hero-photo{position:relative;max-width:var(--max);height:clamp(500px,51vw,735px);margin:0 auto;overflow:hidden}.hero-photo img{object-position:center 54%}.hero-photo figcaption{position:absolute;left:34px;bottom:32px;background:var(--charcoal);color:var(--mint);padding:17px 22px;font:700 20px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em}
.welcome-strip{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;gap:30px;padding:28px 34px;background:var(--mint);color:var(--charcoal);font-size:17px;font-weight:700}.welcome-strip p:last-child{text-transform:uppercase;letter-spacing:.1em;font-size:13px}.section-space{padding:clamp(100px,10vw,160px) var(--gutter)}h2{font-size:clamp(54px,5.2vw,82px);line-height:.96;letter-spacing:-.025em;text-wrap:balance}h3{font-size:clamp(31px,2.7vw,42px);line-height:1;letter-spacing:-.01em}.section-kicker{color:var(--mint-dark);margin-bottom:22px}.section-intro{max-width:var(--max);margin:0 auto 70px;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(50px,9vw,140px);align-items:end}.section-intro>p{max-width:39ch;color:var(--muted);font-size:20px}.food-layout{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:clamp(60px,9vw,145px);align-items:center}.feature-photo{height:760px;position:relative}.feature-photo img{object-position:center 54%}.feature-photo figcaption{position:absolute;left:28px;bottom:28px;background:var(--charcoal);color:var(--mint);padding:14px 19px;text-transform:uppercase;letter-spacing:.09em;font-size:13px;font-weight:700}.food-descriptions article{padding:36px 0;border-bottom:1px solid var(--line)}.food-descriptions article:first-child{padding-top:0}.food-descriptions article span{display:block;margin-bottom:12px;color:var(--mint-dark);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.09em}.food-descriptions article p{margin-top:17px;color:var(--muted);max-width:42ch}.diet-note{font-size:16px;color:var(--muted);margin-top:34px;max-width:46ch}
.our-kitchen{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(60px,9vw,145px);align-items:center;background:var(--charcoal);color:var(--white)}.our-kitchen .section-kicker{color:var(--mint)}.kitchen-copy h2{color:var(--white);max-width:12ch}.kitchen-copy>p:not(.section-kicker){margin-top:27px;max-width:43ch;color:#e0e6e2}.text-link{display:inline-flex;margin-top:36px;color:var(--mint);font-weight:700;text-decoration:none;border-bottom:1px solid var(--mint);padding-bottom:5px}.team-photo img{height:720px;object-position:center 32%}.team-photo figcaption{font-size:15px;color:#cbd3cf;margin-top:15px}
.gallery{background:var(--paper)}.gallery-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:.9fr 1.2fr .9fr;gap:30px;align-items:start}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(3){padding-top:70px}.gallery-grid img{height:500px}.gallery-grid figure:nth-child(1) img{object-position:center 65%}.gallery-grid figcaption{font-size:15px;color:var(--muted);margin-top:16px}
.visit{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(60px,10vw,160px);background:var(--mint)}.visit .section-kicker{color:var(--charcoal)}.visit-heading h2{font-size:clamp(66px,7vw,108px);color:var(--charcoal)}.visit-heading>p:not(.section-kicker){margin:31px 0 38px;max-width:43ch;font-size:20px}.visit-details dl{margin:0}.visit-details dl>div{display:grid;grid-template-columns:145px 1fr;gap:28px;padding:28px 0;border-top:1px solid rgba(53,53,53,.28)}.visit-details dt{font-size:13px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.visit-details dd{margin:0;font-size:19px}.visit-details a{font-weight:700}
footer{padding:42px var(--gutter) 30px;background:var(--deep);color:var(--white)}.footer-main{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:38px}.footer-logo{display:block;width:170px;height:100px}.footer-logo img{object-fit:cover}.footer-main p{font-size:16px;color:#d1d8d4}.footer-main>div{display:flex;gap:26px;font-size:16px}.demo-note{max-width:var(--max);margin:26px auto 0;border-top:1px solid #515654;padding-top:21px;font-size:12px;color:#aeb8b2}.mobile-actions{display:none}
@media(min-width:1600px){.hero,.section-space{padding-left:max(var(--gutter),calc((100vw - 1640px)/2));padding-right:max(var(--gutter),calc((100vw - 1640px)/2))}}
@media(max-width:1100px){.hero-copy{grid-template-columns:1fr}.hero-description{max-width:46ch}.hero-actions{margin-top:0}.feature-photo{height:680px}.team-photo img{height:620px}.visit-details dl>div{grid-template-columns:1fr;gap:8px}}
@media(max-width:820px){.header nav{gap:26px}.hero{padding-top:72px}.hero-copy{gap:34px}.eyebrow{margin-bottom:0}.hero-actions{margin-top:0;margin-bottom:44px}.hero-photo{height:560px}.section-intro{grid-template-columns:1fr;gap:28px;margin-bottom:52px}.food-layout{grid-template-columns:1fr;gap:55px}.feature-photo{height:690px}.our-kitchen{grid-template-columns:1fr;gap:55px}.kitchen-copy h2{max-width:15ch}.team-photo img{height:650px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid figure:nth-child(3){grid-column:1/-1;padding-top:0}.gallery-grid figure:nth-child(3) img{height:500px}.visit{grid-template-columns:1fr;gap:52px}.visit-details dl>div{grid-template-columns:145px 1fr}}
@media(max-width:620px){body{font-size:18px}.header{min-height:92px;padding-top:8px;padding-bottom:8px}.brandmark{width:126px;height:74px}.header nav>a:not(.nav-visit){display:none}.nav-visit{font-size:14px;padding:11px 15px}.hero{padding-top:54px}.hero-copy{display:block}.eyebrow{margin-bottom:27px;max-width:31ch}h1{font-size:clamp(55px,15.5vw,74px);line-height:.93;max-width:10.2ch}h1 span{display:inline}h1 span:first-child{display:inline}.hero-description{margin-top:29px}.hero-actions{margin-top:30px;margin-bottom:38px;gap:20px}.hero-photo{height:390px}.hero-photo figcaption{left:18px;bottom:18px;right:18px;width:max-content;max-width:calc(100% - 36px);font-size:17px}.welcome-strip{padding:22px var(--gutter);font-size:15px}.welcome-strip p:last-child{display:none}.section-space{padding-top:88px;padding-bottom:88px}.section-intro{margin-bottom:42px}.feature-photo{height:550px}.food-layout{gap:45px}.food-descriptions article{padding:30px 0}.our-kitchen{gap:45px}.team-photo img{height:560px}.gallery-grid{grid-template-columns:1fr;gap:36px}.gallery-grid figure:nth-child(1),.gallery-grid figure:nth-child(3){padding-top:0;grid-column:auto}.gallery-grid img,.gallery-grid figure:nth-child(3) img{height:440px}.visit-details dl>div{grid-template-columns:1fr;gap:8px}.footer-main{flex-wrap:wrap}.footer-main>p{display:none}.footer-logo{width:140px;height:82px}.mobile-actions{display:flex;position:fixed;z-index:12;bottom:0;left:0;right:0;gap:10px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--line)}.mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:48px;flex:1;border:1px solid var(--charcoal);color:var(--charcoal);text-decoration:none;font-size:14px;font-weight:700}.mobile-actions a:last-child{background:var(--charcoal);color:var(--white);flex:1.25}footer{padding-bottom:110px}}
@media(max-width:390px){h1{font-size:56px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-actions p{font-size:13px}.button{min-height:54px}.hero-photo{height:340px}.feature-photo{height:500px}.team-photo img{height:510px}.gallery-grid img,.gallery-grid figure:nth-child(3) img{height:400px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-copy{column-gap:clamp(52px,8vw,130px);row-gap:38px}.eyebrow{margin-bottom:0}h1 span:last-child::before{content:" "}
@media(max-width:620px){.hero-copy{display:block}.eyebrow{margin-bottom:27px}}

/* Refined brand, typography and responsive composition */
:root{--muted:#343a37}
body{font-size:20px;color:#242827}
.header{min-height:126px;background:var(--cream);color:var(--charcoal);border-bottom:1px solid #d7d5cd}
.brandmark{width:220px;height:106px}.brandmark img,.footer-logo img{object-fit:contain}
.header nav{font-size:18px}.header nav a:hover{color:var(--mint-dark)}.nav-visit{border:2px solid var(--mint-dark);color:var(--mint-dark);padding:14px 24px}
.hero{padding-top:clamp(80px,8vw,132px)}.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;row-gap:0}.eyebrow,.section-kicker{font-family:'Karla',sans-serif;font-size:18px;line-height:1.25;font-weight:800;letter-spacing:0;text-transform:none;color:var(--mint-dark);background:linear-gradient(transparent 64%,rgba(141,233,193,.72) 0);padding:0 3px;margin-bottom:34px}
h1{max-width:14ch;font-size:clamp(78px,8vw,126px);line-height:.9;text-align:center}h1 span,h1 span:first-child,h1 span:last-child{display:block}h1 span:last-child::before{content:none}.hero-description{max-width:48ch;margin-top:38px;padding:0;font-size:clamp(21px,1.65vw,25px);line-height:1.5;color:var(--ink)}.hero-actions{margin:36px 0 60px;justify-content:center}.hero-actions p{font-size:16px;color:var(--ink)}.hero-photo{height:clamp(560px,51vw,760px)}
.welcome-strip{font-size:19px}.welcome-strip p:last-child{font-size:15px;letter-spacing:.04em}
.section-intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0;margin-bottom:76px}.section-intro .section-kicker{margin-bottom:28px}.section-intro>p{justify-self:auto;max-width:48ch;margin-top:30px;font-size:22px;color:var(--ink)}
h2{font-size:clamp(68px,6.4vw,102px);line-height:.92;text-align:center}h3{font-size:clamp(38px,3vw,49px)}.food-layout{gap:clamp(72px,10vw,160px)}.food-descriptions article p,.diet-note{color:var(--ink);font-size:20px}.food-descriptions article span{font-size:17px;letter-spacing:0;text-transform:none;color:var(--mint-dark)}
.our-kitchen{display:flex;flex-direction:column;align-items:center;text-align:center}.kitchen-copy{max-width:980px;margin:0 auto}.kitchen-copy h2{max-width:15ch;margin:0 auto}.kitchen-copy>p:not(.section-kicker){max-width:48ch;margin-left:auto;margin-right:auto;color:var(--white);font-size:21px}.our-kitchen .section-kicker{color:var(--mint);background:linear-gradient(transparent 64%,rgba(18,102,82,.9) 0)}.team-photo{width:min(100%,1080px);margin-top:18px}.team-photo img{height:auto;aspect-ratio:16/10;object-position:center 31%}.team-photo figcaption{color:var(--white);font-size:17px}
.gallery-grid figcaption{color:var(--ink);font-size:17px}.gallery .section-intro>p{color:var(--ink)}
.visit{display:flex;flex-direction:column;align-items:center;text-align:center}.visit-heading{max-width:1000px}.visit-heading h2{font-size:clamp(76px,7.4vw,116px)}.visit-heading>p:not(.section-kicker){max-width:48ch;margin:32px auto 40px;font-size:22px;color:var(--charcoal)}.visit-details{width:min(100%,1280px);margin-top:70px}.visit-details dl{display:grid;grid-template-columns:repeat(4,1fr);gap:0;text-align:left}.visit-details dl>div{display:block;padding:28px 30px;border-top:2px solid rgba(53,53,53,.55);border-left:1px solid rgba(53,53,53,.3)}.visit-details dl>div:first-child{border-left:0}.visit-details dt{font-size:16px;letter-spacing:0;text-transform:none;margin-bottom:13px}.visit-details dd{font-size:20px;color:var(--charcoal)}
footer{background:var(--cream);color:var(--charcoal);border-top:1px solid #d7d5cd}.footer-logo{width:190px;height:100px}.footer-main p,.demo-note{color:var(--charcoal)}.demo-note{border-top-color:#c8cbc4}
@media(max-width:1100px){h1{font-size:clamp(74px,10vw,102px)}.visit-details dl{grid-template-columns:1fr 1fr}.visit-details dl>div:nth-child(3){border-left:0}.food-layout{gap:64px}}
@media(max-width:820px){.header{min-height:108px}.brandmark{width:175px;height:90px}.hero{padding-top:76px}h1{font-size:82px;max-width:12ch}.hero-description{font-size:22px}.section-space{padding-top:110px;padding-bottom:110px}.section-intro{margin-bottom:60px}.feature-photo{height:720px}.food-descriptions article p,.diet-note{font-size:20px}.visit-details{margin-top:56px}}
@media(max-width:620px){body{font-size:19px}.header{min-height:92px}.brandmark{width:132px;height:72px}.header nav{font-size:15px}.hero{padding-top:60px}.hero-copy{display:flex}.eyebrow,.section-kicker{font-size:16px;margin-bottom:27px}h1{font-size:clamp(58px,16vw,70px);max-width:9.5ch;line-height:.92}.hero-description{margin-top:31px;font-size:20px;line-height:1.55}.hero-actions{margin-top:30px;margin-bottom:44px;flex-direction:column}.hero-actions p{text-align:center;font-size:15px}.hero-photo{height:390px}.welcome-strip{font-size:17px}.section-space{padding-top:92px;padding-bottom:92px}h2{font-size:clamp(58px,15vw,72px);max-width:10ch;margin-left:auto;margin-right:auto}.section-intro>p{font-size:20px;margin-top:27px}.feature-photo{height:500px}.food-descriptions article p,.diet-note{font-size:19px}.kitchen-copy>p:not(.section-kicker){font-size:19px}.team-photo img{aspect-ratio:4/5}.gallery-grid figcaption{font-size:16px}.visit-heading h2{font-size:clamp(64px,17vw,80px)}.visit-heading>p:not(.section-kicker){font-size:20px}.visit-details dl{grid-template-columns:1fr}.visit-details dl>div{border-left:0;padding:24px 0}.visit-details dd{font-size:19px}.footer-logo{width:150px;height:84px}}
.brandmark img,.footer-logo img{transform:scale(1.82)}
.feature-photo{height:auto;aspect-ratio:4/3}.feature-photo img{object-position:center 86%}
.eyebrow,.section-kicker{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-style:italic;font-weight:700;background:none;border-bottom:4px solid var(--mint);padding:0 2px 5px}
.our-kitchen .section-kicker{color:var(--white);background:none;border-bottom-color:var(--mint)}
@media(max-width:620px){.eyebrow,.section-kicker{font-size:18px}h1{font-size:50px;max-width:100%}h2{max-width:14ch}}
