.social-links{display:flex;align-items:center;gap:.5rem}.social-links__item{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease}.social-links__item svg{width:1.05rem;height:1.05rem}.social-links__item:hover,.social-links__item:focus-visible{border-color:var(--ink);background:#1c1a170d}.social-links__item--placeholder{opacity:.42;cursor:default}.social-links--footer .social-links__item{border-color:var(--on-dark-line);color:var(--on-dark)}.social-links--footer .social-links__item:hover,.social-links--footer .social-links__item:focus-visible{border-color:var(--on-dark);background:#f2eadc14}.navbar{--flag-green: #008c45;--flag-white: #f4f5f0;--flag-red: #cd212a;--nav-ink: var(--ink);--nav-muted: var(--muted);position:sticky;top:0;z-index:50;background:var(--nav-bg);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.navbar__flag{height:3px;background:linear-gradient(90deg,var(--flag-green) 0 33.33%,var(--flag-white) 33.33% 66.66%,var(--flag-red) 66.66% 100%)}.navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;max-width:1200px;margin:0 auto;padding:.9rem clamp(1rem,6vw,3rem)}.navbar__nav-right{display:flex;flex-shrink:0;align-items:center;gap:clamp(.65rem,1.6vw,1.1rem)}.navbar__brand{display:flex;flex-shrink:0;flex-direction:column;color:var(--nav-ink);line-height:1;text-decoration:none}.navbar__brand-kicker{margin-bottom:.28rem;color:var(--green);font-size:.58rem;font-weight:700;letter-spacing:.4em;text-transform:uppercase}.navbar__brand-name{font-family:var(--font-serif);font-size:clamp(1.5rem,2.2vw,1.95rem);font-style:italic;font-weight:700;letter-spacing:-.025em;transition:color .2s ease}.navbar__brand-dot{color:var(--red)}.navbar__brand:hover .navbar__brand-name,.navbar__brand:focus-visible .navbar__brand-name{color:var(--red)}.navbar__menu{display:flex;align-items:center;gap:clamp(1.5rem,4vw,3rem)}.navbar__menu-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.navbar__links{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2rem);margin:0;padding:0;list-style:none}.navbar__link{position:relative;display:inline-block;padding:.45rem .1rem;color:var(--nav-muted);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;transition:color .2s ease}.navbar__link:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.navbar__link:hover,.navbar__link:focus-visible{color:var(--nav-ink)}.navbar__link:hover:after,.navbar__link:focus-visible:after{transform:scaleX(1)}.navbar__cta{padding:.7rem 1rem;border:1px solid var(--nav-ink);color:var(--nav-ink);font-size:.64rem;font-weight:700;letter-spacing:.14em;text-decoration:none;text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.navbar__cta:hover,.navbar__cta:focus-visible{background:var(--nav-ink);color:var(--cream)}.navbar__toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;border:1px solid var(--line);background:transparent;cursor:pointer}.navbar__toggle-bar{display:block;width:18px;height:1px;margin:0 auto;background:var(--nav-ink);transition:transform .25s ease,opacity .2s ease}.navbar__toggle.is-open .navbar__toggle-bar:nth-child(1){transform:translateY(6px) rotate(45deg)}.navbar__toggle.is-open .navbar__toggle-bar:nth-child(2){opacity:0}.navbar__toggle.is-open .navbar__toggle-bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media(max-width:880px){.navbar__toggle{display:flex}.navbar__menu{position:absolute;top:100%;right:0;left:0;flex-direction:column;align-items:flex-start;gap:1.5rem;padding:1.5rem clamp(1rem,6vw,3rem) 1.75rem;background:var(--paper);border-bottom:1px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .25s ease,transform .25s ease,visibility .25s}.navbar__menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.navbar__links{flex-direction:column;align-items:flex-start;gap:0;width:100%}.navbar__link{display:flex;align-items:center;width:100%;min-height:2.75rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.72rem}.navbar__link:after{display:none}.navbar__cta{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.7rem 1.1rem}}@media(prefers-reduced-motion:reduce){.navbar *,.navbar *:before,.navbar *:after{transition-duration:.01ms!important}}.hero{position:relative;display:flex;align-items:center;min-height:calc(100vh - 5.5rem);min-height:calc(100svh - 5.5rem);overflow:hidden;padding:clamp(3rem,8vw,6rem) clamp(1.25rem,7vw,6rem);border-bottom:1px solid var(--line);background:var(--cream)}.hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,19rem);gap:clamp(2.5rem,7vw,7rem);align-items:end;width:100%;max-width:1200px;margin:0 auto}.hero__eyebrow{margin:0 0 1.75rem;color:var(--green);font-size:.68rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase}.hero__title{display:flex;flex-direction:column;margin:0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(4.5rem,14vw,11rem);font-style:italic;font-weight:700;letter-spacing:-.06em;line-height:.82}.hero__title-kicker{margin-bottom:1.1rem;padding-left:.35rem;color:var(--green);font-family:var(--font-sans);font-size:clamp(.68rem,1.2vw,.82rem);font-style:normal;font-weight:700;letter-spacing:.5em;text-transform:uppercase}.hero__dot{color:var(--red)}.hero__lead{max-width:33rem;margin:clamp(1.75rem,4vw,2.5rem) 0 0;color:var(--muted);font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.8}.hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:2.25rem}.hero__aside{position:relative;display:flex;flex-direction:column;gap:clamp(2rem,4vw,2.75rem);padding-left:clamp(1.5rem,3vw,2.25rem);border-left:1px solid var(--line)}.hero__stripe{position:absolute;top:0;left:-2px;display:flex;flex-direction:column;width:3px;height:5.5rem}.hero__stripe span{flex:1}.hero__stripe span:nth-child(1){background:#008c45}.hero__stripe span:nth-child(2){background:#f4f5f0}.hero__stripe span:nth-child(3){background:#cd212a}.hero__aside-label{margin:0 0 .5rem;color:var(--red);font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.hero__aside-value{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(1.35rem,2.3vw,1.65rem);font-style:italic;font-weight:600;letter-spacing:-.02em}.hero__phone{display:inline-flex;align-items:center;min-height:2.5rem;margin-top:.55rem;padding:.25rem 0;color:var(--ink);font-size:.98rem;font-weight:600;text-decoration:none;border-bottom:1px solid var(--line);transition:color .2s ease,border-color .2s ease}a.hero__phone:hover,a.hero__phone:focus-visible{color:var(--red);border-color:var(--red)}.hero__hours{display:grid;gap:.4rem;margin:.9rem 0 0}.hero__hours-row{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;line-height:1.5}.hero__hours-row dt{color:var(--muted)}.hero__hours-row dd{margin:0;color:var(--ink);font-weight:600;text-align:right}@media(max-width:820px){.hero__inner{grid-template-columns:1fr;align-items:start}.hero__aside{padding-top:2rem;padding-left:0;border-top:1px solid var(--line);border-left:0}.hero__stripe{top:-2px;left:0;flex-direction:row;width:5rem;height:3px}}@media(max-width:600px){.hero{padding-top:2.75rem;padding-bottom:2.75rem}.hero__lead{font-size:1rem;line-height:1.75}.hero__actions{flex-direction:column;align-items:stretch;gap:.65rem;margin-top:1.9rem}.hero__actions .button{width:100%;justify-content:space-between;text-align:left}.hero__aside{gap:1.6rem;padding-top:1.6rem}.hero__hours-row{font-size:.82rem}}@media(max-width:360px){.hero__title{font-size:4rem}}.about{background:var(--paper);border-bottom:1px solid var(--line)}.about__grid{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:clamp(2rem,6vw,5rem)}.about__side{padding-top:.35rem}.about__side-note{margin:2rem 0 0;color:var(--muted);font-size:.7rem;font-weight:600;letter-spacing:.18em;line-height:1.9;text-transform:uppercase}.about__title-accent{display:block;color:var(--red);font-style:normal}.about__text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);margin-top:2rem}.about__text-grid p{margin:0;color:var(--muted);font-size:clamp(.98rem,1.4vw,1.08rem);line-height:1.8}.about__facts{margin:clamp(2.5rem,5vw,3.5rem) 0 0;padding:0;border-top:1px solid var(--line);list-style:none}.about__fact{display:grid;grid-template-columns:2.5rem minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1rem,3vw,2.5rem);align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--line)}.about__fact-number{color:var(--red);font-size:.66rem;font-weight:700;letter-spacing:.16em}.about__fact-title{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(1.2rem,2vw,1.45rem);font-style:italic;font-weight:600;letter-spacing:-.015em}.about__fact-text{margin:0;color:var(--muted);font-size:.94rem;line-height:1.7}@media(max-width:860px){.about__grid{grid-template-columns:1fr}.about__side{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem}.about__side-note{margin:0}.about__text-grid{grid-template-columns:1fr}.about__fact{grid-template-columns:2.25rem minmax(0,1fr)}.about__fact-text{grid-column:2;font-size:.98rem}}.menu{color:var(--on-dark);background:var(--green-deep)}.menu .section__eyebrow{color:var(--on-dark-muted)}.menu .section__title{color:var(--on-dark-strong)}.menu__header{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,6vw,5rem);align-items:end}.menu__lead{margin:0;color:var(--on-dark-muted);font-size:clamp(.98rem,1.4vw,1.08rem);line-height:1.8}.menu__viewer-shell{margin-top:clamp(2.5rem,6vw,4rem)}.menu__viewer-loading{display:grid;min-height:clamp(20rem,55vw,34rem);place-items:center;padding:2rem;border:1px solid var(--on-dark-line);color:var(--on-dark-muted);font-size:.82rem;letter-spacing:.08em;text-align:center}.menu__viewer-loading p{margin:0 0 .85rem}.menu__viewer-loading a{color:var(--on-dark-strong);text-underline-offset:.2em;transition:color .2s ease}.menu__viewer-loading a:hover,.menu__viewer-loading a:focus-visible{color:var(--on-dark)}@media(max-width:760px){.menu__header{grid-template-columns:1fr;align-items:start;gap:1.5rem}.menu__viewer-shell{margin-top:2rem}.menu__viewer-loading{min-height:18rem}}.reservation{padding:clamp(3.25rem,9vw,7rem) clamp(1.25rem,7vw,6rem);scroll-margin-top:5.5rem;color:var(--on-dark);background:var(--red-deep)}.reservation__inner{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:clamp(2rem,6vw,5rem);width:100%;max-width:1200px;margin:0 auto}.reservation__eyebrow{display:flex;align-items:center;align-self:start;gap:.85rem;margin:0;padding-top:.45rem;color:#f2eadca8;font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.reservation__eyebrow:before{content:"";display:block;width:2.25rem;height:1px;background:currentColor}.reservation__title{margin:0;color:#fff;font-family:var(--font-serif);font-size:clamp(2.7rem,7vw,5.5rem);font-style:italic;font-weight:700;letter-spacing:-.05em;line-height:.95}.reservation__title span{display:block;color:#f2eadc9e}.reservation__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,5vw,4rem);align-items:end;margin-top:clamp(2rem,5vw,3rem);padding-top:1.5rem;border-top:1px solid rgba(242,234,220,.28)}.reservation__text{max-width:30rem;margin:0;color:#f2eadcd1;font-size:clamp(.98rem,1.4vw,1.08rem);line-height:1.8}.reservation__phone-block{text-align:right}.reservation__phone-label{margin:0 0 .45rem;color:#f2eadca8;font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.reservation__phone{display:inline-flex;align-items:center;min-height:2.75rem;padding:.2rem 0;color:#fff;font-family:var(--font-serif);font-size:clamp(1.7rem,3.6vw,2.7rem);font-style:italic;font-weight:600;letter-spacing:-.03em;line-height:1;text-decoration:none;border-bottom:1px solid rgba(242,234,220,.45);transition:color .2s ease,border-color .2s ease}a.reservation__phone:hover,a.reservation__phone:focus-visible{color:#f2c98f;border-color:#f2c98f}.reservation__note{max-width:38rem;margin:clamp(1.75rem,4vw,2.5rem) 0 0;color:#f2eadc94;font-size:.84rem;line-height:1.7}@media(max-width:860px){.reservation__inner{grid-template-columns:1fr;gap:1.75rem}.reservation__row{grid-template-columns:1fr;align-items:start}.reservation__phone-block{text-align:left}}@media(max-width:600px){.reservation__title{font-size:clamp(2.4rem,11vw,4rem)}.reservation__phone{font-size:clamp(1.6rem,7vw,2.2rem)}}.contact{background:var(--cream)}.contact__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.5rem,8vw,7rem);align-items:start}.contact__lead{max-width:32rem;margin:1.75rem 0 0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.8}.contact__address{margin:clamp(2rem,4vw,2.75rem) 0 0;padding-top:1.5rem;border-top:1px solid var(--line);color:var(--ink);font-style:normal;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.7}.contact__address strong{font-family:var(--font-serif);font-size:1.25em;font-style:italic;font-weight:600;letter-spacing:-.02em}.contact__list{display:grid;gap:0;margin:1.5rem 0 0;padding:0;border-top:1px solid var(--line);list-style:none}.contact__list li{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.98rem}.contact__label{min-width:5rem;color:var(--ink);font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.contact__list a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(12,107,69,.35);transition:color .2s ease,border-color .2s ease}.contact__list a:hover,.contact__list a:focus-visible{color:var(--red);border-color:#b3322873}.contact__route{margin-top:1.75rem}.contact__hours{padding-top:.35rem;border-top:1px solid var(--ink)}.contact__hours-kicker{margin:0 0 .8rem;color:var(--red);font-size:.64rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.contact__hours-title{margin:0;color:var(--ink);font-family:var(--font-serif);font-size:clamp(1.5rem,2.6vw,2rem);font-style:italic;font-weight:600;letter-spacing:-.025em}.contact__hours-list{display:grid;gap:0;margin:2rem 0 0}.contact__hours-row{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.contact__hours-row dt{color:var(--muted);font-size:.96rem}.contact__hours-row dd{margin:0;color:var(--ink);font-size:.96rem;font-weight:600;text-align:right}.contact__note{margin:1.5rem 0 0;color:var(--muted);font-size:.88rem;line-height:1.7}.contact__note a{color:var(--green);text-decoration:none;border-bottom:1px solid rgba(12,107,69,.35)}.contact__note a:hover,.contact__note a:focus-visible{color:var(--red);border-color:#b3322873}@media(max-width:820px){.contact__grid{grid-template-columns:1fr}.contact__list li{padding:1rem 0}.contact__route.button{width:100%;justify-content:space-between;text-align:left}}.footer{position:relative;padding:clamp(3rem,7vw,4.5rem) clamp(1.25rem,7vw,6rem) 1.75rem;background:var(--inverse-bg);color:#f2eadcad}.footer:before{content:"";position:absolute;top:0;right:0;left:0;height:4px;background:linear-gradient(90deg,#008c45 0 33.33%,#f4f5f0 33.33% 66.66%,#cd212a 66.66% 100%)}.footer__inner{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,.6fr));gap:clamp(2rem,5vw,4rem);max-width:1200px;margin:0 auto}.footer__brand{display:flex;flex-direction:column;align-items:flex-start}.footer__brand-kicker{margin-bottom:.35rem;color:var(--green);font-size:.58rem;font-weight:700;letter-spacing:.4em;text-transform:uppercase}.footer__brand-name{color:var(--on-dark);font-family:var(--font-serif);font-size:clamp(1.8rem,3vw,2.4rem);font-style:italic;font-weight:700;letter-spacing:-.025em;line-height:1}.footer__brand-dot{color:var(--red)}.footer__brand-text{max-width:20rem;margin:1rem 0 0;font-size:.9rem;line-height:1.7}.footer__social{margin-top:1.35rem}.footer__heading{margin:0 0 1rem;color:#f2eadc6b;font-size:.62rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.footer__nav ul{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.footer__nav a{display:inline-block;padding:.25rem 0;color:#f2eadcc7;font-size:.92rem;text-decoration:none;transition:color .2s ease}.footer__nav a:hover,.footer__nav a:focus-visible{color:#fff}.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;max-width:1200px;margin:clamp(2.5rem,5vw,3.5rem) auto 0;padding-top:1.25rem;border-top:1px solid rgba(242,234,220,.14);font-size:.78rem}.footer__bottom p{margin:0}@media(max-width:760px){.footer{padding-bottom:calc(5.25rem + env(safe-area-inset-bottom))}.footer__inner{grid-template-columns:1fr 1fr;gap:2.25rem 1.5rem}.footer__brand{grid-column:1 / -1}.footer__nav a{font-size:.96rem}}.mobile-bar{display:none}@media(max-width:760px){.mobile-bar{position:fixed;right:0;bottom:0;left:0;z-index:60;display:grid;grid-template-columns:minmax(0,1fr) auto;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--on-dark-line);background:var(--inverse-bg);color:var(--on-dark)}.mobile-bar:before{content:"";position:absolute;top:0;right:0;left:0;height:2px;background:linear-gradient(90deg,#008c45 0 33.33%,#f4f5f0 33.33% 66.66%,#cd212a 66.66% 100%)}.mobile-bar__call{display:flex;flex-direction:column;justify-content:center;gap:.15rem;min-height:3.75rem;padding:.55rem 1.25rem;color:var(--on-dark);text-decoration:none}.mobile-bar__label{color:var(--on-dark-muted);font-size:.56rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.mobile-bar__value{color:var(--on-dark-strong);font-size:.95rem;font-weight:600;letter-spacing:.01em}.mobile-bar__menu{display:flex;align-items:center;gap:.55rem;padding:0 1.15rem;border-left:1px solid var(--on-dark-line);color:var(--on-dark);font-size:.6rem;font-weight:700;letter-spacing:.14em;text-decoration:none;text-transform:uppercase}.mobile-bar__arrow{font-size:1rem;line-height:1}.mobile-bar__call:active,.mobile-bar__menu:active{background:#f2eadc14}}
