/* emil-design-eng: sunny diner ambience, quick feedback, quiet keyboard navigation. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--ease-flow:cubic-bezier(.65,0,.35,1);--ease-drawer:cubic-bezier(.32,.72,0,1)}
.sun-seal{position:absolute;top:calc(var(--header) + 48px);right:max(56px,calc((100vw - 1280px)/2));width:186px;aspect-ratio:1;color:var(--accent);pointer-events:none;filter:drop-shadow(0 5px 0 #25262040)}
.seal-shell,.seal-ring{position:absolute;inset:0;width:100%;height:100%}.seal-ring{animation:sun-turn 24s linear infinite;color:var(--ink)}.seal-ring text{font-family:Arial,Helvetica,sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;fill:currentColor}.seal-center{position:absolute;inset:43px 22px 32px;display:flex;align-items:center;justify-content:center;flex-direction:column;color:var(--ink);font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:700;line-height:.98;text-align:center;letter-spacing:-.06em}.seal-spark{display:block;font-family:Arial,sans-serif;font-size:22px;line-height:1;margin-top:9px;animation:spark-breathe 3.6s var(--ease-flow) infinite}
.hero-word{display:inline-block}.hero-content{position:relative}.brand-ribbon{overflow:hidden;background:var(--ink);color:var(--accent);padding:18px 0;border-block:1px solid var(--ink);user-select:none}.ribbon-track{display:flex;width:max-content;animation:ribbon-flow 26s linear infinite}.ribbon-group{display:flex;flex-shrink:0;align-items:center;gap:30px;padding-right:30px;font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:48px;line-height:1.08;letter-spacing:-.05em;white-space:nowrap}.ribbon-group svg{width:34px;height:34px;flex-shrink:0}
.menu-note{display:flex;align-items:center;gap:24px}.coffee-doodle{display:block;width:80px;height:84px;flex-shrink:0;overflow:visible}.steam{animation:steam-rise 2.6s var(--ease-flow) infinite;transform-box:fill-box;transform-origin:center}.steam:nth-child(2){animation-delay:-.9s}.steam:nth-child(3){animation-delay:-1.8s}
.reviews-section{overflow:hidden}.reviews-section::before{display:none}.checker-flow{position:absolute;top:0;left:0;width:calc(100% + 24px);height:12px;background:repeating-conic-gradient(var(--ink) 0 25%,transparent 0 50%) 0/24px 24px;animation:checker-flow 1.8s linear infinite}.review-title{display:flex;align-items:center;gap:22px}.review-flower{display:block;flex-shrink:0;width:65px;height:65px;animation:sun-turn 18s linear infinite}.review-flower svg{display:block;width:100%;height:100%}
.ambient-motion{animation-play-state:paused!important}html[data-motion="running"] .motion-zone[data-in-view="true"] .ambient-motion{animation-play-state:running!important}
.button{transition:transform 160ms var(--ease-out),background-color 160ms ease}.button span,.menu-shortcuts a span,.mobile-quick a span,.info-strip .strip-menu>span{display:inline-block;transition:transform 200ms var(--ease-out)}.icon-button,.menu-toggle,.socials a,.mobile-quick a{transition:transform 140ms var(--ease-out),background-color 160ms ease}.photo-label{transition:transform 220ms var(--ease-out)}.portrait img{transition:transform 500ms var(--ease-out)}.gallery-item .portrait img{transition:transform 500ms var(--ease-out)}
.gallery-enlarge{display:inline-flex;align-items:center;justify-content:center;min-width:52px;min-height:32px;border:1px solid var(--line);padding:6px 9px;transition:transform 200ms var(--ease-out),background-color 160ms ease,color 160ms ease}.gallery-item figcaption{padding-top:12px;padding-bottom:12px}.desktop-nav a{position:relative}.desktop-nav a::after{content:'';position:absolute;left:0;right:0;bottom:9px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform 200ms var(--ease-out)}.desktop-nav a[aria-current="location"]::after{transform:scaleX(1)}
html[data-input="pointer"] :is(.button,.icon-button,.menu-toggle,.socials a,.mobile-quick a):active{transform:scale(.97)}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-3px)}.button:hover span{transform:translate(3px,-3px)}.gallery-item:hover .portrait img{transform:scale(1.045)}.menu-card:hover .portrait img{transform:scale(1.025)}.menu-card:hover .photo-label{transform:translateY(-5px)}.gallery-item:hover .gallery-enlarge{background:var(--ink);border-color:var(--ink);color:var(--paper);transform:translateX(-3px);text-decoration:none}.menu-shortcuts a:hover span,.info-strip .strip-menu:hover>span{transform:translateY(3px)}.desktop-nav a:hover{text-decoration:none}.desktop-nav a:hover::after{transform:scaleX(1)}}
.image-stage{position:relative;touch-action:pan-y pinch-zoom}.image-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 16px;background:var(--ink);color:var(--paper);font-size:13px;line-height:1.5;text-align:center;pointer-events:none}.image-status:empty{display:none}.image-caption-wrap{min-width:0;text-align:center}#image-count{display:block;margin-top:7px;font-size:10px;line-height:1.2;letter-spacing:.14em;color:#c4c6b8;font-variant-numeric:tabular-nums}.image-dialog[aria-busy="true"] #lightbox-image{opacity:.28}.image-dialog[aria-busy="true"] .image-caption-wrap{opacity:.5}
@keyframes sun-turn{to{transform:rotate(360deg)}}@keyframes spark-breathe{0%,100%{transform:rotate(-18deg) scale(.85)}50%{transform:rotate(28deg) scale(1.14)}}@keyframes ribbon-flow{to{transform:translateX(-50%)}}@keyframes steam-rise{0%{transform:translateY(7px);opacity:0}30%{opacity:.85}75%{opacity:.6}100%{transform:translateY(-12px);opacity:0}}@keyframes checker-flow{to{transform:translateX(-24px)}}
@media(max-width:1100px){.header-actions{gap:6px}.desktop-nav{gap:18px}.sun-seal{right:32px;width:156px;top:calc(var(--header) + 36px)}.seal-center{inset:38px 18px 27px;font-size:24px}.seal-spark{font-size:18px;margin-top:7px}.ribbon-group{font-size:42px;gap:26px;padding-right:26px}.ribbon-group svg{width:30px;height:30px}.review-title{gap:15px}.review-flower{width:48px;height:48px}}
@media(max-width:639px){.header-actions{gap:2px}.sun-seal{right:24px;top:calc(var(--header) + 28px);width:118px}.seal-center{inset:30px 12px 20px;font-size:19px}.seal-spark{font-size:14px;margin-top:5px}.hero-content{padding-top:calc(var(--header) + 164px)}.brand-ribbon{padding-block:22px}.ribbon-group{font-size:40px;gap:25px;padding-right:25px}.ribbon-group svg{width:29px;height:29px}.menu-note{gap:18px}.coffee-doodle{width:60px;height:68px}.review-title{display:block}.review-flower{width:40px;height:40px;margin-bottom:18px}.reviews-heading{align-items:flex-end}.gallery-enlarge{min-width:52px;min-height:32px}.image-controls{padding-bottom:max(18px,env(safe-area-inset-bottom))}}
@media(max-width:359px){.site-header .brand img{width:120px}.sun-seal{width:108px}.seal-center{font-size:17px;inset:28px 10px 18px}.seal-spark{font-size:12px}.hero h1{font-size:44px}.reviews-heading h2{font-size:34px}.rating strong{font-size:50px}}
@media(max-height:600px) and (orientation:landscape){.sun-seal{width:104px;top:calc(var(--header) + 20px);right:28px}.seal-center{inset:27px 10px 18px;font-size:16px}.seal-spark{font-size:12px}.hero-content{padding-top:calc(var(--header) + 24px)}}
html[data-input="keyboard"]{scroll-behavior:auto}html[data-input="keyboard"] :is(a,button,img,.photo-label){transition:none!important}
@media(prefers-reduced-motion:reduce){.ambient-motion{animation:none!important}.steam{opacity:.65}.hero-word{transform:none!important;opacity:1!important}.button:hover,.gallery-item:hover img,.menu-card:hover img,.menu-card:hover .photo-label{transform:none!important}}
