*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:5rem}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);text-rendering:optimizelegibility;margin:0;font-size:1.125rem;line-height:1.6}img,svg,iframe{max-width:100%;display:block}a{color:inherit}button{font:inherit}.ratings a{padding-block:.35rem;display:inline-block}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.012em;text-wrap:balance;margin:0 0 .55em;font-weight:700;line-height:1.08}h1{font-size:clamp(2.5rem,5.2vw,4.2rem)}h2{font-size:clamp(2rem,3.6vw,2.9rem)}h3{font-size:1.35rem}p{text-wrap:pretty;margin:0 0 1em}.wrap{width:min(1160px,100% - 2.5rem);margin-inline:auto}@media (width<=560px){.wrap{width:calc(100% - 2rem)}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{flex:none}.skip{background:var(--accent);color:var(--accent-ink);z-index:100;padding:.6rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{top:1rem;left:1rem}:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}.gingham,.menu-card:before,.site-footer:before{background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent) 70%, transparent) 0 10px, transparent 10px 20px), repeating-linear-gradient(0deg, color-mix(in srgb, var(--accent-2) 80%, transparent) 0 5px, color-mix(in srgb, var(--accent-2) 35%, transparent) 5px 10px)}.site-header{z-index:50;background:var(--bg);border-bottom:1px solid var(--line);transition:box-shadow .2s;position:sticky;top:0}.site-header.is-scrolled{box-shadow:0 8px 24px -16px color-mix(in srgb, var(--ink) 60%, transparent)}.header-row{align-items:center;gap:1.5rem;min-height:60px;display:flex}.brand{align-items:center;margin-right:auto;text-decoration:none;display:flex}.brand__logo{mix-blend-mode:multiply;width:auto;height:50px}.nav ul{gap:1.6rem;margin:0;padding:0;list-style:none;display:flex}.nav a{color:color-mix(in srgb, var(--ink) 82%, transparent);border-bottom:2px solid #0000;padding-block:.3rem;font-size:1.02rem;font-weight:500;text-decoration:none;transition:color .2s,border-color .2s}.nav a:hover{color:var(--ink);border-color:var(--accent)}.lang{letter-spacing:.1em;border-bottom:2px solid #0000;padding:.35rem .15rem;font-size:.85rem;font-weight:700;text-decoration:none}.lang:hover{border-color:var(--accent)}.call-short{display:none}.menu-btn{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-right:-10px;padding:0;display:inline-grid}.menu-bars{gap:5px;width:22px;display:grid}.menu-bars i{background:currentColor;border-radius:2px;height:2px;transition:transform .2s,opacity .2s;display:block}.btn{background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;align-items:center;gap:.5rem;padding:.8rem 1.3rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:background .2s,transform .15s;display:inline-flex}.btn:hover{background:color-mix(in srgb, var(--accent) 86%, black)}.btn:active{transform:translateY(1px)}.btn--small{padding:.5rem .9rem;font-size:.95rem}.ctas{flex-wrap:wrap;align-items:center;gap:.9rem 1.6rem;margin-top:1.6rem;display:flex}.link{color:var(--accent);border-bottom:2px solid color-mix(in srgb, var(--accent) 30%, transparent);align-items:center;gap:.35rem;padding-bottom:2px;font-weight:700;text-decoration:none;transition:border-color .2s;display:inline-flex}.link:hover{border-color:var(--accent)}.hero{padding:clamp(2.25rem,5vw,4.5rem) 0 clamp(3rem,6vw,5rem)}.hero__grid{grid-template-columns:1fr 1.05fr;align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.hero__kicker{font-family:var(--font-head);color:var(--accent);margin-bottom:.6rem;font-size:1.25rem;font-style:italic;font-weight:500}.lead{color:var(--muted);max-width:34rem;font-size:1.22rem}.hero__mosaic{aspect-ratio:6/5;grid-template-rows:1fr 1fr;grid-template-columns:1.6fr 1fr;gap:.75rem;display:grid}.hero__mosaic .photo{border-radius:6px;height:100%;min-height:0}.hero__mosaic .hero__main{grid-row:span 2}.hero__mosaic .photo img{height:100%;aspect-ratio:auto!important}@media (width<=560px){.hero__mosaic{gap:.5rem}}@media (width<=860px){.hero__grid{grid-template-columns:1fr}}.section{padding:clamp(3.5rem,7vw,6rem) 0}.feature__grid{grid-template-columns:1fr 1.1fr;align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.feature__copy{max-width:34rem}.feature__copy p{color:color-mix(in srgb, var(--ink) 86%, transparent)}@media (width<=820px){.feature__grid{grid-template-columns:1fr}}.photo{background:var(--surface);border-radius:6px;margin:0;overflow:hidden}.photo img{object-fit:cover;width:100%;height:auto}.photo figcaption{color:var(--muted);padding:.5rem .25rem 0;font-size:.85rem}.panel{background:var(--surface);border-radius:6px;place-items:end start;margin:0;padding:1.5rem;display:grid}.panel__label{font-family:var(--font-head);font-size:1.2rem}.menu{background:var(--surface)}.menu-card{background:var(--bg);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);outline:1px solid color-mix(in srgb, var(--accent) 40%, transparent);outline-offset:-10px;max-width:60rem;box-shadow:0 30px 60px -40px color-mix(in srgb, var(--accent) 45%, transparent);margin-inline:auto;padding:clamp(2.25rem,5vw,4rem) clamp(1.4rem,5vw,4.5rem) clamp(2rem,4vw,3.25rem);position:relative}.menu-card:before{content:"";height:10px;position:absolute;top:0;left:0;right:0}.menu-card__head{text-align:center;max-width:40rem;margin:0 auto 2.5rem}.menu-card__orn{width:120px;height:14px;color:var(--accent);margin:0 auto 1rem}.menu-card__intro{color:var(--muted)}.menu-card__cols{grid-template-columns:1fr 1fr;gap:2.25rem 4rem;display:grid}.menu-group h3{color:var(--accent);border-bottom:1px solid var(--line);margin-bottom:.2em;padding-bottom:.35rem;font-size:1.55rem;font-style:italic;font-weight:500}.menu-group__text{color:var(--muted);margin:.5rem 0 .6rem;font-size:1rem}.menu-group ul{margin:.6rem 0 0;padding:0;list-style:none}.menu-group li{font-family:var(--font-head);padding:.3rem 0;font-size:1.2rem}.menu-card__note{text-align:center;color:var(--muted);margin:2.5rem 0 0;font-style:italic}@media (width<=700px){.menu-card__cols{grid-template-columns:1fr;gap:1.75rem}.menu-card{outline-offset:-7px}}.gallery-section h2{margin-bottom:1.5rem}.gallery{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}@media (width<=760px){.gallery{grid-template-columns:1fr 1fr;gap:.5rem}}.ratings-box{border-top:1px solid var(--line);max-width:34rem;margin-top:1.75rem;padding-top:1rem}.ratings{flex-wrap:wrap;gap:.4rem 1.4rem;margin:0;padding:0;font-size:1rem;list-style:none;display:flex}.ratings a{text-decoration:none}.ratings a:hover{text-decoration:underline}.ratings strong{color:var(--accent)}.ratings__note{color:var(--muted);margin:.3rem 0 0;font-size:.82rem}.visit{background:var(--surface)}.visit__grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:clamp(2rem,5vw,4rem);display:grid}.visit__intro{color:var(--muted)}.hours table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.hours th,.hours td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.6rem 0;font-size:1.05rem}.hours th{width:34%;font-weight:700}.hours .slot{display:inline-block}.hours .slot+.slot:before{content:"·";color:var(--muted);margin:0 .6rem}@media (width<=480px){.hours .slot{display:block}.hours .slot+.slot:before{content:none}}.hours tr.is-closed td{color:var(--muted);font-style:italic}.hours__note{color:var(--muted);margin-top:.8rem;font-size:.9rem}.visit__where{margin-top:2rem}.visit__addr{margin:0}.visit__where .ctas{margin-top:1.1rem}.visit__note{color:var(--muted);margin:.8rem 0 0;font-size:.95rem}.visit__map{background:var(--line);border-radius:6px;min-height:360px;overflow:hidden}.visit__map iframe{border:0;width:100%;height:100%;min-height:360px}@media (width<=860px){.visit__grid{grid-template-columns:1fr}.visit__map,.visit__map iframe{min-height:300px}}.site-footer{background:var(--dark);color:var(--dark-ink);padding:3.25rem 0 1.5rem;position:relative}.site-footer:before{content:"";height:8px;position:absolute;top:0;left:0;right:0}.site-footer__grid{grid-template-columns:1fr 1fr;gap:2rem;display:grid}@media (width<=700px){.site-footer__grid{grid-template-columns:1fr}}.site-footer__name{font-family:var(--font-head);margin-bottom:.5rem;font-size:1.45rem;font-weight:700}.site-footer address{opacity:.85;font-style:normal}.site-footer__tagline{opacity:.85}.social{flex-wrap:wrap;gap:.75rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.social a{color:var(--accent-2);align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}.social a:hover{text-decoration:underline}.site-footer__legal{border-top:1px solid color-mix(in srgb, var(--dark-ink) 14%, transparent);opacity:.72;gap:.35rem;margin-top:2rem;padding-top:1.25rem;font-size:.85rem;display:grid}.site-footer__legal p{margin:0}.menu-open .menu-bars i:first-child{transform:translateY(7px)rotate(45deg)}.menu-open .menu-bars i:nth-child(2){opacity:0}.menu-open .menu-bars i:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.menu-panel{background:var(--bg);border-top:1px solid var(--line);overscroll-behavior:contain;height:calc(100dvh - 60px);overflow-y:auto}.menu-panel[hidden]{display:none}.mnav-list{margin:0;padding:.25rem 0 0;list-style:none}.mnav-list li{margin:0;padding:0;display:block}.mnav-list a{border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--font-head);padding:1rem 0;font-size:1.5rem;font-weight:700;text-decoration:none;display:block}.menu-foot{justify-items:center;gap:1rem;padding-block:1.4rem 1.8rem;display:grid}.menu-call{justify-content:center;width:100%}.menu-lang{color:var(--ink);font-size:1rem}html.menu-lock{overflow:hidden}@media (width<=959px){.nav,.header-row>.lang{display:none}.header-row{gap:.6rem;padding-block:.4rem}.brand__logo{height:40px}.header-call{min-height:40px;padding:.4rem .85rem}.call-long{display:none}.call-short{display:inline}}@media (width>=960px){.menu-btn,.menu-panel{display:none!important}.header-row{min-height:72px}}@media (width>=960px) and (width<=1120px){.nav ul,.header-row{gap:1.1rem}}@media (prefers-reduced-motion:reduce){.menu-bars i,.site-header,.btn{transition:none}}
