@font-face{font-family:"EB Garamond";src:url("assets/eb-garamond-latin.woff2") format("woff2");font-weight:400 800;font-style:normal;font-display:swap}
:root{--paper:#faf9f5;--soft:#eeede5;--ink:#282a25;--muted:#62645c;--gold:#d8c68d;--gold-ink:#746028;--line:#d4d3c7;--serif:"EB Garamond",Georgia,serif;--sans:Arial,Helvetica,sans-serif;--header:70px;color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button,input{font:inherit;color:inherit}button,summary{cursor:pointer}
a{color:inherit;text-decoration:none;text-underline-offset:6px}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #9b7628;outline-offset:5px}
img{max-width:100%;display:block}figure,blockquote,p,h1,h2,h3,dl,dd{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;text-wrap:balance}
h2{font-size:46px;letter-spacing:-.035em}h3{font-size:30px;letter-spacing:-.02em}p{max-width:60ch}
.wrap{width:calc(100% - 40px);max-width:1200px;margin-inline:auto}.section{padding-block:64px}
.section-heading{margin-bottom:32px}.section-heading p{font-size:15px;line-height:1.6;margin-top:16px;color:var(--muted)}
.eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin-bottom:20px}
.skip-link{position:fixed;top:12px;left:16px;z-index:200;background:var(--paper);padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:fixed;inset:0 0 auto;height:var(--header);z-index:30;background:#20211e;color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding-inline:12px;border-bottom:1px solid #44443a}
.brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.brand img{width:54px;height:54px;object-fit:cover}.brand span{font-family:var(--serif);font-size:21px;letter-spacing:-.025em;white-space:nowrap}
.desktop-nav{display:none}.nav-actions{display:flex;align-items:center;gap:2px}
.social-link{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.social-link .icon{width:19px;height:19px;fill:currentColor}.social-link:hover{color:var(--gold)}
.menu-toggle{width:44px;height:44px;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:7px 0}
.hero{position:relative;isolation:isolate;min-height:100svh;height:100svh;display:flex;align-items:flex-end;color:var(--paper);padding-block:calc(var(--header) + 40px) 52px;overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.45) 100%)}
.hero-content{padding-top:32px}.hero .eyebrow{text-shadow:0 1px 6px #0008;margin-bottom:18px}
.hero h1{font-size:clamp(68px,18.2vw,90px);letter-spacing:-.04em;line-height:.98;text-shadow:0 2px 10px #0005;max-width:700px}.brand-line{white-space:nowrap}
.hero-description{font-size:18px;line-height:1.5;max-width:27ch;margin-top:24px;text-shadow:0 1px 8px #000b}.hero-actions{display:flex;gap:12px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:14px 20px;border:1px solid transparent;border-radius:2px;font-size:12px;font-weight:600;line-height:1.35;white-space:nowrap;transition:background-color .2s,color .2s,transform .15s}
.button span,.text-link span{font-size:19px;line-height:1;transition:transform .2s}.button:hover span,.text-link:hover span{transform:translate(2px,-2px)}
.button-light{background:var(--gold);color:var(--ink);border-color:var(--gold)}.button-light:hover{background:var(--paper);border-color:var(--paper)}
.button-outline{background:#252622;color:var(--paper);border-color:#faf9f5b3}.button-outline:hover{background:var(--paper);color:var(--ink)}.button:active{transform:translateY(1px)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;border-bottom:1px solid currentColor;font-size:13px;font-weight:600;line-height:1.4;padding-block:10px}.text-link:hover{color:var(--gold-ink)}
.ui-icon{display:inline-block;flex:0 0 auto;width:1em;height:1em;background-color:currentColor;vertical-align:-.13em;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.icon-book-open{--icon:url("assets/icons/book-open.svg")}.icon-armchair{--icon:url("assets/icons/armchair.svg")}.icon-coffee{--icon:url("assets/icons/coffee.svg")}.icon-map-pin{--icon:url("assets/icons/map-pin.svg")}.icon-clock-3{--icon:url("assets/icons/clock-3.svg")}.icon-phone{--icon:url("assets/icons/phone.svg")}.icon-mail{--icon:url("assets/icons/mail.svg")}.icon-navigation{--icon:url("assets/icons/navigation.svg")}.icon-maximize-2{--icon:url("assets/icons/maximize-2.svg")}
.welcome-strip{background:var(--soft);border-bottom:1px solid var(--line)}.welcome-strip dl{padding-block:10px}
.welcome-strip dl>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-block:14px}.welcome-strip dl>div+div{border-top:1px solid var(--line)}
.welcome-strip dt{font-family:var(--serif);font-size:20px;line-height:1.2}.welcome-label,.visit-label{display:inline-flex;align-items:center;gap:8px}.welcome-label .ui-icon{width:18px;height:18px;color:var(--gold-ink);vertical-align:0}.welcome-strip dd{font-size:11px;color:var(--muted);text-align:right;max-width:18ch;line-height:1.5}
.photo{background:#e7e5db}.portrait{aspect-ratio:3 / 4;overflow:hidden;align-self:start;min-width:0}.portrait img{width:100%;height:100%;display:block;object-fit:cover}
figcaption{font-size:12px;line-height:1.5;color:var(--muted);margin-top:14px}
.about{display:grid;gap:34px;align-items:center}.about-copy h2{margin-bottom:26px}.about-copy p:not(.eyebrow){font-size:15px;margin-bottom:18px;color:var(--muted)}.about-copy .text-link{margin-top:3px}.about-photo{min-width:0;width:100%}
.menu-section{background:var(--soft)}.menu-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:start}.menu-copy{padding:22px 0 0}
.menu-item h3{font-size:34px;line-height:1.15}.menu-item p{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.6}
.menu-item ul{list-style:none;padding:16px 0 0;margin:20px 0 0;border-top:1px solid var(--line);font-size:16px;font-weight:500;line-height:1.55}.menu-item li+li{margin-top:12px}.menu-link{text-align:center;margin-top:36px}
.feature{display:grid;gap:32px;align-items:center}.feature-photo{width:100%;min-width:0;order:2}.feature-copy{order:1}.feature-copy h2{font-size:49px}
.feature-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:25px}
.feature-options{border-top:1px solid var(--line);margin-top:26px;padding-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.feature-options h3{font-size:23px;line-height:1.15}.feature-options p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:10px}.feature-copy>.text-link{margin-top:22px}
.gallery-section{border-top:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}.gallery-item{display:block;align-self:start;min-width:0;padding-bottom:12px}
.gallery-item img{transition:transform .4s ease}.gallery-caption{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-top:16px}.gallery-caption h3{font-size:25px}.gallery-caption p{font-size:12px;color:var(--muted);margin-top:5px}
.photo-action{display:grid;place-items:center;color:var(--ink);border:1px solid var(--line);width:40px;height:40px;flex-shrink:0;font-size:0;line-height:1;border-radius:2px;transition:background-color .2s}.photo-action::after{content:"";width:16px;height:16px;background-color:currentColor;-webkit-mask:url("assets/icons/maximize-2.svg") center / contain no-repeat;mask:url("assets/icons/maximize-2.svg") center / contain no-repeat}.gallery-item:hover .photo-action{background:var(--gold);border-color:var(--gold)}

.reviews-section{background:var(--soft)}.rating-line{display:flex;align-items:center;gap:18px;margin-top:24px}.rating-line strong{font-family:var(--serif);font-size:64px;font-weight:400;line-height:1;color:var(--ink)}
.stars{color:var(--gold-ink);letter-spacing:3px;font-size:16px;white-space:nowrap}.rating-count{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.reviews-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:30px}.review{border-top:1px solid var(--line);padding-top:24px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;scroll-margin-top:20px}.review-featured{border-top:2px solid var(--gold-ink)}
.review blockquote{font-family:var(--serif);font-size:26px;line-height:1.32;margin-block:18px 23px;flex:1}.review-featured blockquote{font-size:32px;line-height:1.22;letter-spacing:-.02em}
.review-bottom{width:100%;display:flex;justify-content:space-between;gap:14px;align-items:center}.review-author{display:flex;align-items:center;gap:10px;font-size:12px}.review-author img{border-radius:50%;width:38px;height:38px}.review-author a:hover{text-decoration:underline}.review-bottom>.text-link{font-size:11px;gap:10px;flex-shrink:0}
.visit-grid{display:grid;gap:32px}.visit-details{display:grid;gap:26px;align-content:start}.visit-details h3{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:14px}.visit-label .ui-icon{width:15px;height:15px;color:var(--gold-ink);vertical-align:0}.action-icon{width:16px;height:16px;vertical-align:-.19em}.contact-link{display:flex!important;align-items:center;gap:9px}.contact-link .ui-icon{width:16px;height:16px;color:var(--gold-ink);vertical-align:0}
address{font-style:normal;font-size:15px;line-height:1.8}address strong{font-weight:500}.visit-address .text-link{margin-top:12px}
.visit-hours{border-block:1px solid var(--line);padding-block:24px}.visit-hours dl{font-size:14px;max-width:390px}.visit-hours dl>div{display:flex;justify-content:space-between;gap:16px;margin-top:10px}.visit-hours dd{white-space:nowrap}
.visit-contact>a{display:block;overflow-wrap:anywhere;font-size:15px;padding-block:5px}.visit-contact>a:hover{text-decoration:underline}
.map-frame{width:100%;height:380px;background:#e4e6df;overflow:hidden}.map-frame iframe{display:block;width:100%;height:100%;border:0}
.visit-questions{margin-top:20px}.visit-questions details{border-bottom:1px solid var(--line)}
.visit-questions summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:58px;padding-block:14px;font-size:13px;font-weight:600;line-height:1.5}.visit-questions summary::-webkit-details-marker{display:none}
.visit-questions summary::after{content:"+";font-weight:400;font-size:22px;line-height:1}.visit-questions details[open] summary::after{content:"−"}
.visit-questions p{font-size:13px;line-height:1.65;color:var(--muted);padding-bottom:20px;padding-right:24px}
.site-footer{border-top:1px solid var(--line);padding-block:34px 24px;background:var(--paper)}.footer-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.footer-brand{display:flex;align-items:center;gap:18px;font-family:var(--serif);font-size:26px;grid-column:1 / -1}.footer-brand img{width:76px;height:76px;object-fit:cover}
.footer-main>div{font-size:12px;line-height:1.8;grid-column:1 / -1}.footer-main nav{display:flex;flex-direction:column;align-items:flex-start;font-size:13px}.footer-main nav a{padding-block:8px}.footer-main>.social-link{justify-self:end;align-self:end}.footer-main a:hover{color:var(--gold-ink)}
.footer-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}
.mobile-shortcuts{position:fixed;inset:auto 0 0;z-index:25;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px}
.mobile-shortcuts[hidden],.modal-open .mobile-shortcuts{display:none}.mobile-shortcuts a{display:flex;justify-content:space-between;align-items:center;min-height:46px;padding:10px 15px;border:1px solid var(--line);border-radius:2px;font-size:12px;font-weight:600;white-space:nowrap}.mobile-shortcuts a:last-child{background:var(--gold);border-color:var(--gold)}.shortcut-label{display:inline-flex;align-items:center;gap:7px}.shortcut-label .ui-icon{width:15px;height:15px;vertical-align:0}.mobile-shortcuts>a>span:last-child{font-size:18px}
dialog{padding:0;border:0}dialog:not([open]){display:none}dialog::backdrop{background:rgba(0,0,0,.70)}
.navigation-dialog{position:fixed;inset:0 0 0 auto;width:min(500px,100%);max-width:100%;height:100dvh;max-height:100dvh;margin:0;background:var(--paper);color:var(--ink);padding:18px 24px;overflow:auto}
.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;font-family:var(--serif);font-size:25px}.close-button{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border:0;background:transparent;font-family:Arial,sans-serif;font-weight:300;font-size:35px;line-height:1}
.navigation-dialog nav{display:flex;flex-direction:column;margin-block:36px}.navigation-dialog nav a{font-family:var(--serif);font-size:38px;line-height:1.4;padding-block:9px}.navigation-dialog nav a:hover,.navigation-dialog nav a[aria-current]{color:var(--gold-ink)}
.navigation-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:14px}
.lightbox{position:fixed;inset:0;margin:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;background:rgba(20,21,19,.98);color:var(--paper);padding:70px 14px 100px;overflow:hidden}.lightbox[open]{display:grid;place-items:center}.lightbox::backdrop{background:rgba(0,0,0,.9)}
.lightbox figure{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:16px;max-width:100%;height:100%;min-height:0}.lightbox figure img{max-height:calc(100dvh - 225px);width:auto;height:auto;max-width:100%;object-fit:contain}
.lightbox figcaption{font-size:12px;text-align:center;line-height:1.5;min-height:20px;color:var(--paper);margin:0}.lightbox-close{position:absolute;top:12px;right:12px}
.lightbox-control{position:absolute;bottom:28px;width:48px;height:48px;display:grid;place-items:center;background:var(--paper);color:var(--ink);border:0;border-radius:2px;font-family:Georgia,serif;font-size:42px;line-height:1}.lightbox-prev{left:calc(50% - 62px)}.lightbox-next{right:calc(50% - 62px)}.lightbox-control:hover{background:var(--gold)}
@media(min-width:768px){
 :root{--header:76px}.wrap{width:calc(100% - 64px)}.section{padding-block:76px}h2{font-size:clamp(48px,5vw,64px)}
 .site-header{padding-inline:22px}.brand{gap:12px}.brand img{width:62px;height:62px}.brand span{font-size:22px}
 .desktop-nav{display:flex;gap:22px}.desktop-nav a{position:relative;font-size:13px;line-height:44px}
 .desktop-nav a::after{content:"";position:absolute;inset:auto 0 2px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .2s}
 .desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--gold)}.desktop-nav a[aria-current]::after{transform:scaleX(1)}
 .menu-toggle{display:none}.nav-actions{gap:12px}.hero{padding-bottom:76px}.hero-image{object-position:50% 48%}.hero h1{font-size:clamp(90px,8.7vw,128px)}
 .hero-description{font-size:22px;max-width:35ch;margin-top:28px}.hero-actions{margin-top:32px;gap:14px}.button{font-size:13px;padding:15px 24px;gap:36px}
 .welcome-strip dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:24px}.welcome-strip dl>div{display:block;padding:0 24px;text-align:center}.welcome-strip dl>div+div{border-top:0;border-left:1px solid var(--line)}
 .welcome-strip dt{font-size:24px}.welcome-strip dd{font-size:12px;text-align:center;max-width:none;margin-top:8px}
 .about{grid-template-columns:1.1fr 1fr;gap:7%}.about-copy p:not(.eyebrow){font-size:15px}.about-photo{max-width:456px;justify-self:end}
 .section-heading{margin-bottom:40px}.section-heading p{font-size:16px}
 .menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.menu-item h3{font-size:29px}.menu-item p{font-size:13px;min-height:63px}.menu-item ul{font-size:15px}.menu-copy{padding-top:24px}
 .feature{grid-template-columns:1fr 1.1fr;gap:8%}.feature-photo{order:1;max-width:432px}.feature-copy{order:2}.feature-copy h2{font-size:clamp(48px,4.6vw,64px)}
 .feature-options{gap:20px}.feature-options h3{font-size:24px}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.gallery-item{padding-bottom:0}.gallery-caption h3{font-size:26px}
 .reviews-grid{grid-template-columns:1.15fr 1fr;column-gap:48px;row-gap:32px}.review-featured{grid-row:span 2}.review-featured blockquote{font-size:36px;line-height:1.22;margin-top:24px}.review blockquote{flex:0}
 .review-bottom{margin-top:auto}.review-featured .review-bottom{flex-wrap:wrap}.review:not(.review-featured) blockquote{font-size:24px}
 .visit-grid{grid-template-columns:.9fr 1.2fr;gap:40px}.visit-details{gap:24px}.map-frame{height:460px}
 .footer-main{grid-template-columns:1fr 1fr;gap:32px}.footer-brand,.footer-main>div{grid-column:auto}.footer-main>.social-link{align-self:center}
 .mobile-shortcuts{display:none}.navigation-dialog{padding:22px 30px}
 .lightbox{padding:64px 90px 30px}.lightbox figure img{max-height:calc(100dvh - 150px)}.lightbox figcaption{font-size:13px}
 .lightbox-control{top:calc(50% - 24px);bottom:auto}.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-close{right:18px}
}
@media(min-width:1024px){
 .wrap{width:calc(100% - 96px)}.section{padding-block:92px}.site-header{padding-inline:32px}.brand span{font-size:24px}.desktop-nav{gap:36px}
 .eyebrow{font-size:11px;letter-spacing:.16em}.hero .eyebrow{margin-bottom:20px}.hero{padding-bottom:82px}
 .about{gap:10%}.about-copy h2{margin-bottom:30px}.about-copy p:not(.eyebrow){font-size:16px}.about-copy .text-link{margin-top:8px}
 .menu-grid{gap:28px}.menu-item h3{font-size:36px}.menu-item p{font-size:14px;min-height:45px}.menu-item ul{font-size:17px;padding-top:20px;margin-top:22px}.menu-link{margin-top:40px}
 .feature-copy>p:not(.eyebrow){font-size:16px;max-width:42ch}.feature-options{max-width:480px;margin-top:30px;padding-top:26px;gap:36px}.feature-options h3{font-size:26px}.feature-options p{font-size:14px}
 .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-caption h3{font-size:27px}
 .reviews-grid{column-gap:76px;grid-template-columns:1.2fr 1fr}.review-featured blockquote{font-size:46px;line-height:1.2;max-width:24ch}.review:not(.review-featured) blockquote{font-size:27px}.review-author{font-size:13px}.review-author img{width:44px;height:44px}.review-bottom>.text-link{font-size:12px}
 .visit-grid{grid-template-columns:340px minmax(0,1fr);gap:76px}.map-frame{height:450px}.visit-details h3{font-size:13px}.visit-questions summary,.visit-questions p{font-size:14px}
 .footer-main{grid-template-columns:1.2fr 1.2fr .7fr auto;gap:35px}.footer-main nav{font-size:12px}.site-footer{padding-block:42px 24px}.footer-bottom{margin-top:36px}
}
@media(min-width:1280px){
 .hero-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);grid-template-rows:auto auto;column-gap:clamp(40px,4vw,64px);align-items:end;padding-top:0}
 .hero .eyebrow{grid-column:1;grid-row:1;margin-bottom:16px}
 .hero h1{grid-column:1;grid-row:2;max-width:none;font-size:clamp(82px,7.4vw,96px);letter-spacing:-.04em;white-space:nowrap}
 .hero h1 br{display:none}
 .hero h1 .hero-cafe::before{content:" "}
 .hero-aside{grid-column:2;grid-row:1 / span 2;align-self:end;text-align:right;padding-bottom:4px}
 .hero-aside .hero-description{max-width:30ch;margin:0 0 20px auto;font-size:20px;line-height:1.5}
 .hero-aside .hero-actions{justify-content:flex-end;gap:14px;margin-top:0}
 .hero-aside .button{min-width:148px}
}
@media(min-width:1600px){.hero-content{width:min(1320px,calc(100% - 128px))}.hero{padding-bottom:100px}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.brand span{font-size:18px}.brand img{width:48px;height:48px}.hero h1{font-size:61px}.hero-actions{gap:10px}.button{padding-inline:16px;gap:18px}h2{font-size:41px}.welcome-strip dt{font-size:18px}.review-bottom{flex-wrap:wrap}.feature-copy h2{font-size:43px}}
@media(max-height:600px) and (orientation:landscape){.hero{min-height:100svh;padding-top:100px;padding-bottom:30px}.hero h1{font-size:62px;max-width:100%}.hero-content{padding:0}.hero .eyebrow{margin-bottom:10px}.hero-description{margin-top:12px}.hero-actions{margin-top:18px}.mobile-shortcuts{display:none}}
.portrait img{object-fit:contain}
@media(max-height:600px) and (orientation:landscape){.hero{min-height:100svh;height:100svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
