@font-face{font-family:Bricolage;src:url('assets/bricolage.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:DM Sans;src:url('assets/dm-sans.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--paper:#f8faf8;--white:#fff;--mint:#a5cbbb;--mint-pale:#eaf1ec;--ink:#214b40;--muted:#4c625a;--line:#cbd7cf;--radius:2px;--header-height:76px;--wrap:1240px;--ease:cubic-bezier(.2,.7,.2,1);color-scheme:light;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
/* Layers: quick links 9, header 10; native modal dialogs occupy the top layer. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 24px);scroll-padding-bottom:96px}
body{margin:0;font-size:16px;line-height:1.6}
img{max-width:100%;display:block}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.icon{display:block;width:1em;height:1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button:disabled{cursor:default}
button,input{border-radius:var(--radius)}
a:focus-visible,button:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
p,h1,h2,h3,figure,blockquote{margin:0}
h1,h2,h3,.brand,.footer-signoff{font-family:Bricolage,Arial,sans-serif;font-weight:600}
h2{font-size:clamp(38px,4.8vw,66px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
h3{font-size:26px;line-height:1.2;letter-spacing:-.025em}
::selection{background:var(--mint);color:var(--ink)}
.wrap{width:min(var(--wrap),calc(100% - 48px));margin-inline:auto}
.section{padding-block:96px}
.skip-link{position:fixed;left:16px;top:12px;padding:12px 18px;transform:translateY(-180%);z-index:20;background:var(--white)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:fixed;inset:0 0 auto;z-index:10;background:transparent;border-bottom:1px solid transparent;color:#fff;transition:background-color 220ms cubic-bezier(.23,1,.32,1),border-color 220ms cubic-bezier(.23,1,.32,1),color 180ms ease}
.site-header.is-solid{background:var(--paper);border-bottom-color:rgb(33 75 64 / .13);color:var(--ink)}
.nav-wrap{width:calc(100% - 64px);max-width:1440px;height:var(--header-height);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;gap:13px;align-items:center;white-space:nowrap;font-size:22px;letter-spacing:-.035em;flex-shrink:0}
.brand img{flex:none;object-fit:cover}
.desktop-nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:600}
.desktop-nav a{position:relative;padding-block:15px}
.desktop-nav a::after{content:'';position:absolute;bottom:10px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease)}
.nav-actions,.socials{display:flex;align-items:center}
.socials{gap:2px}
.social-link{display:grid;place-items:center;width:44px;height:44px;transition:background .2s}
.social-link svg{width:20px;height:20px;fill:currentColor}
.social-link[aria-label$='Facebook'] svg{width:13px;height:21px}
.menu-toggle{display:none;place-items:center;width:44px;height:44px;border:0;background:none;margin-left:5px}
.menu-lines,.menu-lines::after{display:block;width:22px;height:1.5px;background:currentColor}
.menu-lines{position:relative;transform:translateY(-4px)}
.menu-lines::after{content:'';position:absolute;top:8px;left:0}
.hero{min-height:100svh;aspect-ratio:auto;position:relative;display:grid;place-items:center;isolation:isolate;padding:108px 24px 126px;background:#4a4e47;color:#fff}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 44%;z-index:-2}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgb(0 0 0 / .13) 0%,rgb(0 0 0 / .31) 55%,rgb(0 0 0 / .17) 100%);z-index:-1}
.hero-content{width:min(100%,960px);text-align:center;padding-top:0}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;margin-bottom:22px}
.hero h1{font-size:clamp(70px,7.3vw,108px);line-height:1.04;letter-spacing:-.065em;font-weight:600;text-shadow:0 2px 20px rgb(0 0 0 / .16)}
.hero h1 span{display:block}
.hero-intro{font-size:19px;line-height:1.5;max-width:410px;margin:28px auto 34px;text-wrap:balance;text-shadow:0 1px 8px rgb(0 0 0 / .3)}
.hero-buttons{display:flex;justify-content:center;gap:12px}
.hero-details{position:absolute;left:0;right:0;bottom:26px;display:flex;justify-content:space-between;gap:12px}
.hero-details p{display:grid;grid-template-columns:16px auto;column-gap:9px;padding:12px 18px;background:var(--paper);color:var(--ink);font-size:14px;font-weight:600;line-height:1.5;border-radius:var(--radius)}
.hero-details p>.icon{grid-row:1 / span 2;width:16px;height:16px;margin-top:2px}
.hero-details p>span{grid-column:2;display:block;margin-bottom:2px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:500}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;min-height:54px;padding:14px 23px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap;transition:background .2s,transform .2s var(--ease)}
.button .icon{width:18px;height:18px}
.button:active{transform:translateY(0) scale(.98)}
.button-mint{background:var(--mint);color:var(--ink)}
.button-white{background:var(--paper);color:var(--ink)}
.button-dark{background:var(--ink);color:var(--paper)}
.hero a:focus-visible{outline-color:#fff}
.photo-frame{position:relative;aspect-ratio:3 / 4;overflow:hidden;background:var(--mint-pale);border-radius:var(--radius);width:100%;align-self:start}
.photo-frame img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s var(--ease)}
.about{display:grid;grid-template-columns:1fr .87fr;gap:clamp(48px,9vw,136px);align-items:center}
.about-copy{max-width:470px}
.about h2{font-size:clamp(38px,4.25vw,60px)}
.large-copy{font-family:Bricolage,Arial,sans-serif;font-size:26px;line-height:1.4;letter-spacing:-.015em;margin-top:32px}
.about-copy>p:not(.large-copy):not(.eyebrow){margin-top:22px;color:var(--muted);font-size:16px;line-height:1.8}
.about-image figcaption{font-size:12px;color:var(--muted);padding-top:14px}
.café-details{list-style:none;padding:17px 0 0;margin:26px 0 0;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 24px;font-size:12px;font-weight:600}
.café-details li,.visit-details li{display:inline-flex;align-items:center;gap:7px}
.café-details .icon,.visit-details .icon{width:15px;height:15px}
.text-link{display:inline-flex;align-items:center;gap:26px;font-weight:600;font-size:14px;min-height:44px;border-bottom:1px solid var(--ink);padding-block:10px;transition:color .16s ease}
.about .text-link{margin-top:25px}
.menu-section{background:var(--mint-pale)}
.section-heading{max-width:680px;margin-bottom:46px}
.section-heading>p:not(.eyebrow){margin-top:22px;color:var(--muted);max-width:500px}
.menu-heading,.gallery-heading{display:grid;grid-template-columns:1fr .65fr;gap:48px;align-items:end;max-width:none}
.menu-heading>p,.gallery-heading>p{max-width:330px;justify-self:end;padding-bottom:4px}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.menu-card h3{margin-top:27px;font-size:clamp(22px,2vw,28px)}
.menu-card>p{margin-top:12px;color:var(--muted);font-size:14px;min-height:45px;max-width:340px}
.menu-items{margin:19px 0 0;padding-top:17px;border-top:1px solid #bccdc1;font-size:14px}
.menu-items>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding-block:5px}
.menu-items dt{flex:1}
.menu-items dd{margin:0;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}
.cabinet-list{list-style:none;padding:17px 0 0;margin:19px 0 0;border-top:1px solid #bccdc1;font-size:14px}
.cabinet-list li{padding-block:5px}
.menu-bottom{margin-top:42px;display:flex;gap:28px;align-items:center}
.menu-bottom>p{color:var(--muted);font-size:12px;line-height:1.65}
.breakfast-feature{background:var(--ink);color:var(--paper)}
.feature-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(48px,8vw,116px)}
.feature-copy{max-width:500px;grid-column:2;grid-row:1}
.feature-copy h2{font-size:clamp(40px,5.2vw,74px)}
.feature-copy>.eyebrow{color:var(--mint)}
.feature-copy>p:not(.eyebrow){color:#dbe8df;max-width:380px;line-height:1.8;margin:26px 0}
.feature-ritual .feature-invitation{font-family:Bricolage,Arial,sans-serif;font-size:24px;line-height:1.4;color:var(--paper);margin:0}
.feature-image{width:min(100%,480px);grid-column:1;grid-row:1}
.feature-image figcaption{font-size:12px;padding-top:14px;color:#dbe8df}
.breakfast-feature a:focus-visible{outline-color:var(--mint)}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.gallery-item{min-width:0}
.gallery-link{display:block;position:relative;cursor:zoom-in}
.zoom-hint{position:absolute;bottom:12px;right:12px;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius);background:var(--paper);color:var(--ink);opacity:0;transition:opacity .2s}
.zoom-hint .icon{width:19px;height:19px}
.gallery-item figcaption{padding-top:12px;font-size:13px;color:var(--muted)}
.reviews-section{background:var(--mint-pale)}
.review-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:50px}
.review-heading h2{font-size:clamp(38px,4.5vw,62px)}
.google-rating{display:flex;gap:18px;align-items:center;white-space:nowrap}
.google-rating>strong{font-family:Bricolage,Arial,sans-serif;font-weight:500;font-size:62px;line-height:1;letter-spacing:-.06em}
.google-rating>span{display:flex;flex-direction:column}
.rating-stars{letter-spacing:3px;font-size:17px}
.google-rating a{font-size:12px;min-height:30px;padding-top:4px;text-decoration:underline;text-underline-offset:4px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px}
.review{display:flex;flex-direction:column;border-top:1px solid #b7c9bc;padding-top:24px}
.stars{font-size:17px;letter-spacing:3px;line-height:1}
.empty-star{letter-spacing:0}
.review blockquote{padding:20px 0 28px;flex:1;font-size:19px;line-height:1.6;letter-spacing:-.02em}
.review-person{display:flex;gap:12px;align-items:center}
.review-person img{border-radius:50%;width:44px;height:44px;object-fit:cover}
.review-name{font-size:14px;font-weight:600}
.review-source{font-size:12px;color:var(--muted);display:inline-block;min-height:30px;padding-top:2px;text-decoration:underline;text-underline-offset:4px}
.visit-section{display:grid;grid-template-columns:1fr 1.13fr;gap:80px;align-items:start}
.visit-copy h2{font-size:clamp(38px,4.2vw,56px)}
address{font-style:normal;color:var(--muted);margin-top:30px;line-height:1.8}
.contact-line{display:flex;align-items:flex-start;gap:11px}
.contact-line>.icon{width:18px;height:18px;margin-top:5px;color:var(--ink)}
.visit-phone{display:inline-flex;font-size:23px;line-height:1.4;margin-top:12px;padding-block:6px;text-decoration:underline;text-underline-offset:5px}
.visit-phone.contact-line{align-items:center}
.visit-phone.contact-line>.icon{margin-top:0}
.hours{margin-top:32px}
.hours h3{display:flex;align-items:center;gap:8px;font-family:'DM Sans',Arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:0}
.hours h3 .icon{width:16px;height:16px}
.hours dl{margin:14px 0 0;max-width:375px;font-size:14px}
.hours dl>div{display:flex;justify-content:space-between;gap:15px;padding-block:6px}
.hours dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.visit-details{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:16px 0;border-block:1px solid var(--line);font-size:12px;color:var(--muted);margin:26px 0}
.visit-location{min-width:0}
.arrival-photo{margin-bottom:24px}
.arrival-photo img{width:100%;height:auto;aspect-ratio:1200 / 583;object-fit:cover;border-radius:var(--radius)}
.arrival-photo figcaption{font-size:12px;color:var(--muted);padding-top:12px}
.map-frame{width:100%;height:380px;border:1px solid var(--line);overflow:hidden;border-radius:var(--radius);background:#e8ecea}
.map-frame iframe{display:block;width:100%;height:100%;border:0;transform-origin:top left}
.site-footer{background:var(--ink);color:var(--paper);padding:64px 0 24px}
.site-footer a:focus-visible{outline-color:var(--mint)}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr .7fr;align-items:start;gap:30px}
.footer-contact{font-size:14px;line-height:1.8}
.footer-contact>a{display:inline-block;padding-top:9px;text-decoration:underline;text-underline-offset:4px}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:14px;font-weight:600}
.footer-nav .socials{grid-column:1/-1;margin-left:-12px}
.footer-signoff{font-size:clamp(52px,8.9vw,128px);font-weight:500;letter-spacing:-.055em;line-height:1.03;margin:0;color:var(--mint)}
.footer-bottom{border-top:1px solid #537467;display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:12px;align-items:center}
.footer-bottom small{font-size:12px}
.footer-bottom>a{padding-block:8px}
.quick-actions{display:none}
.quick-actions[hidden]{display:none}
dialog{border:0;color:var(--ink);padding:0}
dialog::backdrop{background:rgb(15 23 20 / .72)}
.close-button{font-family:Arial,sans-serif;border:0;display:grid;place-items:center;width:48px;height:48px;background:transparent;line-height:1}
.close-button .icon{width:23px;height:23px}
.nav-dialog{width:100%;max-width:100%;max-height:100dvh;height:100dvh;margin:0;background:var(--paper);padding:16px 24px 30px;overflow-y:auto}
.nav-dialog-header{display:flex;justify-content:space-between;align-items:center;font-family:Bricolage,Arial,sans-serif;font-size:24px;font-weight:600;padding-bottom:26px}
.nav-dialog nav{display:flex;flex-direction:column}
.nav-dialog nav>a{font-family:Bricolage,Arial,sans-serif;font-size:clamp(28px,8vw,40px);line-height:1.25;letter-spacing:-.03em;padding-block:12px}
.nav-dialog-bottom{border-top:1px solid var(--line);margin-top:26px;padding-top:24px;font-size:14px}
.nav-dialog-bottom>a{display:inline-block;margin:10px 0}
.nav-dialog-bottom .socials{margin-left:-12px}
.image-dialog{position:fixed;inset:0;width:calc(100% - 64px);max-width:1300px;height:calc(100dvh - 48px);max-height:100%;margin:auto;background:var(--paper);overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto}
.image-dialog[open]{display:grid}
.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 18px 12px 28px;border-bottom:1px solid var(--line)}
.viewer-toolbar h2{font-family:'DM Sans',Arial,sans-serif;font-size:16px;letter-spacing:0;line-height:1.3}
.viewer-actions{display:flex;align-items:center;gap:10px}
.viewer-actions>a{font-size:12px;min-height:44px;display:flex;align-items:center;gap:9px;text-decoration:underline;text-underline-offset:4px}
.viewer-actions .icon{width:16px;height:16px}
.viewer-zoom{min-height:44px;padding:8px 12px;border:0;background:transparent;font-size:12px;text-decoration:underline;text-underline-offset:4px;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.viewer-stage{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;min-height:0;gap:12px;padding:20px}
.viewer-arrow{width:48px;height:48px;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center}
.viewer-arrow .icon{width:23px;height:23px}
.viewer-image-wrap{height:100%;min-height:0;position:relative;display:flex;align-items:center;justify-content:center}
#viewer-image{width:100%;height:100%;object-fit:contain;opacity:1;transition:opacity .15s}
#viewer-image.is-loading{opacity:.25}
#viewer-status{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:var(--paper);font-size:13px;text-align:center;padding:8px 15px}
#viewer-status:empty{display:none}
.viewer-caption{padding:0 28px 18px;font-size:13px;text-align:center;min-height:39px}
.image-dialog.is-menu .viewer-image-wrap{overflow:auto;align-items:start}
.image-dialog.is-menu #viewer-image{object-fit:contain}
.image-dialog.is-zoomed .viewer-image-wrap{display:block;overflow:auto;overscroll-behavior:contain}
.image-dialog.is-zoomed #viewer-image{width:1200px;max-width:none;height:auto;object-fit:initial;cursor:zoom-out}
@media(min-width:1500px){.hero-image{object-position:50% 42%}}
@media(max-width:1100px){.desktop-nav{gap:20px}.nav-wrap{width:calc(100% - 40px);gap:15px}.brand{font-size:20px}.about{gap:60px}.visit-section{gap:40px}.reviews-grid{gap:25px}}
@media(max-width:1023px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-nav{display:none}.menu-toggle{display:grid}.section{padding-block:72px}.about{gap:40px}.menu-grid{gap:18px}.menu-heading,.gallery-heading{gap:30px;grid-template-columns:1.2fr 1fr}.menu-card h3{font-size:23px}.menu-card>p{min-height:68px}.menu-items{font-size:13px}.reviews-grid{gap:22px}.review blockquote{font-size:17px}.visit-section{grid-template-columns:1fr 1fr;gap:30px}.hours dl>div{display:block}.hours dd{padding-top:1px}.map-frame{height:400px}.footer-top{grid-template-columns:1.2fr 1fr}.footer-nav{grid-column:1/-1;display:flex;align-items:center;gap:32px}.footer-nav .socials{margin-left:auto}}
@media(max-width:767px){
 :root{--header-height:68px}
 .wrap{width:calc(100% - 40px)}
 .section{padding-block:56px}
 .nav-wrap{width:calc(100% - 24px);gap:4px}
 .brand{gap:9px;font-size:19px}
 .brand img{width:46px;height:46px}
 .social-link{width:38px;height:44px}
 .site-header .social-link svg{width:18px;height:18px}
 .site-header .social-link[aria-label$='Facebook'] svg{width:11px;height:19px}
 .menu-toggle{margin-left:0}
 .hero{padding:96px 20px 128px;min-height:100svh;aspect-ratio:auto}
 .hero-image{object-position:51% 50%}
 .hero-content{position:absolute;top:100px;left:20px;right:20px;width:auto;max-width:none;margin:0}
 .hero .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:24px}
 .hero h1{font-size:clamp(62px,17.7vw,91px);line-height:1.03;letter-spacing:-.065em}
 .hero h1 span{display:block}
 .hero-intro{font-size:17px;max-width:280px;margin:24px auto 29px;line-height:1.6}
 .hero-buttons{gap:10px}
 .hero-details{bottom:22px;gap:8px}
 .hero-details p{padding:10px 12px;font-size:12px;flex:1}
 .hero-details p>span{font-size:8px;letter-spacing:.1em}
 .button{min-height:52px;padding:14px 20px;gap:28px}
 .hero-buttons .button{padding:14px 18px;min-width:142px}
 h2{font-size:42px;line-height:1.1}
 .about{grid-template-columns:1fr;gap:30px}
 .about h2{font-size:42px}
 .about-copy{max-width:none}
 .large-copy{font-size:24px;margin-top:25px}
 .about-copy>p:not(.large-copy):not(.eyebrow){font-size:15px;margin-top:18px}
 .café-details{margin-top:22px;padding-top:15px;gap:10px 24px}
 .about .text-link{margin-top:16px}
 .about-image{width:100%}
 .section-heading{margin-bottom:32px}
 .menu-heading,.gallery-heading{display:block}
 .menu-heading>p,.gallery-heading>p{max-width:340px}
 .section-heading>p:not(.eyebrow){margin-top:18px;font-size:15px}
 .section-heading .eyebrow{margin-bottom:18px}
 .menu-grid{grid-template-columns:1fr;gap:36px}
 .menu-card h3{font-size:28px;margin-top:22px}
 .menu-card>p{min-height:0;font-size:15px;margin-top:8px}
 .menu-items,.cabinet-list{font-size:15px;margin-top:19px;padding-top:13px}
 .menu-items>div,.cabinet-list li{padding-block:6px}
 .menu-bottom{flex-direction:column;align-items:start;gap:18px;margin-top:32px}
 .menu-bottom p{font-size:12px}
 .feature-layout{grid-template-columns:1fr;gap:32px}
 .feature-copy{grid-column:1;grid-row:auto}
 .feature-copy h2{font-size:48px}
 .feature-copy>p:not(.eyebrow){font-size:15px;line-height:1.8;margin:22px 0}
 .feature-ritual .feature-invitation{font-size:22px;line-height:1.4;margin:0}
 .feature-image{width:100%;max-width:none;grid-column:1;grid-row:auto}
 .gallery-grid{grid-template-columns:1fr;gap:16px}
 .gallery-item figcaption{padding-top:10px;font-size:13px}
 .zoom-hint{opacity:1;width:32px;height:32px;font-size:22px}
 .review-heading{display:block;margin-bottom:32px}
 .review-heading h2{font-size:42px}
 .google-rating{margin-top:25px}
 .google-rating>strong{font-size:54px}
 .reviews-grid{grid-template-columns:1fr;gap:30px}
 .review{padding-top:22px}
 .review blockquote{font-size:19px;padding:18px 0 22px}
 .review-source{min-height:34px}
 .visit-section{grid-template-columns:1fr;gap:32px}
 .visit-copy h2{font-size:42px}
 .visit-copy address{margin-top:25px;font-size:15px}
 .hours dl{font-size:13px;max-width:100%}
 .hours dl>div{display:flex;justify-content:space-between;gap:12px}
 .hours dd{padding:0}
 .arrival-photo{margin-bottom:22px}
 .map-frame{height:430px}
 .site-footer{padding:44px 0 24px}
 .footer-top{grid-template-columns:1fr;gap:26px}
 .site-footer .brand{font-size:24px}
 .site-footer .brand img{width:58px;height:58px}
 .footer-nav{grid-column:auto;display:flex;flex-wrap:wrap;gap:20px}
 .footer-nav .socials{margin-left:auto}
 .footer-contact{font-size:14px}
 .footer-signoff{font-size:clamp(48px,12.6vw,70px);margin:0}
 .footer-bottom{font-size:11px;padding-top:14px}
 .footer-bottom small{font-size:11px}
 .quick-actions{position:fixed;z-index:9;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:16px;right:16px;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 4px 24px rgb(33 75 64 / .16)}
 .quick-actions a{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;font-size:13px;font-weight:600;background:var(--mint);border-radius:var(--radius)}
 .quick-actions a:last-child{background:var(--ink);color:var(--paper)}
 .quick-actions a:active{transform:scale(.98)}
 .image-dialog{width:100%;height:100dvh;max-width:100%;max-height:100dvh}
 .viewer-toolbar{padding:10px 8px 10px 16px;gap:10px}
 .viewer-toolbar h2{font-size:14px;max-width:180px}
 .viewer-actions{gap:0}
 .viewer-actions>a{font-size:11px;gap:3px}
 .viewer-stage{padding:12px 0;gap:0;grid-template-columns:40px minmax(0,1fr) 40px}
 .viewer-arrow{width:36px;height:48px;border-color:transparent;font-size:24px}
 .viewer-caption{padding:0 24px 24px;font-size:12px}
 .viewer-toolbar .close-button{width:42px;height:44px}
 .viewer-zoom{font-size:11px;padding-inline:8px}
 .viewer-toolbar h2{max-width:112px}
}
@media(max-width:370px){.brand span{font-size:16px}.nav-wrap{width:calc(100% - 16px)}.social-link{width:32px}.hero-buttons .button{min-width:132px;padding-inline:15px}.hours dl{font-size:12px}}
