@font-face{font-family:MelfortSerif;src:url('/assets/cormorant.woff') format('woff');font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:MelfortSerif;src:url('/assets/cormorant-italic.woff') format('woff');font-style:italic;font-weight:300 700;font-display:swap}
:root{--paper:#f7f5ee;--ink:#263d32;--soft:#566359;--line:#ccd0c5;--cream:#faf7ec;--accent:#9a472f;--serif:MelfortSerif,Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}picture{display:contents}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}::selection{background:#b9c5a3;color:var(--ink)}[hidden]{display:none!important}.skip-link{position:fixed;top:12px;left:12px;z-index:100;background:white;color:#172d23;padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-header{position:absolute;inset:0 0 auto;z-index:30;padding:24px 4.4%;display:flex;align-items:center;justify-content:space-between;gap:28px;color:white;border-bottom:1px solid #ffffff3d}.brand{display:block;flex:0 0 166px}.brand img{height:76px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:35px;margin-left:auto;margin-right:40px;font-size:.95rem}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-6px;left:0;right:100%;height:1px;background:currentColor;transition:right .25s}.desktop-nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:18px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;padding:13px 24px;min-height:50px;border:1px solid;line-height:1.5;font-size:.95rem;transition:background .2s,color .2s}.button-light{color:white;border-color:#ffffffab}.button-light:hover{background:white;color:var(--ink)}.button-cream{background:var(--paper);border-color:var(--paper);color:var(--ink)}.button-cream:hover{background:#e6e9dc;border-color:#e6e9dc}.button-dark{background:var(--ink);border-color:var(--ink);color:white}.button-dark:hover{background:#3c5340}.button span{font-size:1.2rem}.menu-toggle{display:none;background:none;border:0;color:inherit;width:44px;height:44px;padding:10px;cursor:pointer}.menu-toggle span{display:block;height:1px;background:currentColor;margin:7px 0;transition:transform .2s}.mobile-nav{position:fixed;inset:0;display:flex;flex-direction:column;gap:30px;overflow-y:auto;background:var(--ink);color:var(--cream);z-index:25;padding:150px 8% 50px}.mobile-nav nav{display:flex;flex:0 0 auto;flex-direction:column;gap:12px;font-family:var(--serif);font-size:3.25rem;line-height:1.25}.mobile-nav p{flex:0 0 auto;margin-top:auto;padding-top:10px;font-size:.9rem}.nav-open .site-header{position:fixed}.nav-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.nav-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}
.hero{height:auto;min-height:clamp(660px,94svh,1120px);display:grid;align-items:end;position:relative;color:var(--cream);background:#394a39}.hero-image{position:absolute;inset:0;height:100%;object-position:center 54%}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#1022176b 0%,#13221908 38%,#13241982 73%,#0a1d1694 100%)}.hero-content{position:relative;min-width:0;padding:180px 8% 155px}.eyebrow{font-size:.8rem;letter-spacing:.13em;font-weight:400;line-height:1.8}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(4.3rem,7.1vw,7.75rem);line-height:.98;letter-spacing:-.035em;margin:24px 0 30px}.hero h1 em{font-weight:400}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--ink);padding:8px 0;font-size:.96rem;line-height:1.5}.text-link span{font-size:1.3rem;transition:transform .2s}.text-link:hover span{transform:translate(3px,-2px)}.text-link.light{border-color:#ffffff8f}.hero-foot{position:absolute;bottom:28px;left:4.4%;right:4.4%;display:flex;justify-content:space-between;border-top:1px solid #ffffff5c;padding-top:20px;font-size:.83rem;letter-spacing:.02em}.hero-foot a{display:flex;gap:36px}.hero-foot a span{font-size:1.2rem}
.section-space{padding:110px 8%}h2{font-family:var(--serif);font-size:clamp(3.4rem,4.6vw,5rem);font-weight:400;line-height:1.03;letter-spacing:-.035em}h2 em{font-weight:400}.welcome{text-align:center;padding-top:108px;padding-bottom:74px}.welcome h2{margin:20px 0 30px}.welcome-copy{max-width:700px;margin:auto;font-size:1.13rem;line-height:1.8}.welcome-copy.secondary{font-size:1rem;color:var(--soft);max-width:655px;margin-top:15px}.signature{font-family:var(--serif);font-style:italic;font-size:1.8rem;margin-top:25px;color:var(--accent)}
.photo-journal{display:grid;grid-template-columns:1fr 1.17fr 1fr;gap:26px;padding:0 8% 100px;align-items:center}.photo-journal figure:nth-child(2){margin-top:55px}.photo-journal img{aspect-ratio:1;object-fit:cover;height:auto}.photo-journal figcaption{font-family:var(--serif);font-size:1.65rem;margin-top:13px;display:flex;align-items:center;gap:18px}.photo-journal figcaption span{font-family:var(--sans);font-size:.75rem;color:var(--soft);letter-spacing:.05em}
.menu-section{display:grid;grid-template-columns:1fr 1fr;min-height:790px;background:var(--ink);color:var(--cream)}.menu-copy{padding:90px 13% 85px 16%}.menu-copy h2{margin:22px 0 28px;font-size:clamp(3.8rem,5.5vw,6rem)}.menu-copy>p:not(.eyebrow):not(.price-note){max-width:435px;color:#e0e5d8;margin-bottom:18px}.price-line{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:33px;padding-top:20px;border-top:1px solid #ffffff40;font-size:.95rem}.price-line strong{font-weight:400;font-size:1.35rem;white-space:nowrap}.price-line small{font-size:.8rem;font-weight:400}.price-note{font-size:.8rem;color:#c9d3c3;margin-top:3px}.menu-links{display:flex;align-items:flex-start;flex-direction:column;gap:7px;margin-top:22px}.menu-links .text-link{min-width:235px}.menu-photo{position:relative;min-height:700px;overflow:hidden}.menu-photo img{position:absolute;height:100%;inset:0;object-position:center}.menu-photo figcaption{position:absolute;bottom:0;left:0;right:0;color:white;background:linear-gradient(transparent,#0008);font-size:.8rem;padding:60px 30px 25px;letter-spacing:.04em}
.story-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-top:120px;padding-bottom:120px}.story-photo{position:relative;padding-right:28px}.story-photo img{aspect-ratio:4/5;height:auto;object-position:center}.story-photo figcaption{font-size:.8rem;color:var(--soft);margin-top:16px}.story-copy h2{margin:22px 0 28px}.story-copy>p:not(.eyebrow){margin-bottom:19px;max-width:470px;color:var(--soft)}.story-copy .text-link{margin-top:10px;min-width:205px}
.gatherings{position:relative;min-height:650px;display:flex;align-items:center;justify-content:center;color:white;padding:90px 8%;text-align:center;background:#4b4f3a}.gatherings>img,.gatherings>picture>img{position:absolute;inset:0;height:100%;object-position:center 50%}.gatherings-shade{position:absolute;inset:0;background:#0b1b1685}.gatherings-copy{position:relative;max-width:740px}.gatherings h2{font-size:clamp(3.6rem,5.6vw,6rem);margin:22px 0 26px}.gatherings-copy>p:not(.eyebrow){max-width:490px;margin:0 auto 30px;color:#f5f3ea}.gatherings .button{min-width:252px}
.visit-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:112px;padding-bottom:105px}.visit-intro h2{margin:22px 0 37px}.visit-intro .button{min-width:206px}.visit-row{display:grid;grid-template-columns:135px 1fr;gap:25px;border-top:1px solid var(--line);padding:24px 0}.visit-row h3{font-size:.86rem;font-weight:400;color:var(--soft)}.visit-row p{font-size:.95rem;line-height:1.8}.visit-row p+p{margin-top:18px}.visit-row .text-link{margin-top:8px;font-size:.87rem;gap:50px}.visit-row .small-note{font-size:.8rem;line-height:1.6;color:var(--soft)}.phone-link{display:block;margin-top:4px}.visit-row a:not(.text-link):hover{text-decoration:underline}.dietary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0}.dietary summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;font-size:.9rem}.dietary summary::-webkit-details-marker{display:none}.dietary summary span{font-size:1.5rem;line-height:1}.dietary[open] summary span{transform:rotate(45deg)}.dietary p{padding:12px 24px 6px 0;color:var(--soft);font-size:.9rem}
.site-footer{background:#e5e8dc;padding:55px 8% 20px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.footer-wordmark{width:200px;max-width:100%}.footer-wordmark img{height:auto;filter:brightness(0) saturate(100%) invert(21%) sepia(13%) saturate(987%) hue-rotate(96deg) brightness(94%) contrast(89%)}.site-footer>p{justify-self:end;font-family:var(--serif);font-size:1.65rem;font-style:italic;line-height:1.3}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #acb4a6;margin-top:28px;padding-top:21px;font-size:.78rem;color:#47574a}.footer-bottom a:hover{text-decoration:underline}
@media(min-width:1600px){.section-space{padding-left:max(8%,calc((100% - 1350px)/2));padding-right:max(8%,calc((100% - 1350px)/2))}.menu-copy{padding-left:max(16%,calc((100vw - 1350px)/2))}}
@media(max-width:1100px){.desktop-nav{gap:22px;margin-right:16px}.site-header{gap:18px}.brand{flex-basis:145px}.menu-copy{padding:70px 11%}.story-section,.visit-section{gap:7%}.story-photo{padding-right:0}.visit-row{grid-template-columns:105px 1fr;gap:15px}.hero-content{padding-left:7%;padding-right:7%}.section-space{padding-left:7%;padding-right:7%}}
@media(max-width:800px){.site-header{padding:15px 5%;gap:12px}.brand{flex-basis:128px}.brand img{height:64px}.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{gap:12px}.reservation{padding:10px 15px;gap:20px;font-size:.88rem;min-height:44px}.hero{min-height:clamp(640px,88svh,960px);height:auto}.hero-content{padding:180px 7% 145px}.hero h1{font-size:clamp(3.4rem,8.8vw,5.7rem)}.hero-foot{left:7%;right:7%;font-size:.78rem}.hero-foot p{max-width:150px}.hero-foot a{gap:17px;align-items:center}.section-space{padding-top:76px;padding-bottom:76px}.welcome-copy{font-size:1.04rem}.welcome-copy.secondary{font-size:.96rem}.menu-section{grid-template-columns:1fr}.menu-copy{padding:70px 9%}.menu-copy h2{font-size:4.5rem}.menu-copy>p:not(.eyebrow):not(.price-note){max-width:520px}.price-line{max-width:520px}.menu-photo{min-height:550px;aspect-ratio:5/4}.menu-photo img{object-position:center}.menu-links{max-width:520px;flex-direction:row;flex-wrap:wrap;gap:10px 25px}.menu-links .text-link{min-width:0}.menu-links .text-link:first-child{width:100%}.story-section{gap:6%;align-items:start}.story-copy h2{font-size:3rem}.story-copy .eyebrow{font-size:.75rem}.story-copy>p:not(.eyebrow){font-size:.95rem}.story-photo{margin-top:8px}.story-photo img{aspect-ratio:3/5}.gatherings{min-height:570px;padding:75px 7%}.visit-section{grid-template-columns:1fr;gap:45px}.visit-intro h2{font-size:3.7rem}.visit-row{grid-template-columns:135px 1fr}.site-footer{padding-left:7%;padding-right:7%}}
@media(max-width:540px){html{scroll-padding-top:30px}.site-header{padding:13px 5%}.brand{flex-basis:112px}.brand img{height:57px}.header-actions{gap:6px}.reservation{padding:9px 12px;gap:10px;font-size:.875rem}.menu-toggle{width:40px}.hero{height:auto;min-height:max(620px,88svh)}.hero-image{object-position:56% center}.hero-content{padding:185px 7% 135px}.hero-content .eyebrow{max-width:255px;font-size:.73rem;letter-spacing:.09em}.hero h1{font-size:clamp(3rem,10.1vw,4.4rem);margin:22px 0 23px;line-height:1.05}.hero .text-link{font-size:.9rem}.hero-foot{bottom:25px;align-items:center;line-height:1.5}.hero-foot a{font-size:.75rem}.hero-foot p{font-size:.74rem;max-width:135px}.eyebrow{font-size:.73rem;letter-spacing:.1em}h2{font-size:3.05rem}.welcome{padding-top:68px;padding-bottom:65px}.welcome h2{font-size:3.2rem;margin:17px 0 22px}.welcome-copy{font-size:1rem;line-height:1.8}.signature{font-size:1.65rem}.menu-copy{padding:63px 7%}.menu-copy h2{font-size:4rem;margin-top:18px}.menu-copy>p:not(.eyebrow):not(.price-note){font-size:1rem}.price-line{font-size:.89rem}.price-line strong{font-size:1.2rem}.price-line small{font-size:.75rem}.menu-photo{min-height:440px;aspect-ratio:1/1.12}.menu-photo figcaption{padding-left:7%;font-size:.74rem}.story-section{display:flex;flex-direction:column;padding-top:68px;gap:40px}.story-photo{width:88%;margin:0}.story-photo img{aspect-ratio:4/5}.story-copy h2{font-size:3.45rem}.story-copy>p:not(.eyebrow){font-size:1rem}.gatherings{min-height:570px;padding:70px 7%}.gatherings h2{font-size:3.35rem}.gatherings-copy>p:not(.eyebrow){font-size:.97rem}.visit-intro h2{font-size:3.4rem}.visit-row{grid-template-columns:100px 1fr;gap:20px}.visit-row h3{font-size:.81rem}.visit-row a{overflow-wrap:anywhere}.visit-row p{font-size:.9rem}.site-footer{padding-top:44px}.footer-wordmark{font-size:4.3rem}.site-footer>p{font-size:1.25rem;text-align:right}.footer-bottom{margin-top:35px;font-size:.75rem;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

@media(max-width:800px){.photo-journal{padding:0 7% 76px;gap:18px}.photo-journal figcaption{font-size:1.35rem;gap:10px}.photo-journal figure:nth-child(2){margin-top:30px}}
@media(max-width:540px){.photo-journal{padding:0 7% 62px;grid-template-columns:1fr 1fr;gap:24px 16px}.photo-journal figure:nth-child(2){margin-top:32px}.photo-journal figure:last-child{grid-column:1/-1;width:72%;justify-self:center}.photo-journal figure:last-child img{aspect-ratio:4/3}.photo-journal figcaption{font-size:1.45rem}.footer-wordmark{width:155px}}

/* Lucide leaf marks our booking buttons. */
.button .booking-leaf{width:19px;height:19px;flex:0 0 19px;display:block;stroke:currentColor}
@media(max-width:540px){.reservation .booking-leaf{width:16px;height:16px;flex-basis:16px}}
.desktop-nav{gap:27px;margin-right:23px}
@media(min-width:801px) and (max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:block}}
@media(max-height:650px){.mobile-nav{padding-top:100px;overflow-y:auto}.mobile-nav nav{font-size:2.3rem;gap:10px}.mobile-nav p{position:static;margin-top:25px}}

/* Shared navigation, contact access and comfortable touch targets. */
html.has-section-index{scroll-padding-top:calc(var(--section-index-height,5.5rem) + 20px)}
.has-section-index main section[id]{scroll-margin-top:0}
main:focus{outline:none}
.desktop-nav a[aria-current=page]:after{right:0}
.mobile-nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:8px}
.site-header .menu-toggle{min-width:44px;min-height:44px}
.footer-useful{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px 7%;margin-top:17px;min-width:0}
.footer-useful nav{display:flex;flex-wrap:wrap;align-content:start;gap:0 23px}
.footer-useful a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;line-height:1.6}
.footer-useful a:hover{text-decoration:underline;text-underline-offset:5px}
.footer-contact{display:flex;flex-direction:column;align-items:flex-end;gap:0}
.footer-contact a{gap:12px;flex-wrap:wrap;color:var(--soft)}
.footer-contact span{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.footer-bottom{align-items:center;font-size:.875rem;margin-top:15px}
.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}
.visit-row h3{font-size:.875rem}
.visit-row .phone-link{display:flex;align-items:center;min-height:44px;margin-top:0}
@media(max-width:750px){.footer-useful{grid-template-columns:1fr;gap:14px;margin-top:12px}.footer-contact{align-items:flex-start}.footer-bottom{column-gap:22px;row-gap:0}.footer-bottom>a:last-child{display:inline-flex}.footer-useful nav{gap:0 22px}}
@media(max-width:360px){.site-header .brand{flex-basis:92px}.site-header .brand img{height:52px}.site-header{gap:8px}.site-header .reservation{padding:9px 10px;gap:8px}.site-header .header-actions{gap:4px}.site-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-wordmark{width:135px}.site-footer>p{font-size:1.15rem}}
