:root{--paper: oklch(.93 .008 80);--paper-2: oklch(.9 .02 88);--paper-3: oklch(.87 .024 88);--ink: oklch(.27 .03 55);--ink-soft: oklch(.42 .022 55);--green: oklch(.44 .085 152);--green-deep: oklch(.36 .07 152);--sage: oklch(.63 .03 175);--charcoal: oklch(.33 .008 70);--cream-hi: oklch(.95 .01 82);--serif: "Libre Bodoni", Georgia, serif;--prose: "Baskervville", Georgia, serif;--sans: "Switzer", system-ui, -apple-system, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--section-y: clamp(3.5rem, 9vw, 9rem);--gutter: clamp(1.25rem, 5vw, 4rem);--maxw: 1240px;--tap: 44px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--prose);font-size:clamp(1.0625rem,1.02rem + .25vw,1.125rem);line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;margin:0}::selection{background:var(--green);color:var(--cream-hi)}.skip{position:absolute;left:-999px;top:0;z-index:100;background:var(--green);color:var(--cream-hi);padding:.6rem 1rem;border-radius:0 0 6px;font-family:var(--sans)}.skip:focus{left:0}:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}.kicker{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--green);margin:0 0 1rem}.kicker-light{color:#d1e4d4}.section-title{font-size:clamp(2rem,1.3rem + 3.4vw,3.6rem);letter-spacing:.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--tap);font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;padding:.85rem 1.6rem;border-radius:2px;text-decoration:none;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),transform .2s var(--ease)}.btn:active{transform:translateY(1px)}.btn-solid{background:var(--green);color:var(--cream-hi)}.btn-solid:hover{background:var(--green-deep)}.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn-ghost-light{border-color:#f2eee7b3;color:var(--cream-hi);background:transparent}.btn-ghost-light:hover{background:var(--cream-hi);color:var(--ink);border-color:var(--cream-hi)}.reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.word{display:inline-block}.word-in{display:inline-block;will-change:transform}.site-header{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);border-bottom:1px solid transparent}.site-header.is-solid{background:#ebe7e2eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:#3223181a}.header-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:1rem;padding:.75rem var(--gutter)}.brand{display:flex;align-items:center;gap:.55rem;text-decoration:none;margin-right:auto;min-height:var(--tap)}.brand-mark{width:36px;height:36px;object-fit:contain}.brand-name{font-family:var(--serif);font-size:1.2rem;color:var(--ink);letter-spacing:.01em}.site-header:not(.is-solid) .brand-name{color:var(--cream-hi)}.site-header:not(.is-solid) .brand-mark{filter:brightness(0) invert(1) opacity(.92)}.nav-desktop,.header-cta{display:none}.nav-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:var(--tap);height:var(--tap);background:none;border:0;cursor:pointer;padding:0;margin-right:-8px}.nav-toggle span{display:block;height:2px;width:26px;margin:0 auto;background:var(--ink);border-radius:2px;transition:background .4s var(--ease)}.site-header:not(.is-solid) .nav-toggle span{background:var(--cream-hi)}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--paper);display:flex;flex-direction:column;padding:.75rem var(--gutter) max(2rem,env(safe-area-inset-bottom));opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .35s var(--ease),transform .35s var(--ease)}.drawer.is-open{opacity:1;pointer-events:auto;transform:none}.drawer[hidden]{display:none}.drawer-bar{display:flex;align-items:center;justify-content:space-between;min-height:var(--tap)}.drawer-brand{font-family:var(--serif);font-size:1.2rem;color:var(--ink)}.drawer-close{width:var(--tap);height:var(--tap);margin-right:-8px;display:grid;place-items:center;background:none;border:0;color:var(--ink);cursor:pointer}.drawer-nav{display:flex;flex-direction:column;gap:.25rem;margin-top:clamp(1rem,6vh,3rem)}.drawer-nav a{font-family:var(--serif);font-size:clamp(2rem,9vw,2.75rem);color:var(--ink);text-decoration:none;padding:.5rem 0;line-height:1.1;border-bottom:1px solid oklch(.27 .03 55 / .1)}.drawer-foot{margin-top:auto;padding-top:2rem;display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.drawer-cta{align-self:stretch}.drawer-phone{font-family:var(--serif);font-size:1.5rem;text-decoration:none;color:var(--green);margin-top:.5rem}.drawer-address{font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);margin:0}@media(min-width:900px){.nav-toggle,.drawer{display:none}.header-inner{gap:1.5rem;padding:1rem var(--gutter)}.brand-mark{width:38px;height:38px}.brand-name{font-size:1.3rem}.nav-desktop{display:flex;gap:1.8rem;font-family:var(--sans);font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.nav-desktop a{text-decoration:none;color:var(--ink);position:relative;padding:.3rem 0}.nav-desktop a:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}.nav-desktop a:hover:after{transform:scaleX(1)}.site-header:not(.is-solid) .nav-desktop a{color:var(--cream-hi)}.header-cta{display:inline-flex;min-height:0;padding:.6rem 1.2rem}.site-header:not(.is-solid) .header-cta{background:#f2eee71f;border-color:#f2eee780;color:var(--cream-hi);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.site-header:not(.is-solid) .header-cta:hover{background:var(--cream-hi);color:var(--green-deep)}}.hero{position:relative;height:100svh;min-height:520px;display:grid;place-items:center;overflow:hidden}.hero-media{position:absolute;top:-8%;right:0;bottom:-8%;left:0;will-change:transform;transform:translateY(calc(var(--p, 0) * 12vh))}.hero-img{width:100%;height:100%;object-fit:cover;animation:kenburns 20s var(--ease) both}@keyframes kenburns{0%{transform:scale(1.14)}to{transform:scale(1)}}.hero-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(135% 100% at 50% 32%,transparent 42%,oklch(.16 .02 50 / .5) 100%),linear-gradient(to bottom,#1e130e8c,#1e130e1a 38%,#1e130e80)}.hero-scrim:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(70% 50% at 62% 46%,oklch(.82 .13 75 / .22),transparent 70%);mix-blend-mode:soft-light;animation:heroGlow 9s ease-in-out infinite alternate}@keyframes heroGlow{0%{opacity:.55}to{opacity:1}}.hero-grain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;animation:grainShift 6s steps(6) infinite}@keyframes grainShift{0%{background-position:0 0}20%{background-position:-40px 30px}40%{background-position:30px -20px}60%{background-position:-20px -30px}80%{background-position:40px 20px}to{background-position:0 0}}.hero-content{position:relative;text-align:center;color:var(--cream-hi);padding:0 var(--gutter);max-width:760px;transform:translateY(calc(var(--p, 0) * -7vh));opacity:clamp(0,calc(1 - var(--p, 0) * 1.25),1);will-change:transform,opacity}.hero-kicker{animation:fadeUp .8s var(--ease) both;animation-delay:.1s}.hero-title{font-size:clamp(2.9rem,1.4rem + 9vw,7rem);color:var(--cream-hi);text-shadow:0 2px 30px oklch(.15 .02 50 / .4);margin:.2em 0 .35em}.hero-title .word{overflow:hidden;vertical-align:bottom}.hero-title .word-in{animation:wordRise 1s var(--ease) both;animation-delay:calc(.15s + var(--i) * .11s)}@keyframes wordRise{0%{transform:translateY(112%)}to{transform:translateY(0)}}.hero-flourish{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 auto 1.6rem;animation:fadeUp .9s var(--ease) both;animation-delay:.55s}.hero-flourish img{width:38px;height:auto;opacity:.85;filter:drop-shadow(0 1px 6px oklch(.15 .02 50 / .5))}.hero-flourish-line{height:1px;width:clamp(36px,12vw,90px);background:linear-gradient(var(--dir, 90deg),transparent,oklch(.95 .01 82 / .7))}.hero-flourish-line:last-child{--dir: 270deg}.hero-sub{font-size:clamp(1.05rem,.95rem + .6vw,1.4rem);line-height:1.6;margin:0 auto 2rem;max-width:30ch;color:#f5f1eaf2;animation:fadeUp .9s var(--ease) both;animation-delay:.72s}.hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;animation:fadeUp .9s var(--ease) both;animation-delay:.88s}.hero-actions .btn{flex:1 1 auto;min-width:11rem;max-width:16rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.hero-scroll{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);width:26px;height:42px;border:1.5px solid oklch(.95 .01 82 / .6);border-radius:14px;animation:fadeUp 1s var(--ease) both;animation-delay:1s}.hero-scroll span{position:absolute;top:8px;left:50%;width:3px;height:8px;margin-left:-1.5px;background:var(--cream-hi);border-radius:2px;animation:scroll-cue 1.8s var(--ease) infinite}@keyframes scroll-cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}70%{opacity:1;transform:translateY(12px)}to{opacity:0;transform:translateY(14px)}}.intro{text-align:center;padding:var(--section-y) var(--gutter);max-width:760px;margin:0 auto}.intro-mark{position:relative;display:inline-block;width:clamp(64px,9vw,88px);margin:0 auto 2rem}.intro-mark img{width:100%;height:auto}.steam{position:absolute;left:56%;top:-2px;width:30px;height:40px}.steam i{position:absolute;bottom:0;left:0;width:9px;height:9px;border-radius:50%;background:var(--sage);opacity:0}.steam i:nth-child(2){left:8px}.steam i:nth-child(3){left:16px}.intro-mark.in .steam i{animation:puff 2.8s var(--ease) infinite}.intro-mark.in .steam i:nth-child(2){animation-delay:.9s}.intro-mark.in .steam i:nth-child(3){animation-delay:1.7s}@keyframes puff{0%{opacity:0;transform:translate(0) scale(.5)}25%{opacity:.5}to{opacity:0;transform:translate(14px,-34px) scale(1.6)}}.intro-lede{font-family:var(--prose);font-size:clamp(1.3rem,1rem + 1.6vw,1.95rem);line-height:1.5;color:var(--ink);margin:0}.intro-lede .word-in{opacity:0;transform:translateY(.5em);transition:opacity .6s var(--ease),transform .6s var(--ease);transition-delay:calc(var(--i) * 12ms)}.intro-lede.in .word-in{opacity:1;transform:none}.rule{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:2.4rem}.rule:before,.rule:after{content:"";height:1px;width:min(28vw,220px);background:#32231840}.rule img{opacity:.7}.menu{color:var(--ink);padding:var(--section-y) var(--gutter);position:relative;background:radial-gradient(120% 80% at 50% -10%,oklch(.68 .03 175) 0%,var(--sage) 55%)}.menu-head{text-align:center;max-width:640px;margin:0 auto clamp(2rem,5vw,3.25rem)}.menu .kicker{color:var(--green-deep)}.menu .section-title{color:#072014}.menu-board{max-width:600px;margin:0 auto}.menu-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem}.menu-tab{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#09251a;background:#f5f1ea8c;border:1px solid oklch(.4 .06 160 / .3);border-radius:999px;padding:0 1.4rem;min-height:var(--tap);cursor:pointer;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}.menu-tab:hover:not(.is-active){background:#f5f1ead9}.menu-tab.is-active{background:var(--green-deep);color:var(--cream-hi);border-color:var(--green-deep)}.menu-when{text-align:center;font-family:var(--sans);font-size:.88rem;color:#0c281d;margin:0 0 1.5rem;animation:fadeUp .5s var(--ease) both}.menu-stage{position:relative;display:grid}.menu-image{grid-area:1 / 1;width:100%;height:auto;border-radius:8px;aspect-ratio:1133 / 1600;object-fit:contain;box-shadow:0 34px 64px -30px #05160d8c;opacity:0;transform:translateY(16px) scale(.985);pointer-events:none;transition:opacity .55s var(--ease),transform .55s var(--ease)}.menu-image.is-active{opacity:1;transform:none;pointer-events:auto}.menu-foot{text-align:center;margin-top:clamp(2rem,5vw,3rem)}.menu-contact{font-family:var(--sans);font-size:.88rem;color:#0c281d;margin:1.3rem 0 0;line-height:1.6}.menu-contact a{font-weight:600;text-decoration:none}.menu-contact a:hover{text-decoration:underline}.cta-band,.visit-band{position:relative;overflow:hidden;padding:clamp(4.5rem,12vw,9rem) var(--gutter);display:grid;place-items:center;text-align:center}.cta-band-img,.visit-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.cta-band-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#1e130e9e}.visit-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#190f0ab8,#190f0a59)}.cta-band-content,.visit-content{position:relative;color:var(--cream-hi);max-width:620px}.cta-band-title{font-size:clamp(2.1rem,1.3rem + 4vw,4.2rem);color:var(--cream-hi);margin-bottom:.6rem}.cta-band-content p{font-size:1.05rem;margin:0 auto 1.8rem;max-width:38ch;color:#f2eee7eb}.visit-band{text-align:left;justify-items:start}.visit-content{text-align:left}.visit-quote{font-family:var(--serif);font-size:clamp(1.55rem,1.1rem + 2.4vw,2.8rem);line-height:1.25;margin:0 0 1.8rem;max-width:18ch}.events{padding:var(--section-y) var(--gutter);max-width:var(--maxw);margin:0 auto}.events-head,.gallery-head{text-align:center;margin-bottom:clamp(2rem,5vw,4rem)}.events-grid{display:grid;grid-template-columns:1fr;gap:1.6rem}.event a{text-decoration:none;color:inherit;display:block}.event img{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:3px;box-shadow:0 16px 30px -20px #1e130e80;transition:transform .6s var(--ease),box-shadow .6s var(--ease)}.event a:hover img{transform:translateY(-6px);box-shadow:0 26px 40px -22px #1e130e99}.event-meta{padding:1rem .2rem 0}.event-date{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}.event-meta h3{font-size:1.3rem;margin:.4rem 0 .25rem}.event-meta p{font-family:var(--sans);font-size:.88rem;color:var(--ink-soft);margin:0}@media(min-width:600px){.events-grid{grid-template-columns:repeat(2,1fr);gap:1.4rem 1.2rem}}@media(min-width:900px){.events-grid{grid-template-columns:repeat(4,1fr);gap:clamp(1rem,2.5vw,1.8rem)}}.gallery{padding:0 0 var(--section-y)}.gallery-head{padding:0 var(--gutter)}.gallery-strip{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:.6rem;overflow-x:auto;padding:0 var(--gutter) 1rem;scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.gallery-strip figure{margin:0;scroll-snap-align:start}.gallery-strip img{width:100%;height:clamp(260px,70vw,460px);object-fit:cover;border-radius:3px}@media(min-width:600px){.gallery-strip{grid-auto-columns:minmax(280px,1fr)}.gallery-strip figure:nth-child(odd) img{height:clamp(240px,32vw,400px);align-self:start}}.site-footer{background:var(--charcoal);color:var(--cream-hi)}.footer-cta{text-align:center;padding:clamp(3.5rem,9vw,7rem) var(--gutter) clamp(2.5rem,6vw,5rem);border-bottom:1px solid oklch(.95 .01 82 / .12)}.rating{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--sans);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#d8cdb1;margin:0 0 1.6rem}.rating svg{color:#e1b75c}.footer-links{font-family:var(--serif);font-size:clamp(1.9rem,1.2rem + 4vw,4rem);display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}.footer-links a{text-decoration:none;color:var(--cream-hi);transition:color .3s var(--ease)}.footer-links a:hover{color:#a4d1ac}.footer-links .sep{color:#f2eee74d;font-size:.7em}.footer-detail{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:2rem;padding:clamp(2.5rem,5vw,3.5rem) var(--gutter)}.footer-brand{display:flex;align-items:center;gap:.8rem}.footer-name{font-family:var(--serif);font-size:1.25rem;margin:0}.footer-info{display:flex;flex-wrap:wrap;gap:1.4rem 2.4rem;margin:0;justify-content:center}.footer-info dt{font-family:var(--sans);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#f2eee79e;margin-bottom:.3rem}.footer-info dd{margin:0;font-family:var(--sans);font-size:.92rem;color:#f2eee7e6}.footer-info a{text-decoration:none}.footer-info a:hover{text-decoration:underline}.footer-social{display:flex;gap:.7rem}.footer-social a{display:grid;place-items:center;width:var(--tap);height:var(--tap);border:1px solid oklch(.95 .01 82 / .25);border-radius:50%;color:var(--cream-hi);transition:background .4s var(--ease),color .4s var(--ease)}.footer-social a:hover{background:var(--cream-hi);color:var(--charcoal)}.footer-legal{text-align:center;font-family:var(--sans);font-size:.78rem;color:#f2eee785;padding:0 var(--gutter) 2rem;margin:0}@media(min-width:760px){.footer-detail{grid-template-columns:auto 1fr auto;align-items:center;justify-items:stretch;text-align:left;gap:2rem}.footer-info{justify-content:center}}@media(prefers-reduced-motion:reduce){.reveal,.intro-lede .word-in{opacity:1;transform:none;transition:none}.menu-image{transition:none}.menu-image.is-active{transform:none}.menu-when{animation:none}.hero-img{animation:none;transform:none}.hero-media,.hero-content{transform:none;opacity:1}.hero-kicker,.hero-title .word-in,.hero-sub,.hero-actions,.hero-scroll,.hero-flourish,.hero-scroll span,.hero-grain{animation:none}.hero-scrim:after{animation:none;opacity:.8}.steam i{animation:none!important}}
