/* Native CSS editorial design. One light theme; source logo supplies burgundy.
   Layers: header 20, browser-native modal top layer. */
:root{--paper:#f7f4ee;--ink:#302829;--muted:#6b5c59;--accent:#792837;--line:#d9cdc6;--cream:#eee9df;--rose:#eee1dc;--radius:2px;--page:1200px;--ease-out:cubic-bezier(.23,1,.32,1);--ease-drawer:cubic-bezier(.32,.72,0,1);--ease-float:cubic-bezier(.45,0,.55,1);color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
body.modal-open{position:fixed;left:0;right:0;overflow:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{border:0;background:transparent}
button:disabled{cursor:default}
img{max-width:100%}
figure,p,h1,h2,h3,blockquote{margin:0}
button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
::selection{background:var(--accent);color:var(--paper)}
.skip-link{position:fixed;top:8px;left:8px;z-index:30;background:var(--paper);padding:10px 18px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.section-wrap{width:min(var(--page),calc(100% - 48px));margin-inline:auto}
.site-header{position:fixed;inset:0 0 auto;z-index:20;height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:transparent;border-bottom:1px solid transparent;gap:28px;transition:background-color 240ms var(--ease-out),border-color 240ms var(--ease-out)}
.site-header.is-scrolled{background:var(--paper);border-bottom-color:#d7d0c84d}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.15;color:var(--accent)}
.brand img{display:block;width:52px;height:52px;border-radius:50%;flex-shrink:0}
.brand small{display:block;font:9px/1.6 Arial,sans-serif;letter-spacing:.24em;margin-top:5px}
.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;font-size:13px}
.desktop-nav a{padding-block:12px;position:relative}
.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease-out)}
.desktop-nav a[aria-current="location"]::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}
.header-actions,.socials{display:flex;align-items:center;gap:4px}
.header-actions{gap:18px}
.icon-link{width:44px;height:44px;display:grid;place-items:center;color:var(--accent);transition:transform 160ms var(--ease-out),background-color 160ms ease}
.icon-link svg{width:20px;height:20px;display:block}
.menu-toggle{display:none;align-items:center;gap:10px;padding:10px 0 10px 12px;font-size:13px;min-height:44px}
.menu-toggle i{position:relative;width:20px;height:12px;border-block:1px solid currentColor}
.hero{position:relative;isolation:isolate;min-height:100svh;display:flex;align-items:flex-end;background:#40382f;color:#fff;overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 54%;z-index:-2}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.09) 28%,rgba(0,0,0,.40) 100%);z-index:-1;pointer-events:none}
.hero-content{width:min(var(--page),calc(100% - 80px));margin:0 auto;padding:140px 0 72px}
.hero-title-block,.hero-cta-block{min-width:0}
.eyebrow{font-size:11px;line-height:1.5;letter-spacing:.17em;font-weight:600}
.hero .eyebrow{margin-bottom:20px;text-shadow:0 1px 5px #0007}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400}
h1{font-size:clamp(70px,7.5vw,112px);line-height:1.02;letter-spacing:-.045em;max-width:9em;text-wrap:balance;text-shadow:0 2px 12px #0004}
.hero-description{font-size:17px;line-height:1.5;margin-top:24px;max-width:440px;text-shadow:0 1px 5px #0009}
.hero-buttons{display:flex;gap:12px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:50px;padding:12px 22px;border:1px solid transparent;border-radius:var(--radius);font-size:13px;font-weight:600;white-space:nowrap;transition:transform 160ms var(--ease-out),background-color 180ms ease,color 180ms ease}
.button span{font-size:19px;line-height:1;transition:transform 200ms var(--ease-out)}
.button:active,.icon-link:active,.close-control:active,.photo-nav:active,.menu-toggle:active{transform:scale(.96)}
.button-light{background:var(--paper);color:var(--accent)}
.button-outline{border-color:#fff9;background:#0001;color:#fff}
.button-primary{background:var(--accent);color:var(--paper)}
@media(min-width:768px){
 .hero-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:end;gap:64px;padding-top:170px}
 .hero-title-block{align-self:end}
 .hero-cta-block{align-self:end;padding-bottom:8px;text-align:right}
 .hero-cta-block .hero-description{max-width:340px;margin:0 0 0 auto;text-wrap:balance}
 .hero-cta-block .hero-buttons{justify-content:flex-end;margin-top:28px}
 .hero h1{font-size:clamp(76px,6.3vw,102px);letter-spacing:-.035em}
 .coffee-seal{top:104px;bottom:auto;width:154px}
}
.cafe-glance{background:var(--rose);color:var(--accent);border-bottom:1px solid var(--line)}
.glance-inner{display:grid;grid-template-columns:.75fr 1fr 1.2fr;padding-block:24px}
.glance-inner>*{display:flex;flex-direction:column;justify-content:center;padding-inline:32px;border-left:1px solid #79283733}
.glance-inner>:first-child{padding-left:0;border:0}
.glance-inner>:last-child{padding-right:0}
.glance-inner strong{font:24px/1.2 Georgia,serif;letter-spacing:-.025em}
.glance-inner strong>span{font-size:18px}
.glance-inner>* >span{font-size:12px;margin-top:6px;color:var(--muted)}
.glance-inner>a:hover strong{text-decoration:underline;text-underline-offset:4px}
.story{display:grid;grid-template-columns:1.05fr .85fr;gap:clamp(48px,9vw,140px);align-items:center;padding-block:96px}
h2{font-size:clamp(36px,3.5vw,52px);line-height:1.15;letter-spacing:-.035em;text-wrap:balance;color:var(--accent)}
.story h2{margin-bottom:32px;color:var(--accent)}
.story-copy>p{color:var(--muted);max-width:480px;margin-top:18px}
.story-copy>.eyebrow{color:var(--accent);margin:0 0 20px}
.story-copy>.text-link{margin-top:28px;color:var(--accent)}
.portrait{width:100%;aspect-ratio:3 / 4;overflow:hidden;align-self:start;position:relative;background:#e4ded7}
.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--image-position,50% 50%)}
.section-heading{margin-bottom:48px;max-width:740px}
.section-heading h2{margin-bottom:16px}
.section-heading>p:not(.eyebrow){color:var(--muted)}
.section-heading .eyebrow{color:var(--accent);margin-bottom:16px}
.menu-section{padding-block:80px;background:var(--cream)}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.menu-label{display:flex;align-items:baseline;gap:12px;margin:24px 0 12px;color:var(--accent)}
.menu-label .eyebrow{font-size:10px;letter-spacing:.1em}
.menu-card h3{font-size:30px;line-height:1.2;letter-spacing:-.035em}
.menu-card>p{font-size:14px;color:var(--muted);min-height:46px;max-width:32ch}
.menu-card ul{list-style:none;padding:0;margin:24px 0 0;border-top:1px solid var(--line)}
.menu-card li{display:flex;justify-content:space-between;gap:14px;padding-block:14px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.menu-card small{display:block;font-size:11px;color:var(--muted);margin-top:3px}
.price{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent)}
.drink-prices{width:100%;border-collapse:collapse;margin-top:24px;font-size:14px;line-height:1.5;font-variant-numeric:tabular-nums}
.drink-prices th{text-align:left;font-weight:400}
.drink-prices thead th{font-size:11px;color:var(--muted);padding:8px 0;border-block:1px solid var(--line)}
.drink-prices td,.drink-prices tbody th{padding:13px 0;border-bottom:1px solid var(--line)}
.drink-prices td,.drink-prices th:not(:first-child){text-align:right;white-space:nowrap;padding-left:8px}
.drink-prices td{color:var(--accent)}
.menu-card>.menu-note{font-size:11px;margin-top:12px;min-height:0;max-width:none}
.menu-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:40px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.menu-bottom p{font-size:12px;color:var(--muted)}
.text-link{display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid currentColor;padding:4px 0;font-size:13px;min-height:44px;width:fit-content;color:var(--accent)}
.text-link>span{transition:transform 200ms var(--ease-out)}
.product-feature{background:var(--rose);padding-block:88px;position:relative;isolation:isolate;overflow:hidden}
.feature-inner{display:grid;grid-template-columns:1.2fr .85fr;gap:clamp(40px,6vw,88px);align-items:center;position:relative}
.feature-photo{overflow:hidden;background:var(--cream)}
.feature-photo img{display:block;width:100%;height:auto;aspect-ratio:1090/750;object-fit:cover}
.feature-copy>.eyebrow{color:var(--accent);margin-bottom:20px}
.feature-copy h2{font-size:clamp(34px,3.1vw,46px)}
.feature-product{display:flex;align-items:baseline;gap:24px;justify-content:space-between;margin-top:28px;padding-top:22px;border-top:1px solid #79283740;color:var(--accent)}
.feature-product h3{font-size:23px;line-height:1.3}
.feature-product>span{font-size:14px;white-space:nowrap}
.feature-copy>p:not(.eyebrow){color:var(--muted);font-size:15px;margin-top:12px;max-width:40ch}
.feature-copy>.text-link{margin-top:24px}
.gallery-section{padding-block:88px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.gallery-figure figcaption{display:flex;justify-content:space-between;gap:12px;padding-top:14px;font-size:13px;color:var(--accent)}
.gallery-figure figcaption>span:last-child{font-size:10px;padding-top:2px;font-variant-numeric:tabular-nums;color:var(--muted)}
.gallery-item{display:block;position:relative}
.gallery-item .portrait img,.menu-card .portrait img{transition:transform 260ms var(--ease-out)}
.photo-open{position:absolute;right:12px;bottom:12px;width:44px;height:44px;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:22px;line-height:1;transition:transform 200ms var(--ease-out),background-color 180ms ease,color 180ms ease}
.reviews-section{padding-block:0 80px}
.reviews-section>.section-heading{border-top:1px solid var(--line);padding-top:60px;max-width:none}
.rating-summary{display:flex;align-items:center;gap:14px}
.rating-summary strong{font:36px/1 Georgia,serif;color:var(--ink)}
.rating-summary>span:last-child{font-size:12px}
.rating-stars{position:relative;display:inline-block;line-height:1.3}
.rating-fill{position:absolute;inset:0 auto 0 0;width:90%;overflow:hidden}
.stars{font-size:15px;letter-spacing:.12em;color:var(--accent);white-space:nowrap}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px}
.review{display:flex;flex-direction:column;align-items:flex-start}
.review-author{display:flex;gap:12px;align-items:center}
.review-author img{width:44px;height:44px;border-radius:50%;object-fit:cover}
.review h3{font:600 13px/1.6 Arial,sans-serif}
.review .stars{font-size:12px;line-height:1.3}
.review blockquote{font-size:17px;line-height:1.65;margin-block:24px;flex:1}
.review .text-link{font-size:12px}
.visit-section{display:grid;grid-template-columns:.86fr 1.14fr;gap:48px 80px;padding-block:65px 64px;border-top:1px solid var(--line);align-items:stretch}
.visit-copy>.eyebrow{color:var(--accent);margin-bottom:20px}
.visit-copy h2{color:var(--accent);margin-bottom:28px}
address{font-style:normal;color:var(--muted);font-size:15px}
.visit-contact{display:grid;gap:10px}
.contact-item{display:flex;align-items:flex-start;gap:10px;width:fit-content}
.info-icon{display:block;flex:0 0 18px;width:18px;height:18px;color:var(--accent)}
.contact-item .info-icon{margin-top:3px}
.phone-link{margin-top:0;font-size:16px;border-bottom:1px solid var(--line)}
.hours-heading{display:flex;align-items:center;gap:9px;margin:26px 0 0;color:var(--accent);font-size:12px;font-weight:600}
.hours-heading .info-icon{width:17px;height:17px;flex-basis:17px}
.hours{margin:10px 0 32px;max-width:420px;font-size:13px}
.hours>div{display:flex;justify-content:space-between;gap:20px;margin-top:8px}
.hours dd{margin:0;white-space:nowrap}
.map-wrap{position:relative;min-height:520px;overflow:hidden;background:#e4e2de}
.map-wrap iframe{position:absolute;inset:0;border:0;display:block;width:100%;height:100%;min-height:520px}
.visit-details{grid-column:1/-1;border-top:1px solid var(--line);padding-top:28px;display:grid;grid-template-columns:.7fr 2.3fr;gap:32px}
.visit-details h3{font-size:26px;line-height:1.2;color:var(--accent)}
.visit-details dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0;font-size:13px;line-height:1.6}
.visit-details dt{display:flex;align-items:center;gap:9px;color:var(--accent);font-weight:600;margin-bottom:6px}
.visit-details dt .info-icon{width:17px;height:17px;flex-basis:17px}
.visit-details dd{margin:0;color:var(--muted)}
.site-footer{border-top:1px solid var(--line);padding-block:48px 76px}
.footer-main{display:grid;grid-template-columns:1.3fr 1fr auto;gap:60px;align-items:start}
.footer-brand{font-size:25px}
.footer-brand img{width:64px;height:64px}
.footer-contact{font-size:12px;line-height:1.8;color:var(--muted)}
.footer-contact a{display:inline-block;margin-top:8px}
.footer-links{display:grid;grid-template-columns:repeat(2,auto);gap:12px 24px;font-size:12px;align-items:center}
.footer-links .socials{grid-column:1/-1;margin-left:-12px}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:40px;font-size:11px;color:var(--muted)}
dialog{border:0;padding:0}
dialog::backdrop{background:rgb(0 0 0 / .66)}
.navigation-dialog{position:fixed;inset:0;margin:0 0 0 auto;width:min(460px,100%);max-width:100%;height:100dvh;max-height:100dvh;background:var(--paper);color:var(--ink);padding:24px;overflow-y:auto}
.navigation-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:Georgia,serif;font-size:20px;color:var(--accent)}
.close-control{width:48px;height:48px;flex-shrink:0;font:32px/1 Arial,sans-serif;display:grid;place-items:center;transition:transform 160ms var(--ease-out),background-color 160ms ease}
.navigation-dialog nav{display:grid;gap:8px;margin-block:40px}
.navigation-dialog nav a{font:36px/1.5 Georgia,serif;display:block;padding-block:4px;transition:transform 200ms var(--ease-out),color 180ms ease}
.navigation-bottom{border-top:1px solid var(--line);padding-top:24px;font-size:13px}
.navigation-bottom .socials{margin:16px 0 0 -12px}
.lightbox{position:fixed;inset:0;margin:auto;width:calc(100% - 64px);max-width:1400px;max-height:calc(100dvh - 40px);background:#f6f4f0;color:var(--ink);overflow:auto;padding:0 20px}
.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:64px;font-size:12px}
.lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:center;min-height:120px}
.lightbox-stage img{display:block;max-width:100%;max-height:calc(100dvh - 220px);width:auto;height:auto;object-fit:contain;justify-self:center}
.photo-nav{width:44px;height:56px;font-size:24px;transition:transform 160ms var(--ease-out),background-color 160ms ease}
.photo-nav[hidden]{visibility:hidden;display:block}
.lightbox-caption{display:flex;justify-content:space-between;gap:24px;padding:20px 56px 24px;font-size:12px;line-height:1.5}
#photo-count{white-space:nowrap;color:var(--muted)}
#photo-error{font-size:14px;padding:0 56px 24px}
#photo-error a{text-decoration:underline}
/* Coffeehouse motion: ornament animates independently of photos and text. */
.reading-progress{position:absolute;inset:auto 0 -1px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}
.coffee-seal{position:absolute;width:180px;right:max(40px,calc((100% - 1200px)/2));bottom:72px;color:var(--accent);pointer-events:none;filter:drop-shadow(0 6px 18px #0002)}
.coffee-seal svg{display:block;width:100%;height:auto;overflow:visible}
.seal-type{transform-origin:90px 90px;animation:coffee-turn 32s linear infinite}
.steam{transform-box:fill-box;transform-origin:center;animation:coffee-steam 3.6s var(--ease-float) infinite}
.steam-two{animation-delay:-1.2s}.steam-three{animation-delay:-2.4s}
.brand-ribbon{background:var(--accent);color:var(--paper);padding-block:23px;overflow:hidden;contain:paint}
.ribbon-track{display:flex;width:max-content;animation:coffee-ribbon 32s linear infinite}
.ribbon-phrase{display:flex;align-items:center;gap:clamp(20px,1.8vw,28px);padding-right:clamp(20px,1.8vw,28px);flex-shrink:0;font:italic clamp(28px,2.35vw,36px)/1.15 Georgia,serif;letter-spacing:-.025em;white-space:nowrap}
.ribbon-phrase i{font:32px/1 Georgia,serif;font-style:normal;opacity:.65}
.feature-visual{position:relative;isolation:isolate}
.feature-halo{position:absolute;inset:-22% -9%;border:1px solid #79283738;border-radius:50%;z-index:-1;animation:coffee-halo 14s var(--ease-float) infinite alternate}
.feature-halo::before{content:'';position:absolute;inset:12px -15px;border:1px solid #79283724;border-radius:50%;transform:rotate(-18deg)}
.feature-light{position:absolute;left:-25%;top:-50%;width:90%;height:200%;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at center,#fff9 0,#ffffff50 35%,#ffffff00 67%);animation:coffee-light 12s var(--ease-float) infinite alternate}
.sweet-sticker{position:absolute;right:14px;top:-36px;z-index:2;width:116px;height:116px;border-radius:50%;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;outline:1px solid #f7f4ee80;outline-offset:-7px;transform:rotate(9deg);animation:coffee-float 6s var(--ease-float) infinite;pointer-events:none}
.sweet-sticker>span{font:8px/1.5 Arial,sans-serif;letter-spacing:.18em}.sweet-sticker>span:last-child{font-size:16px;line-height:1;margin-top:6px}
.sweet-sticker em{font:italic 24px/.97 Georgia,serif;text-align:center;margin-top:6px}
.gallery-section>.section-heading{position:relative;max-width:none;padding-right:180px;min-height:142px}
.gallery-flower{position:absolute;right:6px;top:0;width:130px;text-align:center;color:var(--accent);pointer-events:none}
.gallery-flower svg{display:block;width:110px;margin:auto;animation:coffee-turn 36s linear infinite}
.gallery-flower>span{display:block;font:italic 12px/1.4 Georgia,serif;margin-top:12px}
.photo-loading{position:absolute;top:22px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted);pointer-events:none}
.lightbox[aria-busy="true"] #photo-full{opacity:.25}
.lightbox-stage img{touch-action:pan-y pinch-zoom}
.ambient-loop{animation-play-state:paused}
.motion-in-view .ambient-loop{animation-play-state:running}
html[data-page-hidden="true"] .ambient-loop,.modal-open .ambient-loop{animation-play-state:paused}
html[data-input="keyboard"]{scroll-behavior:auto}
html[data-input="keyboard"] *{transition:none!important}
@keyframes coffee-turn{to{transform:rotate(360deg)}}
@keyframes coffee-steam{0%,100%{opacity:.3;transform:translateY(3px) scaleY(.8)}50%{opacity:1;transform:translateY(-7px) scaleY(1.1)}}
@keyframes coffee-ribbon{to{transform:translateX(-50%)}}
@keyframes coffee-float{0%,100%{transform:translateY(0) rotate(9deg)}50%{transform:translateY(-13px) rotate(-7deg)}}
@keyframes coffee-halo{from{transform:rotate(-16deg) scale(.94)}to{transform:rotate(15deg) scale(1.04)}}
@keyframes coffee-light{from{transform:translateX(0);opacity:.35}to{transform:translateX(65%);opacity:.85}}
@media(hover:hover) and (pointer:fine){
 .desktop-nav a:hover::after{transform:scaleX(1)}
 .desktop-nav a:hover,.footer-links>a:hover,.text-link:hover{color:var(--accent)}
 .button-light:hover{background:var(--accent);color:var(--paper)}.button-outline:hover{background:var(--paper);color:var(--ink)}.button-primary:hover{background:#61212d}
 .button:hover>span,.text-link:hover>span{transform:translate(3px,-3px)}
 .icon-link:hover{background:#7928370b;transform:translateY(-2px)}
 .gallery-item:hover .portrait img,.menu-card:hover .portrait img{transform:scale(1.035)}
 .gallery-item:hover .photo-open{background:var(--accent);color:var(--paper);transform:rotate(-8deg)}
 .close-control:hover,.photo-nav:hover{background:#e9dfd8}
 .navigation-dialog nav a:hover{transform:translateX(8px);color:var(--accent)}
}
@media(min-width:1600px){.hero-content{padding-bottom:90px}}
@media(max-width:1100px){.site-header{gap:16px;padding-inline:24px}.desktop-nav{gap:18px}.brand{font-size:20px}.story{gap:64px}.visit-section{gap:40px}.menu-grid{gap:24px}.review-grid{gap:28px}.footer-main{gap:36px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:flex}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.story{gap:40px}.hero-content{width:calc(100% - 64px)}.footer-main{grid-template-columns:1.2fr 1fr}.footer-links{grid-column:1/-1;display:flex;justify-content:flex-start}.footer-links .socials{margin-left:auto}.visit-section{gap:32px}.hours>div{display:block;margin-top:16px}.hours dd{margin-top:4px}}
@media(max-width:767px){
 .coffee-seal{width:112px;right:22px;top:110px;bottom:auto}
 .brand-ribbon{padding-block:21px}.ribbon-phrase{font-size:35px;gap:24px;padding-right:24px}.ribbon-phrase i{font-size:24px}
 .sweet-sticker{width:96px;height:96px;top:-24px;right:10px}.sweet-sticker em{font-size:20px}.sweet-sticker>span{font-size:7px}.sweet-sticker>span:last-child{font-size:13px;margin-top:4px}
 .gallery-section>.section-heading{padding-right:72px;min-height:0}.gallery-flower{width:60px;right:0;top:28px}.gallery-flower svg{width:60px}.gallery-flower>span{display:none}
 .section-wrap{width:calc(100% - 40px)}
 .site-header{height:72px;padding-inline:16px;gap:8px}
 .brand{font-size:17px;gap:9px}.brand img{width:44px;height:44px}.brand small{font-size:8px;letter-spacing:.18em;margin-top:4px}
 .header-actions{gap:0}.header-actions .socials{gap:0}.header-actions .icon-link{width:44px}.icon-link svg{width:18px;height:18px}
 .menu-toggle{padding:10px;min-width:44px;justify-content:center}.menu-toggle>span{display:none}
 .hero-content{width:calc(100% - 40px);padding:128px 0 76px}
 .hero-image{object-position:20% 50%}
 .hero .eyebrow{font-size:9px;letter-spacing:.13em;margin-bottom:18px}
 h1{font-size:clamp(58px,14.8vw,72px);line-height:1.05;max-width:7.8em;letter-spacing:-.055em}
 .hero-description{font-size:15px;line-height:1.55;max-width:280px;margin-top:22px}
 .hero-buttons{gap:10px;margin-top:24px}.hero-buttons .button{padding-inline:18px;gap:26px;min-height:50px}
 h2{font-size:36px;line-height:1.2}
 .glance-inner{grid-template-columns:1fr 1.35fr;padding-block:20px;gap:16px 0}
 .glance-inner>*{padding-inline:18px}.glance-inner strong{font-size:21px}.glance-inner strong>span{font-size:15px}.glance-inner>* >span{font-size:10px;line-height:1.5;margin-top:5px}
 .glance-inner>:nth-child(2){padding-right:0}.glance-inner>:last-child{grid-column:1/-1;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;border-left:0;border-top:1px solid #79283733;padding:14px 0 0}
 .glance-inner>:last-child strong{font:12px/1.5 Arial,sans-serif;letter-spacing:0}.glance-inner>:last-child>span{margin:0;font-size:10px;white-space:nowrap}
 .story{grid-template-columns:1fr;gap:32px;padding-block:60px}
 .story h2{margin-bottom:22px}.story-copy>p{font-size:15px;line-height:1.8}
 .story-copy>.eyebrow{font-size:10px;line-height:1.5;margin-bottom:18px}.story-copy>.text-link{margin-top:18px}
 .section-heading{margin-bottom:28px}.section-heading h2{margin-bottom:14px}.section-heading>p:not(.eyebrow){font-size:14px;max-width:31ch}
 .menu-section{padding-block:56px}
 .menu-grid{grid-template-columns:1fr;gap:44px}
 .menu-label{margin-top:18px;margin-bottom:8px}.menu-card h3{font-size:30px}.menu-card>p{min-height:0;max-width:none}.menu-card ul,.drink-prices{margin-top:20px}.menu-card li{font-size:14px;padding-block:12px}
 .menu-bottom{align-items:flex-start;margin-top:30px;gap:12px}
 .product-feature{padding-block:56px 48px}.feature-inner{grid-template-columns:1fr;gap:36px}.feature-copy>.eyebrow{margin-bottom:14px}.feature-copy h2{font-size:35px}.feature-product{margin-top:24px;padding-top:20px}.feature-copy>.text-link{margin-top:20px}
 .gallery-section{padding-block:60px}
 .gallery-grid{grid-template-columns:1fr;gap:28px}.gallery-figure figcaption{font-size:12px;padding-top:10px}
 .reviews-section{padding-bottom:64px}.reviews-section>.section-heading{padding-top:40px}.rating-summary{gap:12px!important;max-width:none!important}
 .review-grid{grid-template-columns:1fr;gap:32px}.review{border-bottom:1px solid var(--line);padding-bottom:28px}.review:last-child{border-bottom:0;padding-bottom:0}.review blockquote{font-size:16px;margin-block:20px}.review .text-link{min-height:44px}
 .visit-section{grid-template-columns:minmax(0,1fr);gap:36px;padding-block:48px 56px}.visit-copy h2{font-size:38px;margin-bottom:24px}.hours>div{display:flex;margin-top:8px}.hours dd{margin:0}.hours{margin-block:12px 28px}.visit-copy>.button{min-width:180px}
 .map-wrap,.map-wrap iframe{min-height:420px;height:420px}
 .map-wrap{width:100vw;margin-left:-20px}
 .visit-details{grid-template-columns:1fr;gap:20px;padding-top:24px}.visit-details h3{font-size:28px}.visit-details dl{grid-template-columns:1fr;gap:16px}.visit-details dl>div{display:grid;grid-template-columns:100px 1fr;gap:20px;font-size:12px}.visit-details dt{gap:7px;margin:0}.visit-details dt .info-icon{width:15px;height:15px;flex-basis:15px}
 .site-footer{padding-top:36px}.footer-main{grid-template-columns:1fr;gap:28px}.footer-brand{font-size:24px}.footer-brand img{width:58px;height:58px}.footer-contact{font-size:13px}.footer-links{grid-column:auto;gap:28px}.footer-bottom{padding-top:32px;font-size:10px;align-items:flex-end}
 .lightbox{width:calc(100% - 16px);max-height:calc(100dvh - 20px);padding-inline:8px}.lightbox-toolbar{padding-left:8px;min-height:56px}
 .lightbox-stage{grid-template-columns:44px minmax(0,1fr) 44px;gap:0}.photo-nav{width:44px;height:56px;font-size:24px}.lightbox-stage img{max-height:calc(100dvh - 230px)}.lightbox-caption{padding:20px 10px;font-size:11px;gap:12px}.photo-loading{top:44px;font-size:10px}
}
@media(max-width:359px){.site-header .brand>span{display:none}.hero .eyebrow{font-size:8px}.hero-buttons .button{padding-inline:16px;gap:20px}.glance-inner>:last-child{align-items:flex-start;flex-direction:column;gap:4px}.hours{font-size:12px}}
@media(max-height:650px) and (max-width:767px){.coffee-seal{width:80px;top:92px;right:20px}.hero-content{padding-top:194px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.ribbon-track{width:100%;transform:none}.ribbon-phrase{width:100%;justify-content:center;gap:12px;flex-wrap:wrap;white-space:normal;font-size:28px;padding-inline:16px}.ribbon-phrase:nth-child(2){display:none}.ribbon-phrase i:last-child{display:none}}
