@font-face {
  font-family: "Harvest Serif";
  src: url("../fonts/menu-serif-latin.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Harvest Serif";
  src: url("../fonts/menu-serif-bold-latin.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}

@font-face {
  font-family: "Harvest Sans";
  src: url("../fonts/menu-sans-latin.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}

@font-face {
  font-family: "Harvest Sans";
  src: url("../fonts/menu-sans-bold-latin.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}

:root {
  --hs-cream: #f4ebdd;
  --hs-paper: #fbf8f1;
  --hs-ink: #261c17;
  --hs-green: #0d2d24;
  --hs-green-2: #153f32;
  --hs-orange: #9b4814;
  --hs-orange-dark: #713108;
  --hs-orange-light: #f0b65e;
  --hs-burgundy: #7c2d36;
  --hs-olive: #56613b;
  --hs-mustard: #c79a3b;
  --hs-chestnut: #6a3b2a;
  --hs-beige: #e6d3b8;
  --hs-sage: #7d8a63;
  --hs-serif: "Harvest Serif", Georgia, "Times New Roman", serif;
  --hs-sans: "Harvest Sans", Arial, sans-serif;
  --hs-container: 1240px;
  --hs-radius: 18px;
  --hs-shadow: 0 22px 70px rgba(38, 28, 23, 0.12);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  color: var(--hs-ink);
  background: var(--hs-paper);
  font-family: var(--hs-sans);
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

img,
svg {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

button,
input,
textarea,
select {
  font: inherit;
}

:focus-visible {
  outline: 3px solid var(--hs-paper);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--hs-burgundy);
}

::selection {
  color: var(--hs-green);
  background: var(--hs-mustard);
}

.hs-container {
  width: min(calc(100% - 48px), var(--hs-container));
  margin-inline: auto;
}

.hs-skip-link {
  position: fixed;
  z-index: 10000;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  color: var(--hs-green);
  background: var(--hs-cream);
  transform: translateY(-180%);
}

.hs-skip-link:focus {
  transform: translateY(0);
}

.hs-eyebrow {
  margin: 0 0 20px;
  color: var(--hs-burgundy);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.17em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hs-eyebrow--orange {
  color: var(--hs-orange);
}

.hs-title {
  margin: 0;
  font-family: var(--hs-serif);
  font-size: clamp(2.4rem, 5.2vw, 5.8rem);
  font-weight: 400;
  letter-spacing: -0.045em;
  line-height: 0.98;
}

.hs-section-title {
  max-width: 850px;
  margin: 0;
  font-family: var(--hs-serif);
  font-size: clamp(2.15rem, 4vw, 4.5rem);
  font-weight: 400;
  letter-spacing: -0.04em;
  line-height: 1.04;
}

.hs-section-title em,
.hs-title em {
  color: var(--hs-orange);
  font-style: normal;
}

.hs-section-lead {
  max-width: 650px;
  margin: 24px 0 0;
  color: rgba(38, 28, 23, 0.72);
  font-size: 1.05rem;
}

.hs-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 54px;
}

.hs-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--hs-burgundy);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.hs-link-arrow::after {
  content: "→";
  color: var(--hs-orange);
  font-size: 1.4em;
  transition: transform 180ms ease;
}

.hs-link-arrow:hover::after {
  transform: translateX(4px);
}

.hs-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 23px;
  border: 1px solid transparent;
  border-radius: 999px;
  background: var(--hs-orange);
  color: var(--hs-cream);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.hs-button:hover {
  background: var(--hs-cream);
  color: var(--hs-green);
  transform: translateY(-2px);
}

.hs-button--outline {
  border-color: rgba(244, 235, 221, 0.55);
  background: transparent;
  color: var(--hs-cream);
}

.hs-button--outline:hover {
  border-color: var(--hs-cream);
  color: var(--hs-green);
}

.hs-button--dark {
  background: var(--hs-green);
  color: var(--hs-cream);
}

.hs-button--dark:hover {
  background: var(--hs-burgundy);
  color: var(--hs-cream);
}

/* Brand */
.hs-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--hs-green-2);
}

.hs-brand__mark {
  width: 45px;
  height: 45px;
  flex: 0 0 45px;
}

.hs-brand__sun {
  fill: var(--hs-orange);
}

.hs-brand__line {
  fill: none;
  stroke: var(--hs-cream);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

.hs-brand__type {
  display: grid;
  line-height: 1;
}

.hs-brand__type strong {
  color: var(--hs-ink);
  font-family: var(--hs-serif);
  font-size: 1.06rem;
}

.hs-brand__type small {
  margin-top: 5px;
  color: var(--hs-orange);
  font-size: 0.38rem;
  font-weight: 700;
  letter-spacing: 0.11em;
}

.hs-brand--light {
  color: var(--hs-cream);
}

.hs-brand--light .hs-brand__line {
  stroke: var(--hs-green);
}

.hs-brand--light .hs-brand__type strong {
  color: var(--hs-cream);
}

/* Header */
.hs-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  border-bottom: 1px solid rgba(38, 28, 23, 0.08);
  background: rgba(251, 248, 241, 0.94);
  backdrop-filter: blur(18px);
}

.hs-header__inner {
  display: flex;
  min-height: 84px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.hs-header__brand {
  text-decoration: none;
}

.hs-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}

.hs-nav__list {
  display: flex;
  align-items: center;
  gap: clamp(17px, 2vw, 31px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.hs-nav__list a {
  position: relative;
  display: block;
  padding: 9px 0;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-decoration: none;
}

.hs-nav__list a::after {
  position: absolute;
  right: 0;
  bottom: 3px;
  left: 0;
  height: 2px;
  background: var(--hs-orange);
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}

.hs-nav__list a:hover::after,
.hs-nav__list .current-menu-item > a::after {
  transform: scaleX(1);
  transform-origin: left;
}

.hs-language {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(38, 28, 23, 0.78);
  font-size: 0.75rem;
  font-weight: 700;
}

.hs-language a {
  display: inline-grid;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  color: inherit;
  text-decoration: none;
}

.hs-language a[aria-current="page"],
.hs-language span[aria-current="page"] {
  color: var(--hs-burgundy);
}

.hs-nav-toggle {
  display: none;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border: 0;
  background: transparent;
  color: var(--hs-ink);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hs-nav-toggle__icon {
  display: grid;
  width: 26px;
  gap: 6px;
}

.hs-nav-toggle__icon i {
  display: block;
  height: 2px;
  background: currentColor;
  transition: transform 180ms ease;
}

/* Hero */
.hs-hero {
  position: relative;
  min-height: min(820px, calc(100vh - 84px));
  overflow: hidden;
  background: var(--hs-green);
  color: var(--hs-cream);
}

.hs-hero__image,
.hs-hero__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hs-hero__image::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(13, 45, 36, 0.92) 0%, rgba(13, 45, 36, 0.72) 43%, rgba(13, 45, 36, 0.24) 78%),
    linear-gradient(0deg, rgba(13, 45, 36, 0.48), transparent 58%);
  content: "";
}

.hs-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  min-height: min(820px, calc(100vh - 84px));
  align-items: center;
  padding-block: 100px 130px;
}

.hs-hero__content {
  max-width: 770px;
}

.hs-hero .hs-title {
  color: var(--hs-cream);
}

.hs-hero__lead {
  max-width: 620px;
  margin: 28px 0 0;
  color: rgba(244, 235, 221, 0.86);
  font-size: clamp(1rem, 1.5vw, 1.22rem);
}

.hs-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 38px;
}

.hs-season-bar {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  border-top: 1px solid rgba(244, 235, 221, 0.22);
  background: rgba(13, 45, 36, 0.72);
  backdrop-filter: blur(12px);
}

.hs-season-bar__inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hs-season-bar__item {
  padding: 22px 30px;
  border-left: 1px solid rgba(244, 235, 221, 0.17);
}

.hs-season-bar__item:first-child {
  border-left: 0;
}

.hs-season-bar__item span {
  display: block;
  color: var(--hs-orange-light);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hs-season-bar__item strong {
  display: block;
  margin-top: 5px;
  color: var(--hs-cream);
  font-family: var(--hs-serif);
  font-size: 1.05rem;
  font-weight: 400;
}

/* Intro */
.hs-intro {
  padding: clamp(86px, 11vw, 160px) 0;
  background: var(--hs-paper);
}

.hs-intro__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1.1fr);
  align-items: center;
  gap: clamp(55px, 9vw, 130px);
}

.hs-intro__copy p:not(.hs-eyebrow) {
  margin: 25px 0 0;
  color: rgba(38, 28, 23, 0.72);
  font-size: 1.05rem;
}

.hs-intro__media {
  position: relative;
  min-height: 570px;
}

.hs-intro__media img {
  width: 82%;
  height: 510px;
  margin-left: auto;
  border-radius: var(--hs-radius);
  object-fit: cover;
  box-shadow: var(--hs-shadow);
}

.hs-intro__quote {
  position: absolute;
  bottom: 0;
  left: 0;
  width: min(360px, 78%);
  margin: 0;
  padding: 34px;
  border-radius: var(--hs-radius);
  background: var(--hs-green);
  color: var(--hs-cream);
  font-family: var(--hs-serif);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
  line-height: 1.25;
  box-shadow: var(--hs-shadow);
}

.hs-intro__quote small {
  display: block;
  margin-top: 20px;
  color: var(--hs-orange);
  font-family: var(--hs-sans);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

/* Experiences */
.hs-experiences {
  padding: clamp(86px, 10vw, 145px) 0;
  background: var(--hs-cream);
}

.hs-experience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.hs-experience-card {
  position: relative;
  min-height: 530px;
  overflow: hidden;
  border-radius: var(--hs-radius);
  background: var(--hs-green);
  color: var(--hs-cream);
  box-shadow: 0 12px 45px rgba(38, 28, 23, 0.09);
}

.hs-experience-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 600ms cubic-bezier(.2, .7, .2, 1);
}

.hs-experience-card::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(13, 45, 36, 0.96), rgba(13, 45, 36, 0.05) 78%);
  content: "";
}

.hs-experience-card:hover img {
  transform: scale(1.035);
}

.hs-experience-card__content {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 36px;
}

.hs-experience-card__number {
  color: var(--hs-orange-light);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.hs-experience-card h3 {
  margin: 12px 0 10px;
  font-family: var(--hs-serif);
  font-size: clamp(2rem, 3vw, 3.3rem);
  font-weight: 400;
  line-height: 1;
}

.hs-experience-card p {
  margin: 0;
  color: rgba(244, 235, 221, 0.78);
  font-size: 0.91rem;
}

.hs-experience-card a {
  position: absolute;
  z-index: 4;
  inset: 0;
}

.hs-experience-card a:focus-visible {
  outline-offset: -7px;
}

/* Listings */
.hs-listing-section {
  position: relative;
  padding: clamp(86px, 10vw, 145px) 0;
  overflow: hidden;
}

#restaurants.hs-listing-section {
  background:
    radial-gradient(circle at 8% 12%, rgba(204, 139, 65, 0.13), transparent 28%),
    radial-gradient(circle at 92% 88%, rgba(124, 45, 54, 0.09), transparent 30%),
    var(--hs-paper);
}

#restaurants.hs-listing-section::before {
  position: absolute;
  top: 70px;
  right: -80px;
  width: 230px;
  height: 230px;
  border: 1px solid rgba(124, 45, 54, 0.12);
  border-radius: 50%;
  content: "";
}

#restaurants .hs-container {
  position: relative;
  z-index: 1;
}

.hs-listing-section--green {
  background: var(--hs-green);
  color: var(--hs-cream);
}

.hs-listing-section--green .hs-section-lead {
  color: rgba(244, 235, 221, 0.7);
}

.hs-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.hs-card-grid--menus {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 38px);
  counter-reset: menu-card;
}

#restaurants .hs-section-title em {
  color: var(--hs-burgundy);
}

.hs-card {
  overflow: hidden;
  border-radius: var(--hs-radius);
  background: #fffdf8;
  color: var(--hs-ink);
  box-shadow: 0 15px 50px rgba(38, 28, 23, 0.08);
}

.hs-card__image {
  display: block;
  overflow: hidden;
  aspect-ratio: 1.35;
}

.hs-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms ease;
}

.hs-card:hover .hs-card__image img {
  transform: scale(1.03);
}

.hs-card__content {
  padding: 28px 28px 31px;
}

.hs-card__category {
  color: var(--hs-burgundy);
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.hs-card--garden .hs-card__category {
  color: var(--hs-olive);
}

.hs-card h3 {
  margin: 11px 0 12px;
  font-family: var(--hs-serif);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.12;
}

.hs-card h3 a {
  text-decoration: none;
}

.hs-card p {
  margin: 0 0 22px;
  color: rgba(38, 28, 23, 0.65);
  font-size: 0.91rem;
}

.hs-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.hs-card__meta li {
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--hs-cream);
  color: rgba(38, 28, 23, 0.7);
  font-size: 0.69rem;
}

.hs-menu-card {
  --hs-menu-card-accent: var(--hs-burgundy);
  display: grid;
  min-height: 520px;
  grid-template-rows: minmax(270px, 0.85fr) minmax(0, 1.15fr);
  counter-increment: menu-card;
  border: 1px solid var(--hs-beige);
  border-radius: clamp(20px, 2.2vw, 30px);
  box-shadow: 0 20px 55px rgba(38, 28, 23, 0.075);
  transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.hs-menu-card:nth-child(3n + 2) {
  --hs-menu-card-accent: var(--hs-olive);
}

.hs-menu-card:nth-child(3n) {
  --hs-menu-card-accent: var(--hs-orange);
}

.hs-menu-card:hover {
  border-color: var(--hs-menu-card-accent);
  box-shadow: 0 30px 75px rgba(38, 28, 23, 0.13);
  transform: translateY(-5px);
}

.hs-menu-card--featured {
  grid-column: 1 / -1;
  min-height: 460px;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr);
  grid-template-rows: 1fr;
}

.hs-menu-card__cover {
  position: relative;
  display: flex;
  min-height: 300px;
  min-width: 0;
  flex-direction: column;
  padding: clamp(28px, 3.5vw, 42px);
  overflow: hidden;
  border-bottom: 1px solid rgba(244, 235, 221, 0.18);
  background: var(--hs-green);
  color: var(--hs-cream);
  text-decoration: none;
}

.hs-menu-card__cover::after {
  position: absolute;
  top: 0;
  right: auto;
  left: 0;
  width: 100%;
  height: 6px;
  background: var(--hs-menu-card-accent);
  content: "";
}

.hs-menu-card--featured .hs-menu-card__cover {
  min-height: 460px;
  border-right: 1px solid rgba(244, 235, 221, 0.18);
  border-bottom: 0;
}

.hs-menu-card__media,
.hs-menu-card__media::after {
  position: absolute;
  inset: 0;
}

.hs-menu-card__media {
  z-index: 0;
  overflow: hidden;
}

.hs-menu-card__media::after {
  background:
    linear-gradient(180deg, rgba(8, 37, 29, 0.3), rgba(8, 37, 29, 0.94) 82%),
    linear-gradient(90deg, rgba(8, 37, 29, 0.48), transparent 62%);
  content: "";
}

.hs-menu-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.78) contrast(1.03);
  transform: scale(1.015);
  transition: filter 500ms ease, transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.hs-menu-card:nth-child(3n + 2) .hs-menu-card__media img {
  object-position: 62% center;
}

.hs-menu-card:nth-child(3n) .hs-menu-card__media img {
  object-position: 32% center;
}

.hs-menu-card:hover .hs-menu-card__media img {
  filter: saturate(0.95) contrast(1.03);
  transform: scale(1.065);
}

.hs-menu-card__kicker,
.hs-menu-card__count {
  position: relative;
  z-index: 1;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.35;
  text-transform: uppercase;
}

.hs-menu-card__kicker {
  color: var(--hs-orange-light);
}

.hs-menu-card__index {
  position: absolute;
  z-index: 1;
  top: clamp(28px, 3.5vw, 42px);
  right: clamp(28px, 3.5vw, 42px);
  color: rgba(244, 235, 221, 0.58);
  font-family: var(--hs-serif);
  font-size: clamp(2.5rem, 4vw, 4.4rem);
  line-height: 0.82;
}

.hs-menu-card__index::before {
  content: counter(menu-card, decimal-leading-zero);
}

.hs-menu-card__rule {
  width: 52px;
  height: 2px;
  margin: auto 0 22px;
  background: var(--hs-orange-light);
}

.hs-menu-card h3 {
  position: relative;
  z-index: 1;
  max-width: 670px;
  margin: 0 0 18px;
  font-family: var(--hs-serif);
  font-size: clamp(2rem, 3vw, 3.35rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1.01;
  transition: transform 180ms ease;
}

.hs-menu-card__cover:hover h3 {
  transform: translateX(4px);
}

.hs-menu-card__count {
  color: rgba(244, 235, 221, 0.76);
}

.hs-menu-card__cta {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  color: var(--hs-cream);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.hs-menu-card__cta::after {
  font-size: 1rem;
  content: "↗";
}

.hs-menu-card__cover:focus-visible {
  outline-offset: -5px;
}

.hs-menu-card__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: clamp(28px, 3vw, 40px);
  background: #fffdf8;
}

.hs-menu-card__content p {
  margin-bottom: 20px;
  font-size: 0.96rem;
}

.hs-menu-card__sections {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 24px;
  padding: 0;
  list-style: none;
}

.hs-menu-card__sections li {
  padding: 7px 10px;
  border: 1px solid var(--hs-beige);
  border-radius: 999px;
  color: var(--hs-menu-card-accent);
  background: rgba(244, 235, 221, 0.58);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
  text-transform: uppercase;
}

.hs-menu-card__highlights {
  width: 100%;
  margin-bottom: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--hs-beige);
}

.hs-menu-card__highlights > span {
  color: var(--hs-menu-card-accent);
  font-size: 0.67rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hs-menu-card__highlights ul {
  display: grid;
  gap: 7px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.hs-menu-card__highlights li {
  display: grid;
  grid-template-columns: 12px 1fr;
  gap: 8px;
  font-family: var(--hs-serif);
  font-size: 1.06rem;
  line-height: 1.25;
}

.hs-menu-card__highlights li::before {
  color: var(--hs-menu-card-accent);
  content: "·";
}

/* Bazaar */
.hs-bazaar {
  padding: clamp(86px, 11vw, 160px) 0;
  background: var(--hs-mustard);
}

.hs-bazaar__grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  border-radius: calc(var(--hs-radius) + 4px);
  background: var(--hs-paper);
  box-shadow: var(--hs-shadow);
}

.hs-bazaar__media {
  min-height: 580px;
}

.hs-bazaar__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hs-bazaar__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(45px, 7vw, 95px);
}

.hs-bazaar__copy p:not(.hs-eyebrow) {
  color: rgba(38, 28, 23, 0.7);
}

/* Values and itinerary */
.hs-values {
  padding: clamp(86px, 10vw, 145px) 0;
  background: var(--hs-paper);
}

.hs-value-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 58px;
  border-top: 1px solid var(--hs-beige);
  border-bottom: 1px solid var(--hs-beige);
}

.hs-value {
  min-height: 255px;
  padding: 36px 28px;
  border-left: 1px solid var(--hs-beige);
}

.hs-value:first-child {
  border-left: 0;
}

.hs-value__number {
  color: var(--hs-orange);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.14em;
}

.hs-value h3 {
  margin: 56px 0 10px;
  font-family: var(--hs-serif);
  font-size: 1.8rem;
  font-weight: 400;
}

.hs-value p {
  margin: 0;
  color: rgba(38, 28, 23, 0.62);
  font-size: 0.88rem;
}

.hs-itinerary {
  padding: clamp(86px, 10vw, 145px) 0;
  background: var(--hs-green);
  color: var(--hs-cream);
}

.hs-itinerary__grid {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  align-items: center;
  gap: clamp(55px, 9vw, 140px);
}

.hs-itinerary__steps {
  counter-reset: steps;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hs-itinerary__steps li {
  display: grid;
  grid-template-columns: 58px 1fr;
  align-items: center;
  gap: 18px;
  padding: 25px 0;
  border-bottom: 1px solid rgba(244, 235, 221, 0.16);
  color: rgba(244, 235, 221, 0.85);
  font-family: var(--hs-serif);
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.hs-itinerary__steps li::before {
  counter-increment: steps;
  color: var(--hs-orange-light);
  content: "0" counter(steps);
  font-family: var(--hs-sans);
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

/* Map / CTA */
.hs-map-preview {
  padding: clamp(86px, 10vw, 145px) 0;
  background: var(--hs-cream);
}

.hs-map-card {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  min-height: 520px;
  overflow: hidden;
  border-radius: calc(var(--hs-radius) + 4px);
  background: var(--hs-paper);
  box-shadow: var(--hs-shadow);
}

.hs-map-card__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(45px, 6vw, 82px);
}

.hs-map-card__visual {
  position: relative;
  overflow: hidden;
  background: #e8d9bf;
}

.hs-map-card__visual::before,
.hs-map-card__visual::after {
  position: absolute;
  width: 145%;
  height: 9px;
  background: rgba(255, 253, 248, 0.95);
  content: "";
  transform: rotate(32deg);
}

.hs-map-card__visual::before {
  top: 42%;
  left: -20%;
}

.hs-map-card__visual::after {
  top: 55%;
  left: -20%;
  transform: rotate(-25deg);
}

.hs-map-pin {
  position: absolute;
  z-index: 2;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 5px solid rgba(255, 253, 248, 0.82);
  border-radius: 50% 50% 50% 0;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  transform: rotate(-45deg);
  box-shadow: 0 10px 20px rgba(38, 28, 23, 0.18);
}

.hs-map-pin span {
  transform: rotate(45deg);
}

.hs-map-pin--r { top: 22%; left: 24%; background: var(--hs-burgundy); }
.hs-map-pin--g { top: 57%; left: 60%; background: var(--hs-olive); }
.hs-map-pin--b { top: 35%; left: 76%; background: var(--hs-mustard); }
.hs-map-pin--b { color: var(--hs-green); }

.hs-cta {
  padding: clamp(90px, 12vw, 180px) 0;
  text-align: center;
  background: var(--hs-burgundy);
  color: var(--hs-cream);
}

.hs-cta .hs-section-title {
  max-width: 950px;
  margin-inline: auto;
}

.hs-cta p {
  max-width: 650px;
  margin: 28px auto 38px;
  color: rgba(244, 235, 221, 0.78);
}

/* Archives and single pages */
.hs-page-hero {
  position: relative;
  display: grid;
  min-height: 550px;
  align-items: end;
  overflow: hidden;
  background: var(--hs-green);
  color: var(--hs-cream);
}

.hs-page-hero__image,
.hs-page-hero__image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hs-page-hero__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(13, 45, 36, 0.92), rgba(13, 45, 36, 0.2));
  content: "";
}

.hs-page-hero__content {
  position: relative;
  z-index: 2;
  padding-block: 110px 76px;
}

.hs-page-hero__content p:last-child {
  max-width: 660px;
  color: rgba(244, 235, 221, 0.8);
}

.hs-archive {
  padding: clamp(75px, 9vw, 125px) 0;
}

.hs-empty {
  padding: 55px;
  border: 1px solid var(--hs-beige);
  border-radius: var(--hs-radius);
  background: var(--hs-cream);
  text-align: center;
}

.hs-detail {
  padding: clamp(80px, 9vw, 135px) 0;
}

.hs-detail__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: clamp(50px, 8vw, 110px);
}

.hs-prose {
  font-size: 1.03rem;
}

.hs-prose > *:first-child {
  margin-top: 0;
}

.hs-prose h2,
.hs-prose h3 {
  font-family: var(--hs-serif);
  font-weight: 400;
  line-height: 1.12;
}

.hs-prose h2 {
  margin-top: 2em;
  font-size: clamp(2rem, 4vw, 3.4rem);
}

.hs-prose h3 {
  margin-top: 1.7em;
  font-size: 1.8rem;
}

.hs-prose p,
.hs-prose li {
  color: rgba(38, 28, 23, 0.75);
}

.hs-prose a {
  color: var(--hs-burgundy);
}

.hs-detail-card {
  position: sticky;
  top: 118px;
  padding: 34px;
  border-radius: var(--hs-radius);
  background: var(--hs-cream);
}

.hs-detail-card h2 {
  margin: 0 0 24px;
  font-family: var(--hs-serif);
  font-size: 1.8rem;
  font-weight: 400;
}

.hs-practical-info {
  margin-top: 30px;
  padding: 30px 10px 10px;
  border-top: 1px solid rgba(38, 28, 23, 0.12);
}

.hs-detail-list {
  display: grid;
  gap: 20px;
  margin: 0;
}

.hs-detail-list div {
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(38, 28, 23, 0.1);
}

.hs-detail-list dt {
  color: var(--hs-burgundy);
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hs-detail-list dd {
  margin: 6px 0 0;
  color: rgba(38, 28, 23, 0.76);
}

.hs-menu {
  margin-top: 75px;
  padding-top: 65px;
  border-top: 1px solid var(--hs-beige);
}

.hs-menu-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 30px;
}

.hs-menu-nav a {
  padding: 9px 13px;
  border: 1px solid var(--hs-beige);
  border-radius: 999px;
  color: var(--hs-burgundy);
  background: var(--hs-cream);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.hs-menu-nav a:hover {
  border-color: var(--hs-burgundy);
}

.hs-menu__section {
  margin-top: 48px;
  scroll-margin-top: 120px;
}

.hs-menu__section h3 {
  margin: 0 0 18px;
  color: var(--hs-burgundy);
  font-family: var(--hs-serif);
  font-size: 2rem;
  font-weight: 400;
}

.hs-menu-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid var(--hs-beige);
}

.hs-menu-item h4 {
  margin: 0;
  font-family: var(--hs-serif);
  font-size: 1.3rem;
  font-weight: 400;
}

.hs-menu-item p {
  margin: 6px 0 0;
  color: rgba(38, 28, 23, 0.72);
  font-size: 0.87rem;
}

.hs-menu-item strong {
  white-space: nowrap;
  color: var(--hs-burgundy);
}

/* Quiet editorial restaurant menu. */
.hs-restaurant {
  --hs-restaurant-accent: var(--hs-burgundy);
}

.hs-restaurant--olive {
  --hs-restaurant-accent: var(--hs-olive);
}

.hs-restaurant--orange {
  --hs-restaurant-accent: var(--hs-orange);
}

.hs-editorial-hero {
  position: relative;
  padding: clamp(72px, 9vw, 125px) 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 18%, rgba(204, 139, 65, 0.16), transparent 24%),
    linear-gradient(135deg, #0b2a21, #17483a);
  color: var(--hs-cream);
}

.hs-editorial-hero::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 7px;
  background: var(--hs-restaurant-accent);
  content: "";
}

.hs-editorial-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(250px, 0.55fr);
  align-items: center;
  gap: clamp(48px, 8vw, 110px);
}

.hs-editorial-hero__copy {
  max-width: 790px;
}

.hs-editorial-hero .hs-title {
  max-width: 850px;
  font-size: clamp(3.25rem, 6.5vw, 7rem);
  text-wrap: balance;
}

.hs-editorial-hero__lead {
  max-width: 650px;
  margin: 28px 0 0;
  color: rgba(244, 235, 221, 0.76);
  font-size: clamp(1rem, 1.5vw, 1.18rem);
  text-wrap: pretty;
}

.hs-editorial-hero .hs-eyebrow,
.hs-editorial-hero .hs-detail-back {
  color: var(--hs-orange-light);
}

.hs-editorial-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 0;
  margin: 34px 0 0;
  padding: 0;
  list-style: none;
}

.hs-editorial-hero__meta li {
  display: inline-flex;
  align-items: center;
  color: rgba(244, 235, 221, 0.9);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hs-editorial-hero__meta li + li::before {
  margin: 0 13px;
  color: var(--hs-orange-light);
  content: "•";
}

.hs-editorial-hero__window {
  position: relative;
  min-height: 455px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(244, 235, 221, 0.2);
  border-radius: 180px 180px 24px 24px;
  background: var(--hs-green);
  box-shadow: 0 30px 80px rgba(3, 18, 13, 0.34);
}

.hs-editorial-hero__window::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 28%, rgba(8, 37, 29, 0.94) 88%);
  content: "";
}

.hs-editorial-hero__window img {
  width: 100%;
  height: 100%;
  min-height: 455px;
  object-fit: cover;
}

.hs-editorial-hero__window figcaption {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 110px 30px 28px;
  color: var(--hs-cream);
}

.hs-editorial-hero__window figcaption > span {
  color: var(--hs-orange-light);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.hs-editorial-hero__window figcaption strong {
  display: block;
  margin-top: 10px;
  color: var(--hs-cream);
  font-family: var(--hs-serif);
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
  font-weight: 400;
  line-height: 1.18;
}

.hs-restaurant-menu-section {
  padding: clamp(76px, 9vw, 132px) 0;
  background:
    linear-gradient(rgba(124, 45, 54, 0.025) 1px, transparent 1px),
    #fbf6ec;
  background-size: 100% 72px;
}

.hs-restaurant-menu-section .hs-menu {
  margin: 0;
  padding: 0;
  border-top: 0;
}

.hs-menu__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 36px;
  padding-bottom: 46px;
  border-bottom: 1px solid var(--hs-beige);
}

.hs-menu__stamp {
  display: grid;
  width: 112px;
  height: 112px;
  place-content: center;
  margin: 0;
  border: 1px solid var(--hs-restaurant-accent);
  border-radius: 50%;
  color: var(--hs-cream);
  background: var(--hs-restaurant-accent);
  text-align: center;
  box-shadow: 0 14px 35px rgba(124, 45, 54, 0.2);
}

.hs-menu__stamp strong {
  font-family: var(--hs-serif);
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 0.9;
}

.hs-menu__stamp span {
  margin-top: 8px;
  font-size: 0.69rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.hs-restaurant-menu-section .hs-menu-nav {
  position: sticky;
  z-index: 20;
  top: 84px;
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 0;
  padding: 10px;
  border: 1px solid var(--hs-beige);
  border-radius: 999px;
  background: rgba(255, 253, 248, 0.94);
  backdrop-filter: blur(15px);
  box-shadow: 0 14px 40px rgba(38, 28, 23, 0.08);
}

.hs-restaurant-menu-section .hs-menu-nav a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  color: var(--hs-restaurant-accent);
  background: transparent;
  font-size: 0.75rem;
  transition: color 160ms ease, background-color 160ms ease;
}

.hs-restaurant-menu-section .hs-menu-nav small {
  display: grid;
  min-width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  color: rgba(38, 28, 23, 0.64);
  background: var(--hs-cream);
  font-size: 0.68rem;
  letter-spacing: 0;
}

.hs-restaurant-menu-section .hs-menu-nav a:hover,
.hs-restaurant-menu-section .hs-menu-nav a:focus-visible {
  color: var(--hs-cream);
  background: var(--hs-restaurant-accent);
}

.hs-restaurant-menu-section .hs-menu-nav a:hover small,
.hs-restaurant-menu-section .hs-menu-nav a:focus-visible small {
  color: var(--hs-restaurant-accent);
  background: var(--hs-cream);
}

.hs-menu__groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(20px, 3vw, 32px);
  padding-top: 34px;
}

.hs-menu__groups--single .hs-menu__section {
  grid-column: 1 / -1;
  width: min(100%, 900px);
  justify-self: center;
}

.hs-menu__groups--single .hs-menu__items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(26px, 5vw, 54px);
}

.hs-restaurant-menu-section .hs-menu__section {
  margin: 0;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid var(--hs-beige);
  border-radius: 20px;
  background: rgba(255, 253, 248, 0.92);
  scroll-margin-top: 150px;
  box-shadow: 0 14px 40px rgba(38, 28, 23, 0.055);
}

.hs-menu__section-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin-bottom: 6px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--hs-restaurant-accent);
}

.hs-menu__section-head > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  color: var(--hs-cream);
  background: var(--hs-restaurant-accent);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.hs-menu__section-head > small {
  color: #67564c;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hs-restaurant-menu-section .hs-section-title em {
  color: var(--hs-restaurant-accent);
}

.hs-restaurant-menu-section .hs-menu__section h3 {
  margin: 0;
  color: var(--hs-restaurant-accent);
  font-size: clamp(1.65rem, 2.6vw, 2.25rem);
  letter-spacing: -0.025em;
  line-height: 1.05;
}

.hs-restaurant-menu-section .hs-menu-item {
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  padding: 20px 0;
}

.hs-restaurant-menu-section .hs-menu-item:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.hs-restaurant-menu-section .hs-menu-item h4 {
  font-size: clamp(1.24rem, 1.7vw, 1.48rem);
  letter-spacing: -0.012em;
  line-height: 1.18;
}

.hs-restaurant-menu-section .hs-menu-item p {
  margin-top: 7px;
  color: rgba(38, 28, 23, 0.63);
  font-size: 0.96rem;
  line-height: 1.55;
}

.hs-restaurant-menu-section .hs-menu-item strong {
  color: var(--hs-restaurant-accent);
  font-variant-numeric: tabular-nums;
}

.hs-menu-item__marker {
  padding-top: 4px;
  color: var(--hs-restaurant-accent);
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.07em;
}

.hs-restaurant-notes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 28px;
  margin-top: clamp(64px, 9vw, 118px);
  padding-top: clamp(54px, 8vw, 92px);
  border-top: 1px solid var(--hs-beige);
}

.hs-restaurant-notes--single > * {
  grid-column: 1 / -1;
}

.hs-restaurant-close {
  display: grid;
  grid-template-columns: minmax(32px, 1fr) auto minmax(32px, 1fr);
  align-items: center;
  gap: 24px;
  margin-top: clamp(68px, 9vw, 120px);
}

.hs-restaurant-close > span {
  height: 1px;
  background: var(--hs-beige);
}

.hs-restaurant-close .hs-link-arrow {
  color: var(--hs-restaurant-accent);
}

.hs-restaurant-story,
.hs-restaurant-notes .hs-practical-info {
  margin: 0;
  padding: clamp(34px, 5vw, 58px);
  border-radius: var(--hs-radius);
}

.hs-restaurant-story {
  border: 1px solid var(--hs-beige);
  background: var(--hs-cream);
}

.hs-restaurant-story h2,
.hs-restaurant-notes .hs-practical-info h2 {
  margin: 0 0 24px;
  font-family: var(--hs-serif);
  font-size: clamp(2rem, 3.6vw, 3.4rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 1.02;
}

.hs-restaurant-story h3 {
  margin: 28px 0 10px;
  font-family: var(--hs-serif);
  font-size: 1.6rem;
  font-weight: 400;
}

.hs-chef-profile {
  margin-top: 38px;
  padding-top: 30px;
  border-top: 1px solid rgba(124, 45, 54, 0.24);
}

.hs-chef-profile__label {
  margin: 0 0 8px;
  color: var(--hs-burgundy);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hs-chef-profile h3 {
  margin-top: 0;
}

.hs-restaurant-notes .hs-practical-info {
  border-top: 0;
  background: var(--hs-green);
  color: var(--hs-cream);
}

.hs-restaurant-notes .hs-practical-info .hs-detail-list div {
  border-color: rgba(244, 235, 221, 0.14);
}

.hs-restaurant-notes .hs-practical-info .hs-detail-list dt {
  color: var(--hs-orange-light);
}

.hs-restaurant-notes .hs-practical-info .hs-detail-list dd,
.hs-restaurant-notes .hs-practical-info .hs-detail-list a {
  color: rgba(244, 235, 221, 0.78);
}

.hs-link-arrow--light {
  color: var(--hs-cream);
}

/* Footer */
.hs-footer {
  padding: 80px 0 26px;
  background: #08251d;
  color: var(--hs-cream);
}

.hs-footer__grid {
  display: grid;
  grid-template-columns: 1.5fr 0.7fr 0.8fr;
  gap: clamp(45px, 8vw, 110px);
}

.hs-footer__brand p {
  max-width: 390px;
  margin: 24px 0 0;
  color: rgba(244, 235, 221, 0.62);
  font-size: 0.9rem;
}

.hs-footer__label {
  margin: 0 0 20px;
  color: var(--hs-orange-light);
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hs-footer__links {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  color: rgba(244, 235, 221, 0.75);
  font-size: 0.87rem;
  list-style: none;
}

.hs-footer__links a {
  text-decoration: none;
}

.hs-footer__links a:hover {
  color: var(--hs-orange-light);
}

.hs-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  margin-top: 70px;
  padding-top: 22px;
  border-top: 1px solid rgba(244, 235, 221, 0.13);
  color: rgba(244, 235, 221, 0.7);
  font-size: 0.65rem;
  letter-spacing: 0.06em;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  z-index: 10000;
  width: auto;
  height: auto;
  padding: 12px 16px;
  overflow: visible;
  clip: auto;
  color: var(--hs-green);
  background: var(--hs-cream);
}

.hs-hero .hs-eyebrow--orange,
.hs-hero .hs-title em,
.hs-itinerary .hs-eyebrow--orange,
.hs-itinerary .hs-section-title em,
.hs-cta .hs-eyebrow--orange,
.hs-cta .hs-section-title em,
.hs-listing-section--green .hs-section-title em,
.hs-restaurant-notes .hs-eyebrow--orange,
.hs-intro__quote small,
.hs-brand--light .hs-brand__sun,
.hs-brand--light .hs-brand__type small,
.hs-link-arrow--light::after {
  color: var(--hs-orange-light);
  fill: var(--hs-orange-light);
}

#gardens,
#restaurants,
#restaurants-list,
#bazaar,
#visit,
#map {
  scroll-margin-top: 100px;
}

@media (max-width: 1100px) {
  .hs-nav__list {
    gap: 15px;
  }

  .hs-nav__list a {
    font-size: 0.68rem;
  }

  .hs-card-grid,
  .hs-experience-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hs-experience-card:last-child {
    grid-column: 1 / -1;
    min-height: 440px;
  }

  .hs-value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hs-value:nth-child(3) {
    border-left: 0;
    border-top: 1px solid var(--hs-beige);
  }

  .hs-value:nth-child(4) {
    border-top: 1px solid var(--hs-beige);
  }
}

@media (max-width: 960px) {
  .hs-nav-toggle {
    display: flex;
  }

  .hs-nav {
    position: fixed;
    z-index: 999;
    top: 84px;
    right: 0;
    left: 0;
    display: none;
    height: calc(100dvh - 84px);
    align-items: flex-start;
    flex-direction: column;
    padding: 44px 24px;
    overflow-y: auto;
    background: var(--hs-paper);
    overscroll-behavior: contain;
  }

  .hs-menu-open {
    overflow: hidden;
  }

  .hs-menu-open .hs-nav {
    display: flex;
  }

  .hs-menu-open .hs-nav-toggle__icon i:first-child {
    transform: translateY(4px) rotate(45deg);
  }

  .hs-menu-open .hs-nav-toggle__icon i:last-child {
    transform: translateY(-4px) rotate(-45deg);
  }

  .hs-nav__list {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }

  .hs-nav__list a {
    padding: 16px 0;
    border-bottom: 1px solid var(--hs-beige);
    font-family: var(--hs-serif);
    font-size: 1.7rem;
    font-weight: 400;
  }

  .hs-language {
    margin-top: 20px;
    font-size: 0.9rem;
  }

  .hs-intro__grid,
  .hs-itinerary__grid,
  .hs-detail__grid {
    grid-template-columns: 1fr;
  }

  .hs-restaurant-notes {
    grid-template-columns: 1fr;
  }

  .hs-restaurant-notes--single .hs-restaurant-story {
    grid-column: auto;
  }

  .hs-menu__groups {
    grid-template-columns: 1fr;
  }

  .hs-menu__groups--single .hs-menu__items {
    grid-template-columns: 1fr;
  }

  .hs-editorial-hero__grid {
    grid-template-columns: 1fr;
  }

  .hs-editorial-hero__window {
    width: 100%;
    min-height: 340px;
    aspect-ratio: 16 / 7;
    border-radius: 160px 160px 24px 24px;
  }

  .hs-editorial-hero__window img {
    min-height: 340px;
  }

  .hs-menu-card--featured {
    min-height: 520px;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(340px, 0.9fr) minmax(0, 1.1fr);
  }

  .hs-menu-card--featured .hs-menu-card__cover {
    min-height: 340px;
    border-right: 0;
    border-bottom: 1px solid rgba(244, 235, 221, 0.18);
  }

  .hs-intro__copy {
    max-width: 720px;
  }

  .hs-bazaar__grid,
  .hs-map-card {
    grid-template-columns: 1fr;
  }

  .hs-bazaar__media,
  .hs-map-card__visual {
    min-height: 430px;
  }

  .hs-detail-card {
    position: static;
  }

  .hs-footer__grid {
    grid-template-columns: 1.2fr 0.8fr;
  }

  .hs-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 820px) and (min-width: 681px) {
  .hs-card-grid--menus {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .hs-container {
    width: min(calc(100% - 32px), var(--hs-container));
  }

  .hs-brand__type strong {
    font-size: 0.92rem;
  }

  .hs-brand__type small {
    font-size: 0.32rem;
  }

  .hs-brand__mark {
    width: 39px;
    height: 39px;
    flex-basis: 39px;
  }

  .hs-header__inner {
    min-height: 74px;
  }

  .hs-nav {
    top: 74px;
    height: calc(100dvh - 74px);
  }

  .hs-hero,
  .hs-hero__inner {
    min-height: 760px;
  }

  .hs-hero__image::after {
    background: linear-gradient(0deg, rgba(13, 45, 36, 0.95) 5%, rgba(13, 45, 36, 0.66) 92%);
  }

  .hs-hero__inner {
    align-items: end;
    padding-block: 90px 230px;
  }

  .hs-hero__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .hs-button {
    width: 100%;
  }

  .hs-season-bar__inner {
    grid-template-columns: 1fr;
  }

  .hs-season-bar__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    border-top: 1px solid rgba(244, 235, 221, 0.14);
    border-left: 0;
  }

  .hs-season-bar__item strong {
    margin-top: 0;
    text-align: right;
  }

  .hs-section-head {
    align-items: flex-start;
    flex-direction: column;
    margin-bottom: 38px;
  }

  .hs-intro__media {
    min-height: 470px;
  }

  .hs-intro__media img {
    width: 92%;
    height: 410px;
  }

  .hs-intro__quote {
    padding: 26px;
  }

  .hs-card-grid,
  .hs-experience-grid,
  .hs-value-grid {
    grid-template-columns: 1fr;
  }

  .hs-menu-card {
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .hs-menu-card__cover,
  .hs-menu-card--featured .hs-menu-card__cover {
    min-height: 260px;
    border-right: 0;
    border-bottom: 1px solid var(--hs-beige);
  }

  .hs-menu-card--featured {
    min-height: 0;
    grid-template-rows: auto 1fr;
  }

  .hs-menu-card__content {
    padding: 24px;
  }

  .hs-menu-card__content > p {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .hs-menu-card__sections {
    display: none;
  }

  .hs-menu-card h3 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .hs-editorial-hero__grid,
  .hs-menu__header,
  .hs-menu__groups {
    grid-template-columns: 1fr;
  }

  .hs-editorial-hero__window {
    width: 100%;
    min-height: 300px;
    aspect-ratio: 4 / 3;
    border-radius: 120px 120px 20px 20px;
  }

  .hs-editorial-hero__window img {
    min-height: 300px;
  }

  .hs-menu__stamp {
    width: 96px;
    height: 96px;
  }

  .hs-editorial-hero__meta {
    display: grid;
    gap: 9px;
  }

  .hs-editorial-hero__meta li + li::before {
    margin: 0 9px 0 0;
  }

  .hs-restaurant-close {
    grid-template-columns: 1fr;
    gap: 18px;
    text-align: center;
  }

  .hs-restaurant-close > span {
    display: none;
  }

  .hs-restaurant-menu-section .hs-menu-nav {
    top: 74px;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-radius: 18px;
    scrollbar-width: thin;
  }

  .hs-restaurant-menu-section .hs-menu-nav a {
    flex: 0 0 auto;
  }

  .hs-restaurant-menu-section .hs-menu__section {
    padding: 24px 18px;
    border-radius: 16px;
  }

  .hs-menu__section-head {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .hs-menu__section-head > small {
    grid-column: 2;
  }

  .hs-restaurant-menu-section .hs-menu-item {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .hs-restaurant-menu-section .hs-menu-item > strong {
    grid-column: 2;
  }

  .hs-experience-card,
  .hs-experience-card:last-child {
    grid-column: auto;
    min-height: 450px;
  }

  .hs-value {
    min-height: 220px;
    border-top: 1px solid var(--hs-beige);
    border-left: 0;
  }

  .hs-value:first-child {
    border-top: 0;
  }

  .hs-bazaar__media,
  .hs-map-card__visual {
    min-height: 340px;
  }

  .hs-bazaar__copy,
  .hs-map-card__copy {
    padding: 38px 26px 44px;
  }

  .hs-footer__grid {
    grid-template-columns: 1fr;
  }

  .hs-footer__brand {
    grid-column: auto;
  }

  .hs-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Standalone cPanel build. */
[hidden] {
  display: none !important;
}

.hs-static-loading,
.hs-static-error {
  padding: clamp(64px, 10vw, 120px) 0;
  text-align: center;
}

.hs-static-error {
  min-height: 55vh;
}

.hs-static-error p {
  max-width: 620px;
  margin: 18px auto 28px;
  color: rgba(38, 28, 23, 0.68);
}

.hs-detail-back {
  display: inline-flex;
  margin-bottom: 26px;
  color: var(--hs-burgundy);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.hs-detail-back::before {
  margin-right: 9px;
  content: "←";
}

.hs-language-notice {
  max-width: 690px;
  margin: 20px 0 0;
  color: rgba(38, 28, 23, 0.72);
  font-size: 0.82rem;
}

.hs-footer__links a {
  color: inherit;
}

.hs-menu-card__content .hs-card__meta {
  margin-top: 18px;
}

.hs-menu-card__content .hs-card__meta + .hs-link-arrow {
  margin-top: 22px;
}

.hs-noscript {
  padding: 16px 24px;
  color: #fff;
  background: var(--hs-burgundy);
  text-align: center;
}

/* Approved Harvest 2026 menu system. */
@font-face{font-family:"Menu Serif";src:url("../fonts/menu-serif-latin.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Menu Serif";src:url("../fonts/menu-serif-bold-latin.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Menu Sans";src:url("../fonts/menu-sans-latin.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Menu Sans";src:url("../fonts/menu-sans-bold-latin.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--hm-paper:#f7f0e3;--hm-cream:#f1e6d3;--hm-forest:#24483b;--hm-ink:#272d27;--hm-muted:#626659;--hm-line:#d9ceba;--hm-rust:#994323;--hm-serif:"Menu Serif",Georgia,serif;--hm-sans:"Menu Sans",Arial,sans-serif}
[hidden]{display:none!important}
.hs-header{background:var(--hm-forest);border-color:rgba(241,230,211,.16);color:var(--hm-cream)}
.hs-header .hs-brand__type strong{color:var(--hm-cream);font-size:1.3rem}
.hs-header .hs-brand__type small{font-size:.58rem;color:#e8c477;letter-spacing:.08em}
.hs-header .hs-brand__mark{color:rgba(241,230,211,.14)}
.hs-header .hs-brand__sun{fill:#d6a33a}
.hs-header .hs-nav__list a,.hs-header .hs-language a,.hs-header .hs-nav-toggle{color:var(--hm-cream)}
.hs-header .hs-nav-toggle__icon i{background:var(--hm-cream)}
.hs-header .hs-nav__list a:hover,.hs-header .hs-language a:hover{color:#e8c477}
.hm-directory{padding:86px 0 104px;background:#fffdf7;font-family:var(--hm-sans)}
.hm-directory-heading{max-width:850px}
.hm-directory .hs-eyebrow,.hm-detail .hs-eyebrow{font-family:var(--hm-sans);font-size:.8rem;letter-spacing:.1em;line-height:1.5;color:var(--hm-rust)}
.hm-directory h2{font-family:var(--hm-serif);font-size:clamp(2.1rem,4vw,3.75rem);line-height:1.18;letter-spacing:-.035em;font-weight:400;margin:0 0 22px;color:var(--hm-forest)}
.hm-directory h2 em{font-style:normal}
.hm-directory-heading>p:last-child{font-size:1rem;line-height:1.65;color:var(--hm-muted);margin-bottom:0}
.hm-directory-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:34px 0 32px;flex-wrap:wrap}
.hm-filters{display:flex;flex-wrap:wrap;gap:8px}
.hm-filters button{min-height:46px;padding:11px 19px;border:1px solid var(--hm-line);background:var(--hm-cream);color:var(--hm-forest);font-size:.875rem;line-height:1.45;cursor:pointer;border-radius:0}
.hm-filters button[aria-pressed="true"]{background:var(--hm-forest);color:var(--hm-cream);border-color:var(--hm-forest)}
.hm-directory-count{margin:0;color:var(--hm-muted);font-size:.875rem}
.hm-restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.hm-restaurant-card{min-width:0;background:var(--hm-paper);border:1px solid var(--hm-line);border-top:5px solid var(--hm-forest)}
.hm-restaurant-card:nth-child(3n+2){border-top-color:#7a2738}
.hm-restaurant-card:nth-child(3n){border-top-color:#633b2d}
.hm-restaurant-card>a{min-height:384px;display:flex;flex-direction:column;align-items:flex-start;padding:29px 28px 23px;color:var(--hm-ink);text-decoration:none}
.hm-card-kicker{font-size:.75rem;color:var(--hm-rust);line-height:1.5;letter-spacing:.06em;font-weight:700;text-transform:uppercase}
.hm-restaurant-card :is(h2,h3){font-family:var(--hm-serif);font-size:clamp(1.55rem,2.35vw,2rem);font-weight:400;letter-spacing:-.025em;line-height:1.2;color:var(--hm-forest);margin:26px 0 12px;overflow-wrap:anywhere}
.hm-card-place{font-size:.8rem;line-height:1.55;color:var(--hm-muted);margin:0 0 28px}
.hm-card-highlight{font-size:1rem;font-family:var(--hm-serif);font-weight:700;line-height:1.5;margin:0 0 29px;overflow-wrap:anywhere}
.hm-card-count{margin-top:auto;font-size:.875rem;line-height:1.5;color:var(--hm-muted)}
.hm-card-link{width:100%;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--hm-line);padding-top:18px;margin-top:22px;font-size:.875rem;line-height:1.5;font-weight:700;color:var(--hm-forest)}
.hm-restaurant-card:has(a:hover){border-color:#8a987f}
.hm-card-link>span{transition:transform .2s}
.hm-restaurant-card a:hover .hm-card-link>span{transform:translateX(4px)}
.hm-detail{font-family:var(--hm-sans);background:var(--hm-paper);color:var(--hm-ink)}
.hm-detail-shell{max-width:1080px}
.hm-detail-header{padding:43px 0 32px}
.hm-back{display:inline-flex;align-items:center;gap:10px;font-size:.875rem;color:var(--hm-muted);text-decoration:none;min-height:40px;margin-bottom:30px}
.hm-detail-header .hs-eyebrow{margin:0 0 18px}
.hm-detail-header h1{font-family:var(--hm-serif);font-size:clamp(2.1rem,5.4vw,4rem);font-weight:400;letter-spacing:-.04em;line-height:1.16;margin:0;overflow-wrap:anywhere;color:var(--hm-forest)}
.hm-detail-location{color:var(--hm-rust);font-size:.95rem;margin:18px 0 0;line-height:1.6}
.hm-detail-nav{position:sticky;z-index:20;top:84px;background:var(--hm-paper);border-top:1px solid var(--hm-line);border-bottom:1px solid var(--hm-line)}
.hm-detail-nav-inner{display:flex;align-items:stretch;gap:34px}
.hm-detail-nav a{display:flex;align-items:center;min-height:58px;padding:12px 0;color:var(--hm-muted);font-size:.95rem;text-decoration:none;line-height:1.4}
.hm-detail-nav a:hover{color:var(--hm-forest)}
.hm-detail-nav .hm-detail-current{font-weight:700;color:var(--hm-forest);border-bottom:2px solid var(--hm-forest)}
.hm-detail-nav .hm-pdf-link{margin-left:auto;color:var(--hm-forest);gap:10px;font-size:.875rem}
.hm-menu-section{padding:34px 0 74px}
.hm-menu-topline{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin:0 0 22px}
.hm-menu-topline h2{font-family:var(--hm-sans);font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;line-height:1.5;margin:0;color:#633b2d;scroll-margin-top:178px}
.hm-menu-topline>span{font-size:.8rem;color:var(--hm-muted)}
.hm-category-nav{display:flex;flex-wrap:wrap;gap:9px 23px;margin:0 0 40px}
.hm-category-nav a{font-size:.875rem;min-height:32px;display:flex;align-items:center;color:var(--hm-muted);text-decoration-color:var(--hm-line)}
.hm-menu-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:66px;row-gap:44px;align-items:start}
.hm-menu-group{min-width:0;scroll-margin-top:172px}
.hm-group-heading{display:flex;align-items:baseline;gap:20px;border-bottom:1px solid var(--hm-line);padding-bottom:14px;margin-bottom:25px}
.hm-group-heading>span{color:var(--hm-rust);font-size:.8rem;font-weight:700}
.hm-group-heading h3{font-family:var(--hm-sans);color:var(--hm-forest);text-transform:uppercase;font-weight:700;font-size:.875rem;line-height:1.5;letter-spacing:.05em;margin:0}
.hm-dish+.hm-dish{margin-top:25px}
.hm-dish-name{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.hm-dish h4{font-family:var(--hm-serif);font-weight:700;line-height:1.4;font-size:1.11rem;margin:0;overflow-wrap:anywhere}
.hm-dish strong{font-family:var(--hm-sans);flex:0 0 auto;font-size:.875rem;line-height:1.5;font-weight:700;color:#7a2738;white-space:nowrap}
.hm-dish p{font-size:1rem;line-height:1.7;color:var(--hm-muted);margin:9px 0 0;overflow-wrap:anywhere}
.hm-season-image{height:180px;margin-top:54px;overflow:hidden}
.hm-season-image img{width:100%;height:100%;object-fit:cover;object-position:50% 54%}
.hm-menu-columns--cafe{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(180px,.7fr);gap:64px}
.hm-menu-columns--cafe .hm-menu-groups{grid-template-columns:1fr}
.hm-cafe-image{margin:0;align-self:start;position:sticky;top:171px}
.hm-cafe-image img{width:100%;height:540px;object-fit:cover;object-position:70% 45%}
.hm-cafe-image figcaption{background:var(--hm-forest);color:var(--hm-cream);padding:16px 20px;font-size:.875rem}
.hm-story-section{border-top:1px solid var(--hm-line);padding:76px 0 84px;background:var(--hm-cream);scroll-margin-top:140px}
.hm-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.hm-story-intro h2{font-family:var(--hm-serif);font-size:clamp(2rem,3.8vw,3.2rem);font-weight:400;line-height:1.15;letter-spacing:-.03em;color:var(--hm-forest);margin:0 0 25px}
.hm-story-intro>p:not(.hs-eyebrow){font-size:1rem;line-height:1.8;color:var(--hm-muted)}
.hm-chef{background:var(--hm-forest);color:var(--hm-cream);padding:32px}
.hm-chef .hs-eyebrow{color:#e8c477;font-size:.75rem}
.hm-chef h3{font-family:var(--hm-serif);font-size:1.75rem;line-height:1.3;font-weight:400;margin:0 0 20px;overflow-wrap:anywhere}
.hm-chef>p:last-child{font-size:1rem;line-height:1.8;margin-bottom:0;color:var(--hm-cream)}
.hm-farm{margin-top:28px}
.hm-farm h3{font-family:var(--hm-sans);font-size:.8rem;font-weight:700;text-transform:uppercase;color:var(--hm-rust);letter-spacing:.08em}
.hm-farm p{font-size:1rem;line-height:1.8;color:var(--hm-muted)}
.hm-visit{padding-block:50px;display:flex;align-items:center;flex-wrap:wrap;gap:20px 30px}
.hm-visit h2{font-family:var(--hm-serif);font-size:1.8rem;font-weight:400}
.hm-detail-end{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:35px;font-size:.875rem;flex-wrap:wrap}
.hm-detail-end .hs-link-arrow{font-size:.875rem}
@media(min-width:961px) and (max-width:1180px){.hs-header .hs-brand__type strong{font-size:1.13rem}.hs-nav{gap:15px}.hs-nav__list{gap:13px}.hs-nav__list a{font-size:.8rem}}
@media(max-width:960px){.hs-header .hs-nav{background:var(--hm-forest)}.hs-header .hs-nav__list a{font-size:1.125rem}.hm-restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.hm-menu-groups{column-gap:36px}.hm-story-grid{gap:34px}.hm-menu-columns--cafe{gap:32px}}
@media(max-width:640px){
 .hs-header__inner{min-height:72px}.hs-header .hs-brand__mark{width:36px;height:36px;flex-basis:36px}.hs-header .hs-brand__type strong{font-size:1.05rem}.hs-header .hs-brand__type small{font-size:.49rem}.hs-header .hs-nav{top:72px;height:calc(100dvh - 72px)}
 .hm-directory{padding:52px 0 66px}.hm-directory-heading .hs-eyebrow{font-size:.75rem}.hm-directory h2{font-size:2rem;line-height:1.25;letter-spacing:-.04em}.hm-directory-tools{margin:26px 0;gap:14px}.hm-directory-count{font-size:.8rem}.hm-filters{gap:7px}.hm-filters button{padding:10px 12px;font-size:.85rem;min-height:44px}.hm-restaurant-grid{grid-template-columns:1fr;gap:19px}.hm-restaurant-card>a{min-height:305px;padding:25px 24px 22px}.hm-restaurant-card :is(h2,h3){font-size:1.85rem;margin-top:19px}.hm-card-place{margin-bottom:21px}.hm-card-highlight{margin-bottom:23px}.hm-card-link{margin-top:18px;padding-top:15px}
 .hm-detail-header{padding:20px 0 25px}.hm-back{margin-bottom:20px;font-size:.875rem}.hm-detail-header .hs-eyebrow{font-size:.75rem;margin-bottom:12px}.hm-detail-header h1{font-size:2rem;line-height:1.2;letter-spacing:-.04em}.hm-detail-location{font-size:.875rem;margin-top:12px}.hm-detail-nav{top:72px}.hm-detail-nav-inner{gap:27px}.hm-detail-nav a{min-height:53px;font-size:.875rem}.hm-detail-nav .hm-pdf-link{font-size:.8rem}
 .hm-menu-section{padding:26px 0 40px}.hm-menu-topline{gap:12px;align-items:flex-start}.hm-menu-topline h2{font-size:.8rem;scroll-margin-top:153px}.hm-menu-topline>span{font-size:.75rem;text-align:right;max-width:120px}.hm-category-nav{gap:6px 18px;margin-bottom:29px}.hm-category-nav a{font-size:.875rem}.hm-menu-groups{grid-template-columns:1fr;gap:38px}.hm-menu-group{scroll-margin-top:152px}.hm-group-heading{margin-bottom:22px;padding-bottom:12px}.hm-dish+.hm-dish{margin-top:24px}.hm-dish h4{font-size:1.12rem;line-height:1.45}.hm-dish p{font-size:1rem;line-height:1.75}.hm-dish-name{gap:12px;flex-wrap:wrap}.hm-dish-name h4{flex:1 1 190px}.hm-dish strong{font-size:.875rem}.hm-season-image{height:125px;margin-top:37px}.hm-menu-columns--cafe{grid-template-columns:1fr;gap:32px}.hm-cafe-image{position:static}.hm-cafe-image img{height:180px;object-position:50% 54%}.hm-cafe-image figcaption{font-size:.8rem;padding:12px 16px}
 .hm-story-section{padding:46px 0;scroll-margin-top:142px}.hm-story-grid{grid-template-columns:1fr;gap:30px}.hm-story-intro h2{font-size:2rem}.hm-chef{padding:26px 24px}.hm-chef h3{font-size:1.6rem}.hm-visit{padding-block:32px}.hm-detail-end{padding-block:28px}
}
@media(prefers-reduced-motion:reduce){.hm-card-link>span{transition:none}}
@media print{.hs-header,.hs-footer,.hm-detail-nav,.hm-category-nav,.hm-detail-end,.hm-back{display:none!important}.hm-detail-header{padding-top:0}.hm-detail-shell{width:100%;max-width:none}.hm-menu-section{padding-top:0}.hm-menu-groups{grid-template-columns:1fr 1fr;gap:28px}.hm-menu-group,.hm-dish,.hm-chef{break-inside:avoid}.hm-story-section{break-before:page}.hm-story-grid{display:block}.hm-chef{margin-top:30px}.hm-season-image{height:110px}}

/* Faster menu browsing and verified location links. */
:root{--hm-header-height:84px}
html{scroll-padding-top:calc(var(--hm-header-height) + 18px)}
.hs-header{backdrop-filter:none}
.hs-header__inner{height:auto;min-height:var(--hm-header-height)}
.hs-header .hs-brand__type small{font-size:.7rem;letter-spacing:.035em}
.hs-nav__list a,.hs-header .hs-language a{font-size:.875rem}
.hs-header .hs-nav__list a{min-height:44px;display:flex;align-items:center}
.hs-hero,.hs-hero__inner{min-height:620px}
.hs-hero__inner{padding-block:76px 145px}
.hs-title{line-height:1.08;letter-spacing:-.035em}
.hs-hero__lead{margin-top:22px}
.hs-hero__actions{margin-top:28px}
.hs-eyebrow{font-size:.8125rem;letter-spacing:.1em;line-height:1.45}
.hs-season-bar__item span{font-size:.75rem;letter-spacing:.075em}
.hm-directory{padding-block:64px 76px}
.hm-directory-heading{max-width:780px}
.hm-directory h2{font-size:clamp(2rem,3.4vw,3rem);margin-bottom:16px}
.hm-directory-tools{margin-block:26px}
.hm-restaurant-grid{gap:20px}
.hm-restaurant-card{display:flex;flex-direction:column;min-width:0}
.hm-card-main{padding:23px 24px 18px;flex:1}
.hm-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}
.hm-card-count{font-size:.8125rem;white-space:nowrap;margin:0}
.hm-restaurant-card :is(h2,h3){font-size:1.65rem;line-height:1.25;margin:19px 0 12px}
.hm-restaurant-card :is(h2,h3) a{text-decoration:none}
.hm-restaurant-card :is(h2,h3) a:hover{text-decoration:underline}
.hm-card-place{font-size:.875rem;line-height:1.6;margin:0 0 17px}
.hm-card-highlight{font-size:1rem;line-height:1.5;margin:0}
.hm-card-actions{margin:0 24px;padding:8px 0 12px;border-top:1px solid var(--hm-line);display:flex;align-items:center;justify-content:space-between;gap:16px}
.hm-card-actions>a{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--hm-forest);font-size:.875rem;text-decoration:none;font-weight:700}
.hm-card-actions>a:hover{text-decoration:underline}
.hm-card-actions>a:last-child:not(:first-child){color:var(--hm-muted);font-weight:400}
.hm-detail-map{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.875rem;color:var(--hm-forest);margin-top:4px}
.hm-detail-nav{top:var(--hm-header-height)}
.hm-detail-nav-inner{flex-wrap:wrap;column-gap:28px}
.hm-detail-nav a{min-height:54px}
.hm-category-nav a{min-height:44px}
.hm-locations{padding:64px 0 76px;background:var(--hm-cream);font-family:var(--hm-sans);color:var(--hm-ink)}
.hm-locations-heading{max-width:850px;margin-bottom:32px}
.hm-locations-heading h2{font-family:var(--hm-serif);font-size:clamp(2rem,3.4vw,3rem);line-height:1.22;color:var(--hm-forest)}
.hm-locations-heading h2 em{color:var(--hm-forest)}
.hm-locations-heading>p:last-child{font-size:1rem;color:var(--hm-muted);line-height:1.65;margin:20px 0 0}
.hm-location-card{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(0,1.5fr);background:var(--hm-paper);border:1px solid var(--hm-line)}
.hm-location-panel{padding:32px;align-self:start}
.hm-location-panel label{display:block;font-size:.875rem;font-weight:700;color:var(--hm-forest);margin-bottom:10px}
.hm-location-panel select{display:block;width:100%;max-width:100%;height:auto;min-height:48px;border:1px solid #8d9b8a;background:#fffdf7;color:var(--hm-forest);padding:12px 34px 12px 12px;border-radius:0;font-family:var(--hm-sans);font-size:1rem;line-height:1.5}
.hm-location-panel h3{font-family:var(--hm-serif);font-size:1.8rem;font-weight:400;line-height:1.3;color:var(--hm-forest);margin:30px 0 14px;overflow-wrap:anywhere}
.hm-location-address{font-size:1rem;line-height:1.65;color:var(--hm-muted);margin:0 0 18px}
.hm-location-note{font-size:.875rem;line-height:1.65;color:#633b2d;border-left:2px solid var(--hm-line);padding-left:14px;margin:0 0 22px}
.hm-location-panel .hs-button{font-family:var(--hm-sans);font-size:.875rem;min-height:48px;gap:15px;text-transform:none;letter-spacing:0;width:100%;justify-content:center;padding:13px 15px}
.hm-location-menu{display:flex;align-items:center;justify-content:space-between;min-height:48px;font-size:.875rem;color:var(--hm-forest);margin-top:9px}
.hm-location-frame{display:block;border:0;width:100%;height:100%;min-height:480px;background:#e1e5d9}
.hm-location-list{border-bottom:1px solid var(--hm-line);margin-top:18px}
.hm-location-list summary{min-height:48px;padding:15px 0;cursor:pointer;font-size:.875rem;font-weight:700;color:var(--hm-forest)}
.hm-location-list summary span{font-weight:400;margin-left:8px;color:var(--hm-muted)}
.hm-location-list ul{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.hm-location-list li{min-width:0;border-top:1px solid var(--hm-line)}
.hm-location-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;padding:16px 0;min-height:48px;text-decoration:none;color:var(--hm-forest);font-size:1rem;line-height:1.5}
.hm-location-list a>span:first-child{font-weight:700}
.hm-location-list small{grid-column:1;grid-row:2;font-size:.875rem;line-height:1.6;color:var(--hm-muted);margin-top:6px}
.hm-location-list a>span:last-child{grid-column:2;grid-row:1/3;align-self:center}
.hm-location-list a:hover>span:first-child{text-decoration:underline}
@media(min-width:961px) and (max-width:1180px){.hs-header .hs-nav__list a{font-size:.875rem}.hs-header .hs-brand__type strong{font-size:1.05rem}.hs-header .hs-brand__type small{font-size:.625rem}.hs-header .hs-nav{gap:14px}.hs-header .hs-nav__list{gap:12px}}
@media(max-width:960px){.hm-location-card{grid-template-columns:1fr}.hm-location-panel{padding:26px}.hm-location-frame{min-height:360px;height:360px}.hm-location-panel .hs-button{width:auto;display:inline-flex}.hm-location-menu{display:inline-flex;gap:24px;margin-left:22px}.hs-header .hs-nav__list a{font-size:1.2rem}.hs-hero,.hs-hero__inner{min-height:580px}}
@media(max-width:680px){
 :root{--hm-header-height:72px}.hs-header .hs-nav{top:var(--hm-header-height);height:calc(100dvh - var(--hm-header-height))}.hs-header .hs-brand__type small{font-size:.625rem}.hs-header .hs-brand__type strong{font-size:1rem}.hs-header__inner{gap:12px}.hs-header .hs-brand__mark{width:32px;height:32px;flex-basis:32px}
 .hs-hero{min-height:0}.hs-hero__inner{min-height:0;padding:54px 0 38px;align-items:center}.hs-hero .hs-title{font-size:clamp(2.4rem,10.5vw,3.4rem);line-height:1.12}.hs-hero__lead{font-size:1rem;line-height:1.65;margin-top:20px}.hs-hero__actions{margin-top:24px;gap:12px}.hs-hero__actions .hs-button{min-height:48px;font-size:.875rem;letter-spacing:.015em}.hs-season-bar{position:relative;background:rgba(13,45,36,.9);backdrop-filter:none}.hs-season-bar__item{padding:11px 0}.hs-season-bar__item span{font-size:.75rem}.hs-season-bar__item strong{font-size:.9375rem;line-height:1.5}
 .hm-directory,.hm-locations{padding-block:42px 50px}.hm-directory h2,.hm-locations-heading h2{font-size:2rem;line-height:1.25}.hm-directory-tools{gap:12px;margin-block:22px}.hm-filters button{font-size:.875rem}.hm-restaurant-grid{grid-template-columns:1fr;gap:16px}.hm-card-main{padding:20px 22px 16px}.hm-restaurant-card :is(h2,h3){font-size:1.7rem;margin:14px 0 10px}.hm-card-place{margin-bottom:12px}.hm-card-actions{margin-inline:22px;padding-block:5px 8px}.hm-card-kicker{font-size:.75rem}.hm-card-count{font-size:.8125rem}
 .hm-detail-nav-inner{column-gap:22px}.hm-detail-nav a,.hm-detail-nav .hm-pdf-link{font-size:.875rem}.hm-detail-nav .hm-pdf-link{gap:6px}.hm-menu-topline h2{font-size:.875rem}.hm-group-heading h3{font-size:.875rem}.hm-location-panel{padding:22px}.hm-location-panel h3{font-size:1.65rem;margin-top:24px}.hm-location-panel .hs-button{width:100%;display:flex}.hm-location-menu{display:flex;margin-left:0;margin-top:6px}.hm-location-frame{min-height:330px;height:330px}.hm-location-list ul{grid-template-columns:1fr}.hm-locations-heading{margin-bottom:25px}
}
@media print{.hm-locations,.hm-detail-map{display:none!important}}

/* A concise homepage, with restaurant discovery on its own page. */
.hm-home .hs-experiences,
.hm-home .hs-intro,
.hm-home .hs-itinerary {
  padding-block: 68px;
}
.hm-home .hs-section-title {
  font-size: clamp(2rem, 3.8vw, 3.3rem);
  line-height: 1.16;
}
.hm-home .hs-section-head { margin-bottom: 30px; }
.hm-home .hs-section-lead { margin-top: 18px; }
.hm-home .hs-experience-card { min-height: 440px; }
.hm-home .hs-experience-card__content { padding: 28px; }
.hm-home .hs-experience-card__number {
  font-size: .75rem;
  letter-spacing: .07em;
}
.hm-home .hs-experience-card h3 {
  font-size: clamp(1.9rem, 2.7vw, 2.7rem);
  line-height: 1.15;
}
.hm-home .hs-experience-card p {
  font-size: .9375rem;
  line-height: 1.6;
  color: #f1e6d3;
}
.hs-experience-card__action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 22px;
  padding-top: 17px;
  border-top: 1px solid rgba(241, 230, 211, .35);
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.5;
  color: #f1e6d3;
}
.hm-home-story .hs-intro__grid { gap: 64px; }
.hm-home-story .hs-intro__media { min-height: 0; }
.hm-home-story .hs-intro__media img {
  width: 100%;
  height: 390px;
  margin: 0;
  box-shadow: none;
}
.hm-home-story .hs-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  min-height: 44px;
  margin-top: 22px;
  font-size: .9375rem;
}
.hm-home-visit__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(250px, .7fr);
  align-items: center;
  gap: 64px;
}
.hm-home-visit .hs-section-lead { color: #e7e3d6; }
.hm-home-visit__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 26px;
  margin-top: 28px;
}
.hm-home-visit__actions .hs-button,
.hm-home .hs-hero__actions .hs-button {
  font-size: .875rem;
  text-transform: none;
  letter-spacing: 0;
}
.hm-home-visit__actions .hs-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-height: 44px;
  color: #f1e6d3;
  font-size: .875rem;
}
.hm-home-visit__facts { margin: 0; }
.hm-home-visit__facts > div {
  padding: 24px 0;
  border-bottom: 1px solid rgba(241, 230, 211, .25);
}
.hm-home-visit__facts dt {
  color: #e8c477;
  font-size: .8125rem;
}
.hm-home-visit__facts dd {
  margin: 8px 0 0;
  font-family: var(--hm-serif);
  font-size: 1.5rem;
  line-height: 1.4;
}
.hm-directory-page .hm-directory { padding-top: 32px; }
.hm-directory-page .hm-back { margin-bottom: 24px; }
.hm-directory-page .hm-directory h1 {
  font-family: var(--hm-serif);
  color: var(--hm-forest);
  font-size: clamp(2.2rem, 4.4vw, 3.5rem);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.035em;
  margin: 0 0 18px;
}
.hm-directory-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 24px;
}
.hm-directory-map {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--hm-forest);
  font-size: .875rem;
}
@media (max-width: 1100px) and (min-width: 681px) {
  .hm-home .hs-experience-card:last-child { min-height: 360px; }
}
@media (max-width: 960px) {
  .hm-home-story .hs-intro__grid,
  .hm-home-visit__grid { grid-template-columns: 1fr; gap: 32px; }
  .hm-home-visit__facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
  }
}
@media (max-width: 680px) {
  .hm-home .hs-experiences,
  .hm-home .hs-intro,
  .hm-home .hs-itinerary { padding-block: 44px; }
  .hm-home .hs-experience-grid { grid-template-columns: 1fr; gap: 18px; }
  .hm-home .hs-experience-card,
  .hm-home .hs-experience-card:last-child { min-height: 420px; grid-column: auto; }
  .hm-home .hs-experience-card__content { padding: 26px; }
  .hm-home-story .hs-intro__media img { height: 290px; }
  .hm-home-visit__facts { grid-template-columns: 1fr; gap: 0; }
  .hm-home-visit__facts > div { padding: 18px 0; }
  .hm-home-visit__facts dd { font-size: 1.35rem; }
  .hm-directory-page .hm-directory { padding-top: 20px; }
  .hm-directory-page .hm-back { margin-bottom: 18px; }
  .hm-directory-page .hm-directory h1 { font-size: 2.2rem; }
  .hm-directory-page .hm-directory-tools { align-items: flex-start; }
  .hm-directory-meta { width: 100%; justify-content: space-between; }
}

/* Editorial restaurant discovery and menu refinement. */
.hm-directory-page {
  background: #fffaf1;
}

/* Quiet restaurant field guide; scoped to the directory, not the menus. */
.hm-directory-page--editorial.hm-directory-page .hm-directory {
  padding-block: 32px 88px;
  background: #faf7ef;
}
.hm-directory-page--editorial.hm-directory-page .hm-directory::before { display: none; }
.hm-directory-page--editorial .hm-directory-heading__grid {
  grid-template-columns: minmax(0, 1.4fr) minmax(250px, .75fr);
  align-items: center;
  gap: clamp(36px, 6vw, 84px);
}
.hm-directory-page--editorial.hm-directory-page .hm-directory h1 {
  max-width: 710px;
  margin: 14px 0 22px;
  font-size: clamp(2.6rem, 4.7vw, 4.7rem);
  line-height: 1.07;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.hm-directory-page--editorial .hm-directory-heading__grid > div > p:last-of-type {
  max-width: 470px;
  margin: 0;
  color: var(--hm-muted);
  font-size: 1.0625rem;
  line-height: 1.7;
}
.hm-directory-page--editorial .hm-directory-cover {
  position: relative;
  align-self: stretch;
  min-height: 270px;
  margin: 0;
  overflow: hidden;
  background: var(--hm-forest);
}
.hm-directory-page--editorial .hm-directory-cover img {
  width: 100%;
  height: 100%;
  max-height: 310px;
  object-fit: cover;
  object-position: 50% 44%;
}
.hm-directory-page--editorial .hm-directory-cover figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px 16px;
  padding: 13px 18px;
  background: var(--hm-forest);
  color: #f7f0e3;
  font-family: var(--hm-serif);
  font-size: 1rem;
}
.hm-directory-page--editorial .hm-directory-cover figcaption span {
  font-family: var(--hm-sans);
  font-size: .75rem;
  letter-spacing: .12em;
}
.hm-directory-page--editorial .hm-directory-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 24px 0 0;
  padding: 0;
  border: 0;
}
.hm-directory-page--editorial .hm-directory-notes li {
  padding: 0;
  border: 0;
  color: var(--hm-rust);
  font-family: var(--hm-sans);
  font-size: .8125rem;
  line-height: 1.5;
}
.hm-directory-page--editorial .hm-directory-notes li::before { display: none; }
.hm-directory-page--editorial .hm-directory-notes li + li {
  padding-left: 20px;
  border-left: 1px solid var(--hm-line);
}
.hm-directory-page--editorial.hm-directory-page .hm-directory-tools {
  margin: 34px 0 0;
  padding: 15px 0;
  border: 0;
  border-block: 1px solid var(--hm-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
.hm-directory-page--editorial.hm-directory-page .hm-filters { gap: 6px; }
.hm-directory-page--editorial.hm-directory-page .hm-filters button {
  padding: 10px 17px;
  border-color: transparent;
  border-radius: 3px;
  background: transparent;
  font-size: .875rem;
}
.hm-directory-page--editorial.hm-directory-page .hm-filters button[aria-pressed="true"] {
  background: var(--hm-forest);
  color: var(--hm-paper);
}
.hm-directory-page--editorial.hm-directory-page .hm-filters button:hover:not([aria-pressed="true"]) {
  background: #ece8dc;
}
.hm-directory-page--editorial.hm-directory-page .hm-restaurant-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 42px;
}
.hm-directory-page--editorial.hm-directory-page .hm-restaurant-card {
  --hm-card-accent: var(--hm-forest);
  padding: 32px 0 16px;
  overflow: visible;
  border: 0;
  border-bottom: 1px solid var(--hm-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: none;
}
.hm-directory-page--editorial.hm-directory-page .hm-restaurant-card::before { display: none; }
.hm-directory-page--editorial.hm-directory-page .hm-restaurant-card:hover {
  border-color: var(--hm-line);
  box-shadow: none;
  transform: none;
}
.hm-directory-page--editorial.hm-directory-page .hm-card-main {
  min-height: 0;
  padding: 0;
}
.hm-directory-page--editorial.hm-directory-page .hm-card-kicker {
  color: var(--hm-muted);
  font-size: .75rem;
  font-weight: 400;
  letter-spacing: .08em;
}
.hm-directory-page--editorial.hm-directory-page .hm-card-kicker b {
  color: var(--hm-rust);
  font-size: 1.15rem;
}
.hm-directory-page--editorial.hm-directory-page .hm-restaurant-card h2 {
  max-width: 540px;
  margin: 18px 0 10px;
  font-size: clamp(1.9rem, 2.7vw, 2.5rem);
  line-height: 1.16;
  text-wrap: pretty;
  overflow-wrap: normal;
}
.hm-directory-page--editorial.hm-directory-page .hm-restaurant-card h2 a {
  text-decoration: none;
  text-underline-offset: .15em;
  text-decoration-thickness: 1px;
}
.hm-directory-page--editorial.hm-directory-page .hm-restaurant-card h2 a:hover {
  color: var(--hm-rust);
  text-decoration: underline;
}
.hm-directory-page--editorial.hm-directory-page .hm-card-place {
  margin: 0;
  font-size: .875rem;
}
.hm-directory-page--editorial .hm-card-tastes {
  margin: 22px 0 0;
  padding: 0;
  border: 0;
}
.hm-directory-page--editorial .hm-card-tastes > span {
  font-size: .75rem;
  letter-spacing: .07em;
  color: var(--hm-muted);
  font-weight: 400;
}
.hm-directory-page--editorial .hm-card-tastes ul { gap: 7px; margin-top: 10px; }
.hm-directory-page--editorial .hm-card-tastes li {
  display: block;
  color: var(--hm-forest);
  font-size: 1.125rem;
  line-height: 1.45;
}
.hm-directory-page--editorial .hm-card-tastes li::before { display: none; }
.hm-directory-page--editorial.hm-directory-page .hm-card-sections {
  display: flex;
  gap: 5px 12px;
  margin: 20px 0 18px;
}
.hm-directory-page--editorial .hm-card-sections li {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--hm-muted);
  font-size: .8125rem;
  font-weight: 400;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: 0;
}
.hm-directory-page--editorial .hm-card-sections li + li::before {
  margin-right: 12px;
  color: var(--hm-rust);
  content: "·";
}
.hm-directory-page--editorial.hm-directory-page .hm-card-link {
  width: auto;
  min-height: 44px;
  align-items: center;
  justify-content: flex-start;
  gap: 22px;
  padding: 0;
  border: 0;
  color: var(--hm-rust);
  text-decoration: none;
  font-size: .9375rem;
}
.hm-directory-page--editorial.hm-directory-page .hm-card-link:hover { text-decoration: underline; }
.hm-directory-page--editorial.hm-directory-page .hm-restaurant-card > a.hm-card-map {
  position: absolute;
  right: 0;
  bottom: 16px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: .875rem;
}
@media (max-width: 860px) {
  .hm-directory-page--editorial .hm-directory-heading__grid { gap: 28px; }
  .hm-directory-page--editorial.hm-directory-page .hm-directory h1 { font-size: 3.1rem; }
  .hm-directory-page--editorial.hm-directory-page .hm-restaurant-grid { gap: 0 28px; }
}
@media (max-width: 680px) {
  .hm-directory-page--editorial.hm-directory-page .hm-directory { padding-block: 20px 50px; }
  .hm-directory-page--editorial .hm-directory-heading__grid { grid-template-columns: 1fr; gap: 24px; }
  .hm-directory-page--editorial.hm-directory-page .hm-directory h1 { font-size: clamp(2.5rem, 9vw, 3.4rem); }
  .hm-directory-page--editorial .hm-directory-cover { min-height: 0; height: 180px; }
  .hm-directory-page--editorial .hm-directory-cover img { height: 180px; object-position: 50% 42%; }
  .hm-directory-page--editorial .hm-directory-cover figcaption { padding: 9px 14px; font-size: .875rem; }
  .hm-directory-page--editorial.hm-directory-page .hm-directory-tools { margin-top: 24px; gap: 8px; }
  .hm-directory-page--editorial.hm-directory-page .hm-filters button { padding-inline: 11px; }
  .hm-directory-page--editorial.hm-directory-page .hm-restaurant-grid { grid-template-columns: 1fr; }
  .hm-directory-page--editorial.hm-directory-page .hm-restaurant-card { padding-top: 26px; }
  .hm-directory-page--editorial.hm-directory-page .hm-restaurant-card h2 { font-size: 2rem; }
  .hm-directory-page--editorial .hm-card-tastes { margin-top: 18px; }
  .hm-directory-page--editorial.hm-directory-page .hm-card-link { margin-top: auto; }
}

.hm-directory-page .hm-directory {
  position: relative;
  padding: clamp(44px, 6vw, 82px) 0 clamp(74px, 9vw, 118px);
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 5%, rgba(153, 67, 35, .11), transparent 25%),
    radial-gradient(circle at 6% 38%, rgba(36, 72, 59, .08), transparent 23%),
    #fffaf1;
}

.hm-directory-page .hm-directory::before {
  position: absolute;
  top: 118px;
  right: -92px;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(153, 67, 35, .16);
  border-radius: 50%;
  content: "";
}

.hm-directory-page .hm-directory > .hs-container {
  position: relative;
  z-index: 1;
}

.hm-directory-page .hm-directory-heading {
  max-width: none;
}

.hm-directory-heading__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr);
  align-items: end;
  gap: clamp(42px, 8vw, 110px);
}

.hm-directory-page .hm-directory h1 {
  max-width: 820px;
  margin-bottom: 22px;
  font-size: clamp(3rem, 6.4vw, 6.3rem);
  line-height: .98;
  text-wrap: balance;
}

.hm-directory-heading__grid > div > p:last-child {
  max-width: 620px;
  color: var(--hm-muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.hm-directory-notes {
  margin: 0;
  padding: 5px 0 5px 30px;
  border-left: 1px solid var(--hm-line);
  list-style: none;
}

.hm-directory-notes li {
  position: relative;
  padding: 12px 0 12px 24px;
  border-bottom: 1px solid rgba(217, 206, 186, .7);
  color: var(--hm-forest);
  font-family: var(--hm-serif);
  font-size: 1.08rem;
  line-height: 1.35;
}

.hm-directory-notes li:last-child {
  border-bottom: 0;
}

.hm-directory-notes li::before {
  position: absolute;
  top: 19px;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--hm-rust);
  content: "";
}

.hm-directory-page .hm-directory-tools {
  margin: clamp(38px, 5vw, 62px) 0 30px;
  padding: 14px;
  border: 1px solid rgba(217, 206, 186, .9);
  border-radius: 18px;
  background: rgba(255, 253, 247, .82);
  box-shadow: 0 16px 45px rgba(39, 45, 39, .055);
  backdrop-filter: blur(12px);
}

.hm-directory-page .hm-filters button {
  border-radius: 999px;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease;
}

.hm-directory-page .hm-restaurant-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 28px);
}

.hm-directory-page .hm-restaurant-card {
  --hm-card-accent: var(--hm-forest);
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--hm-line);
  border-top: 0;
  border-radius: 22px;
  background: rgba(255, 253, 247, .94);
  box-shadow: 0 18px 52px rgba(39, 45, 39, .07);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.hm-directory-page .hm-restaurant-card:nth-child(3n + 2) {
  --hm-card-accent: #7a2738;
}

.hm-directory-page .hm-restaurant-card:nth-child(3n) {
  --hm-card-accent: #8b461f;
}

.hm-directory-page .hm-restaurant-card::before {
  display: block;
  width: 100%;
  height: 6px;
  flex: 0 0 6px;
  background: var(--hm-card-accent);
  content: "";
}

.hm-directory-page .hm-restaurant-card:hover {
  border-color: var(--hm-card-accent);
  box-shadow: 0 28px 68px rgba(39, 45, 39, .13);
  transform: translateY(-4px);
}

.hm-directory-page .hm-card-main,
.hm-directory-page .hm-restaurant-card > a.hm-card-main {
  display: flex;
  min-height: 475px;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(25px, 2.5vw, 32px);
  color: var(--hm-ink);
  text-decoration: none;
}

.hm-directory-page .hm-card-meta {
  width: 100%;
}

.hm-directory-page .hm-card-kicker {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--hm-card-accent);
}

.hm-directory-page .hm-card-kicker b {
  color: rgba(39, 45, 39, .48);
  font-family: var(--hm-serif);
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0;
}

.hm-directory-page .hm-card-count {
  color: #575d51;
}

.hm-directory-page .hm-restaurant-card h2 {
  margin: clamp(26px, 3vw, 38px) 0 12px;
  color: var(--hm-forest);
  font-size: clamp(1.8rem, 2.3vw, 2.45rem);
  line-height: 1.06;
  text-wrap: balance;
  transition: color .18s ease;
}

.hm-directory-page .hm-card-main:hover h2,
.hm-directory-page .hm-card-main:focus-visible h2 {
  color: var(--hm-card-accent);
}

.hm-directory-page .hm-card-place {
  min-height: 1.55em;
  margin-bottom: 18px;
}

.hm-directory-page .hm-card-highlight {
  display: -webkit-box;
  overflow: hidden;
  color: #41483f;
  font-family: var(--hm-sans);
  font-size: .94rem;
  font-weight: 400;
  line-height: 1.6;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.hm-card-tastes {
  width: 100%;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--hm-line);
}

.hm-card-tastes > span {
  color: var(--hm-card-accent);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hm-card-tastes ul {
  display: grid;
  gap: 6px;
  margin: 11px 0 0;
  padding: 0;
  list-style: none;
}

.hm-card-tastes li {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr);
  gap: 7px;
  font-family: var(--hm-serif);
  font-size: 1.02rem;
  line-height: 1.3;
}

.hm-card-tastes li::before {
  color: var(--hm-card-accent);
  content: "·";
}

.hm-card-sections {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.hm-card-sections li {
  padding: 6px 9px;
  border: 1px solid var(--hm-line);
  border-radius: 999px;
  color: #575d51;
  background: var(--hm-paper);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.25;
  text-transform: uppercase;
}

.hm-directory-page .hm-card-link {
  margin-top: auto;
  padding-top: 20px;
  color: var(--hm-card-accent);
}

.hm-directory-page .hm-card-main:hover .hm-card-link > span,
.hm-directory-page .hm-card-main:focus-visible .hm-card-link > span {
  transform: translateX(4px);
}

.hm-directory-page .hm-restaurant-card > a.hm-card-map {
  display: inline-flex;
  min-height: 46px;
  flex: 0 0 auto;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 clamp(25px, 2.5vw, 32px);
  padding: 8px 0;
  border-top: 1px solid var(--hm-line);
  color: #575d51;
  font-size: .8rem;
  text-decoration: none;
}

.hm-directory-page .hm-restaurant-card > a.hm-card-map:hover {
  color: var(--hm-card-accent);
  text-decoration: underline;
}

.hs-restaurant {
  --hs-restaurant-accent: #7a2738;
}

.hs-restaurant--olive {
  --hs-restaurant-accent: #56613b;
}

.hs-restaurant--orange {
  --hs-restaurant-accent: #8b461f;
}

.hm-detail .hm-detail-shell {
  max-width: 1120px;
}

.hm-detail .hm-detail-header {
  position: relative;
  padding: clamp(54px, 8vw, 108px) 0 clamp(50px, 7vw, 88px);
  overflow: hidden;
  border-top: 7px solid var(--hs-restaurant-accent);
  background:
    radial-gradient(circle at 83% 18%, rgba(232, 196, 119, .15), transparent 23%),
    linear-gradient(135deg, #173c31, #24483b);
  color: var(--hm-cream);
}

.hm-detail .hm-detail-header::after {
  position: absolute;
  top: -120px;
  right: -80px;
  width: 390px;
  height: 390px;
  border: 1px solid rgba(241, 230, 211, .13);
  border-radius: 50%;
  content: "";
}

/* Venue-based editorial sketches sit beside the name, before the menu. */
.hm-detail .hm-detail-header.hm-detail-header--photo {
  padding-block: 30px 46px;
  border-top: 0;
  background: #173c31;
}
.hm-detail .hm-detail-header--photo::after { display: none; }
.hm-detail-header--photo .hm-detail-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.2fr);
  align-items: center;
  gap: clamp(30px, 5vw, 66px);
}
.hm-detail-header--photo .hm-detail-hero-copy { min-width: 0; }
.hm-detail .hm-detail-header.hm-detail-header--photo h1 {
  font-size: clamp(2.7rem, 4.8vw, 4.7rem);
  line-height: 1.07;
  letter-spacing: -.04em;
}
.hm-detail-header--photo .hm-detail-highlight { margin-top: 20px; }
.hm-detail-header--photo .hm-detail-tags {
  margin-top: 24px;
  font-size: .75rem;
  letter-spacing: .035em;
}
.hm-detail-header--photo .hm-detail-location { font-size: .9375rem; }
.hm-restaurant-photo {
  width: 100%;
  min-width: 0;
  margin: 0;
  background: #24483b;
}
.hm-restaurant-photo img {
  display: block;
  width: 100%;
  height: clamp(320px, 33vw, 430px);
  object-fit: cover;
  object-position: center;
}
@media (max-width: 760px) {
  .hm-detail .hm-detail-header.hm-detail-header--photo { padding-block: 22px 28px; }
  .hm-detail-header--photo .hm-detail-hero-grid { grid-template-columns: 1fr; gap: 26px; }
  .hm-detail .hm-detail-header.hm-detail-header--photo h1 { font-size: clamp(2.65rem, 9vw, 3.5rem); }
  .hm-detail-header--photo .hm-detail-tags { display: flex; flex-wrap: wrap; }
  .hm-restaurant-photo img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
}
@media print {
  .hm-detail .hm-detail-header.hm-detail-header--photo { padding: 0; background: none; color: #272d27; }
  .hm-detail-header--photo .hm-detail-hero-grid { display: block; }
  .hm-restaurant-photo { display: none; }
}

.hm-detail .hm-detail-header .hm-detail-shell {
  position: relative;
  z-index: 1;
}

.hm-detail .hm-back {
  color: rgba(241, 230, 211, .75);
}

.hm-detail .hm-detail-header .hs-eyebrow {
  color: #e8c477;
}

.hm-detail .hm-detail-header h1 {
  max-width: 940px;
  color: var(--hm-cream);
  font-size: clamp(3rem, 7.3vw, 7.2rem);
  line-height: .98;
  text-wrap: balance;
}

.hm-detail-highlight {
  max-width: 690px;
  margin: 26px 0 0;
  color: rgba(241, 230, 211, .8);
  font-family: var(--hm-serif);
  font-size: clamp(1.08rem, 1.6vw, 1.3rem);
  line-height: 1.55;
  text-wrap: pretty;
}

.hm-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 0;
  margin: 30px 0 0;
  padding: 0;
  color: rgba(241, 230, 211, .88);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .075em;
  list-style: none;
  text-transform: uppercase;
}

.hm-detail-tags li + li::before {
  margin: 0 12px;
  color: #e8c477;
  content: "•";
}

.hm-detail .hm-detail-location {
  color: rgba(241, 230, 211, .76);
}

.hm-detail .hm-detail-map {
  color: #e8c477;
}

.hm-detail .hm-detail-nav {
  background: rgba(255, 253, 247, .96);
  box-shadow: 0 12px 34px rgba(39, 45, 39, .06);
  backdrop-filter: blur(13px);
}

.hm-detail .hm-detail-nav .hm-detail-current {
  color: var(--hs-restaurant-accent);
  border-bottom-color: var(--hs-restaurant-accent);
}

.hm-detail .hm-detail-nav .hm-pdf-link {
  color: var(--hs-restaurant-accent);
}

.hm-detail .hm-menu-section {
  padding: clamp(54px, 7vw, 92px) 0 clamp(76px, 9vw, 118px);
  background:
    linear-gradient(rgba(217, 206, 186, .16) 1px, transparent 1px),
    var(--hm-paper);
  background-size: 100% 72px;
}

.hm-detail .hm-menu-topline {
  align-items: end;
  margin-bottom: 28px;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--hm-line);
}

.hm-detail .hm-menu-topline .hs-eyebrow {
  margin-bottom: 13px;
  color: var(--hs-restaurant-accent);
}

.hm-detail .hm-menu-topline h2 {
  color: var(--hm-forest);
  font-family: var(--hm-serif);
  font-size: clamp(2.6rem, 5vw, 4.8rem);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1;
  text-transform: none;
}

.hm-menu-count {
  display: grid;
  width: 104px;
  height: 104px;
  flex: 0 0 104px;
  place-content: center;
  margin: 0;
  border-radius: 50%;
  color: var(--hm-cream);
  background: var(--hs-restaurant-accent);
  text-align: center;
  box-shadow: 0 14px 32px rgba(39, 45, 39, .13);
}

.hm-menu-count strong {
  font-family: var(--hm-serif);
  font-size: 2.35rem;
  font-weight: 400;
  line-height: .9;
}

.hm-menu-count span {
  margin-top: 8px;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hm-detail .hm-category-nav {
  gap: 8px;
  margin-bottom: 34px;
}

.hm-detail .hm-category-nav a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  gap: 9px;
  padding: 8px 13px;
  border: 1px solid var(--hm-line);
  border-radius: 999px;
  color: var(--hm-forest);
  background: rgba(255, 253, 247, .9);
  text-decoration: none;
}

.hm-detail .hm-category-nav a:hover,
.hm-detail .hm-category-nav a:focus-visible {
  border-color: var(--hs-restaurant-accent);
  color: var(--hs-restaurant-accent);
}

.hm-detail .hm-category-nav small {
  display: grid;
  min-width: 23px;
  height: 23px;
  place-items: center;
  border-radius: 50%;
  color: #575d51;
  background: var(--hm-cream);
  font-size: .68rem;
}

.hm-detail .hm-menu-groups {
  gap: clamp(20px, 3vw, 30px);
}

.hm-detail .hm-menu-group {
  padding: clamp(24px, 3vw, 34px);
  border: 1px solid var(--hm-line);
  border-radius: 20px;
  background: rgba(255, 253, 247, .94);
  box-shadow: 0 14px 38px rgba(39, 45, 39, .055);
}

.hm-detail .hm-group-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom-color: var(--hs-restaurant-accent);
}

.hm-detail .hm-group-heading > span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  color: var(--hm-cream);
  background: var(--hs-restaurant-accent);
  font-size: .68rem;
}

.hm-detail .hm-group-heading h3 {
  color: var(--hs-restaurant-accent);
  font-size: .82rem;
}

.hm-detail .hm-group-heading > small {
  color: #575d51;
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.hm-detail .hm-dish + .hm-dish {
  margin-top: 0;
  padding-top: 22px;
  border-top: 1px solid rgba(217, 206, 186, .72);
}

.hm-detail .hm-dish {
  padding-bottom: 22px;
}

.hm-detail .hm-dish:last-child {
  padding-bottom: 0;
}

.hm-detail .hm-dish h4 {
  font-size: clamp(1.08rem, 1.5vw, 1.22rem);
}

.hm-detail .hm-dish strong {
  color: var(--hs-restaurant-accent);
}

.hm-detail .hm-season-image,
.hm-detail .hm-cafe-image {
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(39, 45, 39, .1);
}

.hm-detail .hm-cafe-image figcaption {
  background: var(--hs-restaurant-accent);
}

.hm-detail .hm-story-section {
  border-top: 7px solid var(--hs-restaurant-accent);
}

.hm-detail .hm-chef {
  border-radius: 18px;
  background: var(--hm-forest);
}

.hm-detail .hm-detail-end .hs-link-arrow,
.hm-detail .hm-detail-end > a:last-child {
  color: var(--hs-restaurant-accent);
}

/* The chef's own channel: portrait-led editorial feature, not a venue photo. */
.hm-chef-channel {
  padding-block: clamp(30px, 5vw, 58px);
  background: #f3ecdf;
  border-bottom: 1px solid var(--hm-line);
  scroll-margin-top: calc(var(--hm-header-height) + 80px);
}
.hm-channel-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 24px;
  margin-bottom: 22px;
}
.hm-channel-heading > a {
  color: var(--hm-forest);
  font-size: .875rem;
  text-underline-offset: 5px;
}
.hm-chef-channel__inner {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  background: #173c31;
  color: #fbf8f1;
}
.hm-chef-channel__inner--photo {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
  align-items: stretch;
}
.hm-chef-channel__byline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0;
  color: var(--hm-rust);
  font-size: .875rem;
  line-height: 1.5;
}
.hm-channel-portrait { position: relative; min-width: 0; margin: 0; overflow: hidden; }
.hm-channel-portrait > img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 570px;
  max-height: 740px;
  object-fit: cover;
  object-position: center 56%;
}
.hm-channel-portrait figcaption {
  position: absolute;
  inset: auto 0 0;
  padding: 48px 28px 24px;
  background: linear-gradient(transparent, rgba(8, 22, 16, .9));
  color: #fff;
  font-size: 1.0625rem;
  line-height: 1.6;
}
.hm-channel-portrait figcaption span { display: block; font-size: .875rem; color: #e7dfcd; }
.hm-channel-story { align-self: center; min-width: 0; padding: clamp(28px, 4vw, 54px); }
.hm-channel-person {
  margin: 0 0 22px;
  color: #e8c477;
  font-size: .875rem;
  letter-spacing: .06em;
}
.hm-chef-channel h2 {
  margin: 0;
  color: #fbf8f1;
  font-family: var(--hm-serif);
  font-size: clamp(2.5rem, 4.5vw, 4rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -.04em;
  overflow-wrap: anywhere;
}
.hm-channel-motto {
  margin: 25px 0 18px;
  color: #e8c477;
  font-family: var(--hm-serif);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.45;
}
.hm-chef-channel__intro {
  max-width: 44ch;
  margin: 0;
  color: #d7dfd3;
  font-size: 1rem;
  line-height: 1.75;
}
.hm-chef-channel__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 50px;
  padding: 12px 18px;
  margin-top: 30px;
  border: 1px solid #e8c477;
  color: #fbf8f1;
  font-size: .875rem;
  font-weight: 700;
  text-decoration: none;
}
.hm-chef-channel__link:hover { background: #244b3f; }
.hm-chef-channel__link svg { flex: 0 0 24px; }
.hm-channel-videos-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px 24px;
  margin: 38px 0 22px;
}
.hm-channel-videos-heading h3 { margin: 0; color: var(--hm-forest); font-family: var(--hm-serif); font-size: 1.65rem; font-weight: 400; line-height: 1.3; }
.hm-channel-videos-heading p { margin: 0; color: var(--hm-muted); font-size: .875rem; line-height: 1.6; }
.hm-channel-videos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.hm-channel-video { display: block; min-width: 0; color: var(--hm-forest); text-decoration: none; }
.hm-channel-video__image { position: relative; overflow: hidden; background: #173c31; }
.hm-channel-video__image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.hm-channel-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: #fbf8f1; color: #173c31; font-size: 1.2rem; box-shadow: 0 4px 24px #0003; }
.hm-channel-video:hover .hm-channel-play { background: #e8c477; }
.hm-channel-video__platform { position: absolute; right: 12px; bottom: 12px; padding: 5px 9px; background: #173c31; color: #fff; font-size: .75rem; }
.hm-channel-video__caption { padding: 18px 0 14px; border-bottom: 1px solid #c8cbbb; }
.hm-channel-video h4 { margin: 0 0 10px; font-family: var(--hm-serif); font-size: 1.3rem; font-weight: 400; line-height: 1.4; }
.hm-channel-video__caption > span { color: var(--hm-rust); font-size: .875rem; }
.hm-chef-channel a:focus-visible { outline: 3px solid #aa5c30; outline-offset: 5px; }
.hm-channel-story a:focus-visible { outline-color: #e8c477; }
@media (max-width: 760px) {
  .hm-chef-channel { padding-block: 28px; }
  .hm-chef-channel__inner { grid-template-columns: 1fr; }
  .hm-channel-portrait > img { min-height: 0; max-height: 570px; height: auto; aspect-ratio: 4 / 5; }
  .hm-channel-story { padding: 30px 24px 32px; }
  .hm-channel-videos { grid-template-columns: 1fr; gap: 24px; }
  .hm-channel-videos-heading { margin-top: 30px; }
  .hm-channel-portrait figcaption { padding-inline: 24px; }
}
@media print { .hm-chef-channel { display: none; } }

@media (max-width: 1050px) {
  .hm-directory-page .hm-restaurant-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hm-directory-page .hm-card-main,
  .hm-directory-page .hm-restaurant-card > a.hm-card-main {
    min-height: 445px;
  }
}

@media (max-width: 860px) {
  .hm-directory-heading__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .hm-directory-notes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 0;
    border-top: 1px solid var(--hm-line);
    border-left: 0;
  }

  .hm-directory-notes li {
    padding: 16px 14px 10px 21px;
    border-right: 1px solid var(--hm-line);
    border-bottom: 0;
  }

  .hm-directory-notes li:last-child {
    border-right: 0;
  }

  .hm-directory-notes li::before {
    top: 23px;
    left: 7px;
  }

  .hm-detail .hm-menu-groups {
    grid-template-columns: 1fr;
  }

  .hm-detail .hm-menu-columns--cafe {
    grid-template-columns: 1fr;
  }

  .hm-detail .hm-cafe-image {
    position: static;
  }

  .hm-detail .hm-cafe-image img {
    height: 260px;
  }
}

@media (max-width: 680px) {
  .hm-directory-page .hm-directory {
    padding-top: 30px;
  }

  .hm-directory-page .hm-directory h1 {
    font-size: clamp(2.65rem, 13vw, 4.1rem);
  }

  .hm-directory-heading__grid > div > p:last-child {
    font-size: 1rem;
  }

  .hm-directory-notes {
    grid-template-columns: 1fr;
  }

  .hm-directory-notes li {
    padding: 11px 0 11px 21px;
    border-right: 0;
    border-bottom: 1px solid var(--hm-line);
  }

  .hm-directory-notes li::before {
    top: 18px;
    left: 0;
  }

  .hm-directory-page .hm-directory-tools {
    padding: 10px;
    border-radius: 15px;
  }

  .hm-directory-page .hm-restaurant-grid {
    grid-template-columns: 1fr;
  }

  .hm-directory-page .hm-card-main,
  .hm-directory-page .hm-restaurant-card > a.hm-card-main {
    min-height: 0;
    padding: 23px 22px;
  }

  .hm-directory-page .hm-restaurant-card h2 {
    font-size: 2rem;
  }

  .hm-directory-page .hm-card-highlight {
    -webkit-line-clamp: 2;
  }

  .hm-directory-page .hm-card-sections {
    display: none;
  }

  .hm-directory-page .hm-card-link {
    margin-top: 24px;
  }

  .hm-detail .hm-detail-header {
    padding: 34px 0 44px;
  }

  .hm-detail .hm-detail-header h1 {
    font-size: clamp(2.7rem, 13vw, 4.25rem);
  }

  .hm-detail-tags {
    display: grid;
    gap: 8px;
  }

  .hm-detail-tags li + li::before {
    margin: 0 9px 0 0;
  }

  .hm-detail .hm-menu-topline {
    align-items: center;
  }

  .hm-menu-count {
    width: 86px;
    height: 86px;
    flex-basis: 86px;
  }

  .hm-menu-count strong {
    font-size: 2rem;
  }

  .hm-detail .hm-category-nav {
    flex-wrap: nowrap;
    padding-bottom: 7px;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .hm-detail .hm-category-nav a {
    flex: 0 0 auto;
  }

  .hm-detail .hm-menu-group {
    padding: 23px 20px;
    border-radius: 16px;
  }

  .hm-detail .hm-group-heading {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .hm-detail .hm-group-heading > small {
    grid-column: 2;
  }
}

/* Gabala Bazaar: a warm, visitor-facing editorial field guide. */
.hb-page {
  --hb-wine: #662f30;
  color: var(--hm-ink);
  background: var(--hm-paper);
  font-family: var(--hm-sans);
}

.hb-page figure,
.hb-page h1,
.hb-page h2,
.hb-page h3,
.hb-page p { margin: 0; }

.hb-page .hs-container { max-width: 1209px; }
.hb-page section[id] { scroll-margin-top: calc(var(--hm-header-height, 84px) + 24px); }
.hb-page .hb-eyebrow {
  margin-bottom: 20px;
  color: var(--hm-rust);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.hb-hero { padding: 64px 0 0; }
.hb-hero__heading {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  align-items: end;
  gap: clamp(32px, 6vw, 92px);
  margin-bottom: 42px;
}

.hb-page h1 {
  color: var(--hb-wine);
  font: 400 clamp(64px, 7.7vw, 108px)/.99 var(--hm-serif);
  letter-spacing: -.055em;
}
.hb-page h1 em { display: block; font-weight: 400; }
.hb-hero__intro h2 {
  max-width: 440px;
  color: var(--hb-wine);
  font: 400 clamp(24px, 2.5vw, 34px)/1.18 var(--hm-serif);
  letter-spacing: -.025em;
}
.hb-hero__intro > p { margin-top: 15px; font-size: 16px; line-height: 1.75; }
.hb-hero__actions { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-top: 21px; }
.hb-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  border-bottom: 1px solid var(--hb-wine);
  color: var(--hb-wine);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.hb-link--quiet { color: var(--hm-forest); border-color: var(--hm-line); }
.hb-link:hover { border-bottom-width: 2px; }
.hb-link span { font-size: 21px; font-weight: 400; }
.hb-hero__image img { display: block; width: 100%; height: auto; aspect-ratio: 1209 / 680; object-fit: cover; }
.hb-page figcaption { margin-top: 9px; color: var(--hm-muted); font-size: 12px; line-height: 1.6; }

.hb-basket { padding: 95px 0 88px; }
.hb-basket__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(36px, 7vw, 104px); }
.hb-title { color: var(--hb-wine); font: 400 clamp(38px, 4.3vw, 60px)/1.08 var(--hm-serif); letter-spacing: -.04em; }
.hb-title em { display: block; font-weight: 400; }
.hb-page .hb-lead { max-width: 530px; margin-top: 23px; font-size: 16px; line-height: 1.8; }
.hb-page .hb-basket__image { max-width: 440px; margin-top: 30px; }
.hb-basket__image img { display: block; width: 100%; height: auto; }
.hb-products { list-style: none; margin: 0; padding: 0; }
.hb-products li { display: grid; grid-template-columns: 35px minmax(0, 1fr); gap: 20px; padding: 27px 0; border-top: 1px solid var(--hm-line); }
.hb-products li:last-child { border-bottom: 1px solid var(--hm-line); }
.hb-products__number { padding-top: 6px; color: var(--hm-rust); font: 400 21px/1 var(--hm-serif); }
.hb-products h3 { color: var(--hm-forest); font: 400 clamp(25px, 2.7vw, 34px)/1.15 var(--hm-serif); letter-spacing: -.025em; }
.hb-page .hb-products__examples { margin: 9px 0 11px; color: var(--hm-rust); font-size: 13px; font-weight: 600; }
.hb-products p { font-size: 15px; line-height: 1.75; }
.hb-page .hb-note { margin-top: 22px; color: var(--hm-muted); font-size: 13px; line-height: 1.75; }

.hb-ritual { padding: 76px 0 80px; color: var(--hm-paper); background: var(--hb-wine); }
.hb-ritual .hb-eyebrow { color: #ead0b0; }
.hb-ritual .hb-title { color: var(--hm-paper); max-width: 790px; }
.hb-ritual .hb-title em { color: #ead0b0; }
.hb-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; gap: 40px; padding: 0; margin: 47px 0 0; }
.hb-steps li { padding-top: 21px; border-top: 1px solid #b88e82; }
.hb-steps__number { display: block; margin-bottom: 26px; color: #ead0b0; font: 400 28px/1 var(--hm-serif); }
.hb-steps h3 { font: 400 27px/1.2 var(--hm-serif); letter-spacing: -.02em; }
.hb-steps p { margin-top: 14px; color: #f1dfd0; font-size: 15px; line-height: 1.8; }

.hb-visit { padding: 90px 0 70px; }
.hb-visit__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(35px, 7vw, 104px); }
.hb-facts { margin: 0; }
.hb-facts > div { padding: 23px 0; border-top: 1px solid var(--hm-line); }
.hb-facts > div:last-child { border-bottom: 1px solid var(--hm-line); }
.hb-facts dt { margin-bottom: 9px; color: var(--hm-rust); font-size: 13px; font-weight: 600; }
.hb-facts dd { margin: 0; color: var(--hm-forest); font: 400 25px/1.3 var(--hm-serif); }
.hb-next { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 76px; padding: 34px 0 0; border-top: 1px solid var(--hm-line); }
.hb-next .hb-eyebrow { margin-bottom: 10px; }
.hb-next h3 { color: var(--hm-forest); font: 400 clamp(28px, 3vw, 37px)/1.15 var(--hm-serif); letter-spacing: -.025em; }
.hb-next p:not(.hb-eyebrow) { max-width: 620px; margin-top: 12px; font-size: 15px; line-height: 1.75; }
.hb-next__link { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: center; gap: 24px; min-height: 52px; padding: 14px 23px; color: var(--hm-paper); background: var(--hm-forest); font-size: 14px; font-weight: 600; text-decoration: none; }
.hb-next__link:hover { background: var(--hb-wine); }
.hb-next__link span { font-size: 22px; font-weight: 400; }

@media (max-width: 960px) {
  .hb-hero { padding-top: 44px; }
  .hb-hero__heading { gap: 30px; }
  .hb-steps { gap: 24px; }
  .hb-next { gap: 25px; }
  .hb-next__link { max-width: 250px; flex-shrink: 1; }
}

@media (max-width: 760px) {
  .hb-hero__heading,
  .hb-basket__grid,
  .hb-visit__grid { grid-template-columns: minmax(0, 1fr); }
  .hb-hero__heading { gap: 26px; margin-bottom: 30px; }
  .hb-page h1 { font-size: clamp(60px, 15vw, 88px); }
  .hb-page h1 em { display: inline; }
  .hb-hero__intro h2 { max-width: 100%; }
  .hb-hero__image img { min-height: 240px; aspect-ratio: 4 / 3; }
  .hb-basket { padding: 57px 0; }
  .hb-basket__grid { gap: 32px; }
  .hb-basket__story { display: grid; grid-template-columns: minmax(0, 1fr); }
  .hb-page .hb-basket__image { max-width: 100%; }
  .hb-basket__image img { max-height: 360px; object-fit: cover; object-position: center; }
  .hb-products li { gap: 14px; padding: 25px 0; }
  .hb-ritual { padding: 52px 0; }
  .hb-steps { grid-template-columns: minmax(0, 1fr); gap: 26px; margin-top: 33px; }
  .hb-steps__number { margin-bottom: 13px; }
  .hb-steps p { margin-top: 10px; }
  .hb-visit { padding: 55px 0; }
  .hb-visit__grid { gap: 31px; }
  .hb-next { align-items: flex-start; flex-direction: column; gap: 23px; margin-top: 44px; }
  .hb-next__link { max-width: 100%; }
}

@media print {
  .hb-page { background: white; }
  .hb-hero { padding-top: 20px; }
  .hb-hero__actions { display: none; }
  .hb-ritual { color: #272d27; background: white; }
  .hb-ritual .hb-eyebrow,
  .hb-ritual .hb-title,
  .hb-ritual .hb-title em,
  .hb-steps__number,
  .hb-steps p { color: #272d27; }
  .hb-products li,
  .hb-steps li,
  .hb-facts > div { break-inside: avoid; }
}
