@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--paper:#faf9f5;--ink:#252626;--red:#ab2c23;--line:#d7d8d3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #ce791b;outline-offset:5px}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-weight:500;letter-spacing:-.06em;line-height:1.05}h1{font-size:clamp(3.25rem,5.8vw,6rem)}h2{font-size:clamp(2.5rem,4.6vw,4.8rem)}em{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-.05em;color:var(--red)}p{max-width:520px}header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;background:rgba(250,249,245,.96);border-bottom:1px solid var(--line);padding:12px 5vw;gap:20px}.brand{width:82px;flex-shrink:0}.brand img{width:82px;height:82px;object-fit:contain;border-radius:50%}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;border-radius:40px;background:var(--red);color:white;text-decoration:none;border:1px solid var(--red);font-size:15px;font-weight:600;transition:transform .25s,background .25s;min-height:48px}.button:hover{transform:translateY(-3px);background:#85231c}.button.small{padding:12px 22px}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.outline{background:transparent;border-color:currentColor;color:inherit}.text-link{text-underline-offset:6px;font-weight:500;display:inline-block}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.section{padding:100px 7vw}.eyebrow{font-size:14px;letter-spacing:.15em;font-weight:600;margin-bottom:22px}.hero{min-height:760px;display:grid;grid-template-columns:1fr 1fr;gap:5vw;padding:74px 7vw 85px;align-items:center;overflow:hidden}.intro{margin-top:28px;max-width:450px;color:#5f6260;font-size:18px}.location{margin-top:38px;font-size:14px}.hero-art{position:relative;padding:0 0 70px 20px;min-height:570px}.hero-photo{width:77%;height:540px;margin-left:auto;transform:rotate(3deg);border-radius:150px 150px 12px 12px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-position:50% 42%}.float-photo{position:absolute;width:48%;bottom:0;left:0;transform:rotate(-7deg);background:white;padding:10px 10px 15px;box-shadow:0 20px 40px #0002}.float-photo img{height:230px;width:100%}.float-photo figcaption{font-size:14px;text-align:center;padding-top:8px}.circle-note{position:absolute;right:-25px;bottom:42px;background:var(--red);color:white;border-radius:50%;width:135px;height:135px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;letter-spacing:.1em;line-height:1.7;transform:rotate(12deg)}.ticker{background:var(--red);color:white;overflow:hidden;padding:20px 0;font-size:17px;letter-spacing:.14em;white-space:nowrap}.ticker div{width:max-content;animation:ticker 34s linear infinite}@keyframes ticker{to{transform:translateX(-50%)}}.coffee-story{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;background:#252626;color:white}.coffee-story em,.weekend em{color:#e4b39b}.story-images{height:550px;position:relative}.story-images>img{width:70%;height:100%;border-radius:140px 140px 8px 8px}.mini{position:absolute;width:50%;bottom:-25px;right:0;transform:rotate(7deg);border:8px solid #252626}.mini img{height:260px;width:100%}.story-copy p:not(.eyebrow),.weekend-copy p:not(.eyebrow){margin-top:28px;color:#d1d4d1}.story-copy .text-link{margin:24px}.story-copy .button{margin-top:28px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:45px}.section-heading>p{max-width:360px;color:#62655f}.gallery{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 0 20px;scrollbar-width:thin}.gallery figure{flex:0 0 30%;scroll-snap-align:start;min-width:260px}.gallery img{height:340px;width:100%;border-radius:8px}.gallery figcaption{padding:16px 0}.gallery h3{font-size:22px;font-weight:500;line-height:1.35}.gallery figcaption span{font-size:14px;color:#676b67}.gallery-controls{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px}.gallery-controls button,#close-menu{background:transparent;border:1px solid var(--line);border-radius:30px;padding:10px 18px;min-height:44px}.gallery-controls span{font-size:14px}.centered{justify-content:center}.weekend{display:grid;grid-template-columns:1.1fr .8fr;gap:10vw;align-items:center;background:#29352f;color:white}.weekend .caption{font-size:14px}.video-wrap{position:relative;max-width:440px;height:560px;border-radius:180px 180px 14px 14px;overflow:hidden}.video-wrap video{width:100%;height:100%;object-fit:cover}.video-toggle{position:absolute;top:25px;left:50%;transform:translateX(-50%);border:0;border-radius:24px;padding:10px 20px;background:#faf9f5ee;font-size:14px}.video-caption{position:absolute;bottom:24px;left:25px;text-shadow:0 1px 6px black}.brunch-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:55px 6vw;align-items:center}.brunch-mosaic figure img{height:420px;width:100%;border-radius:8px}.brunch-mosaic figcaption{font-size:14px;color:#6a6b64;margin-top:12px}.brunch-mosaic .offset{margin-top:-70px}.brunch-mosaic .wide img{height:470px}.mosaic-cta p{font-size:32px;line-height:1.3;margin-bottom:22px}.drinks{background:#e4e9e3;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.drinks p:not(.eyebrow){margin:26px 0}.drink-pair{display:flex;gap:20px;align-items:center}.drink-pair img{width:calc(50% - 10px);height:390px;object-fit:cover;border-radius:120px 120px 8px 8px;transform:rotate(-5deg)}.drink-pair img+img{transform:rotate(5deg) translateY(45px)}.menus{text-align:center}.menus .eyebrow{max-width:none}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.menu-grid button{text-align:left;background:transparent;border:1px solid var(--line);padding:35px 28px;border-radius:8px;transition:background .2s}.menu-grid button:hover{background:#e7e9e3}.menu-grid span,.menu-grid small{display:block;font-size:14px}.menu-grid strong{display:block;font-weight:500;font-size:27px;letter-spacing:-.035em;margin:20px 0 10px}.community{background:var(--ink);color:white;text-align:center}.community p{margin:25px auto}.community em{color:#e4b39b}.community .eyebrow{max-width:none}.visit{display:grid;grid-template-columns:1.5fr 1fr;gap:10vw}.visit-details{border-left:1px solid var(--line);padding-left:50px}.visit-details img{width:150px;height:150px;margin-bottom:22px}.visit-details address{font-style:normal}.visit-details p{margin:18px 0}.visit-details a{display:inline-block}footer{border-top:1px solid var(--line);padding:30px 7vw;display:flex;gap:26px;flex-wrap:wrap;font-size:14px}footer span{margin-right:auto}.skip{position:absolute;left:10px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}dialog{padding:0;border:0;border-radius:12px;width:min(980px,94vw);max-height:90dvh;box-shadow:0 30px 100px #0005}dialog::backdrop{background:#000b}.dialog-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;padding:18px 24px;background:var(--paper);border-bottom:1px solid var(--line);gap:16px}.dialog-head h2{font:500 24px 'DM Sans',Arial,sans-serif;letter-spacing:-.02em}#menu-content{padding:20px;background:#fff}#menu-content>img{width:100%;height:auto;object-fit:contain}#menu-content p{margin:10px 0 18px;max-width:none}.menu-tabs{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.menu-tabs button{padding:10px 20px;border:1px solid var(--line);border-radius:24px;background:white}.menu-tabs button[aria-pressed=true]{background:var(--ink);color:white}.reveal{transition:transform .8s cubic-bezier(.2,.65,.2,1),opacity .8s}.motion .reveal.waiting{opacity:0;transform:translateY(32px)}
@media(max-width:800px){header{padding:9px 5vw;gap:12px}.brand,.brand img{width:62px;height:62px}nav{gap:14px}nav a{font-size:14px}header .button{font-size:14px;padding:10px 15px}nav a[href='#drinks'],nav a[href='#food']{display:none}.hero{grid-template-columns:1fr;padding:45px 7vw 65px;gap:38px;min-height:0}.hero-art{min-height:460px;padding-left:0}.hero-photo{height:410px;width:74%}.float-photo{width:48%}.float-photo img{height:180px}.circle-note{right:-10px;width:105px;height:105px;font-size:12px}.hero h1{font-size:clamp(3rem,10vw,4.5rem)}.section{padding:65px 7vw}.coffee-story,.weekend,.drinks,.visit{grid-template-columns:1fr;gap:45px}.story-images{height:410px}.mini img{height:210px}.section-heading{display:block}.section-heading>p{margin-top:25px}.gallery figure{flex-basis:77%;min-width:220px}.gallery img{height:300px}.gallery-controls span{display:none}.video-wrap{width:100%;max-width:none;height:510px}.brunch-mosaic{gap:28px;align-items:start}.brunch-mosaic .mosaic-title{grid-column:1/-1}.brunch-mosaic figure img,.brunch-mosaic .wide img{height:280px}.brunch-mosaic .offset{margin:45px 0 0}.brunch-mosaic .wide{grid-column:1/-1}.mosaic-cta{grid-column:1/-1}.drink-pair{margin-bottom:30px}.drink-pair img{height:330px}.menu-grid{grid-template-columns:1fr}.menu-grid button{padding:26px}.menu-grid strong{margin:10px 0}.visit-details{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.actions{gap:18px}.button{padding:14px 22px}footer{gap:20px}.community .eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion .reveal.waiting{opacity:1;transform:none}.hero-photo,.float-photo,.drink-pair img{transform:none}}

.reviews{background:#eeeee7}.review-track{display:flex;overflow-x:auto;gap:24px;scroll-snap-type:x mandatory;padding-bottom:18px}.review-card{flex:0 0 40%;min-width:300px;background:white;border-radius:12px;padding:30px;scroll-snap-align:start}.review-stars{color:#a75f00;font-size:22px;letter-spacing:5px}.review-card blockquote{font:500 28px/1.4 'Playfair Display',Georgia,serif;margin:20px 0;min-height:125px}.review-card p{font-weight:600}.review-card a{font-size:14px;text-underline-offset:4px}.review-proof{width:100%;height:auto;margin-top:15px;object-fit:contain;border:1px solid #eee}.reviews .gallery-controls{justify-content:center;gap:16px}@media(max-width:800px){.review-card{flex-basis:90%;min-width:0}.review-card blockquote{font-size:24px}.reviews .gallery-controls{gap:8px}.reviews .gallery-controls button{padding:9px 12px;font-size:14px}}

.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.more-grid img{width:100%;height:430px;object-fit:cover;border-radius:12px}.more-grid figcaption{padding-top:12px}.more-food{background:#fff}.gallery-controls{flex-wrap:wrap}@media(max-width:800px){.more-grid{grid-template-columns:1fr}.more-grid img{height:350px}}

.review-highlight{font:500 28px/1.4 "Playfair Display",Georgia,serif!important;min-height:125px}.review-card small{display:block;color:#595959;margin-bottom:12px;font-size:14px}

.social-links{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.social-links a{font-size:16px;padding:10px 14px;border:1px solid currentColor;border-radius:6px;text-decoration:none}footer{flex-wrap:wrap}footer .social-links{flex-basis:100%}#booking-dialog{width:min(740px,95vw);height:90vh;max-height:90vh;padding:16px}#booking-dialog iframe{width:100%;height:calc(100% - 75px);border:0;border-radius:10px}.button{font:inherit;cursor:pointer}

.social-links a{display:inline-flex;align-items:center;gap:10px}.social-icon{width:22px;height:22px;fill:currentColor;flex:none}
