:root {
  --olive-950: #0e170f;
  --olive-900: #162417;
  --olive-800: #20331e;
  --olive-700: #304b2a;
  --olive-500: #718c4c;
  --olive-300: #b9c987;
  --cream: #f4efdd;
  --cream-soft: #e9e3cc;
  --lime: #d3e48c;
  --brass: #d0a34c;
  --copper: #be7747;
  --rose: #d99567;
  --ink: #172117;
  --line: rgba(244, 239, 221, .2);
  --line-strong: rgba(244, 239, 221, .38);
  --pointer-x: 50vw;
  --pointer-y: 50vh;
  --tilt-x: 0deg;
  --tilt-y: 0deg;
  color-scheme: dark;
  font-family: "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }

html {
  background: var(--olive-950);
  color: var(--cream);
  scroll-behavior: smooth;
  scroll-padding-top: 86px;
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 78% 3%, rgba(211, 228, 140, .1), transparent 31rem),
    radial-gradient(circle at 8% 43%, rgba(190, 119, 71, .14), transparent 28rem),
    linear-gradient(138deg, var(--olive-950) 0%, var(--olive-900) 48%, #1d2d1d 100%);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: .32;
  background-image: linear-gradient(115deg, transparent 0 49%, rgba(211, 228, 140, .06) 49.2% 49.5%, transparent 49.7% 100%);
  background-size: 18px 18px;
  mix-blend-mode: screen;
}

a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }

.noise {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 20;
  opacity: .065;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
  mix-blend-mode: soft-light;
}

.pointer-glow {
  position: fixed;
  width: 23rem;
  aspect-ratio: 1;
  left: var(--pointer-x);
  top: var(--pointer-y);
  translate: -50% -50%;
  pointer-events: none;
  z-index: 1;
  opacity: .18;
  background: radial-gradient(circle, rgba(211, 228, 140, .34) 0, rgba(211, 228, 140, .1) 30%, transparent 68%);
  filter: blur(16px);
  transition: left .2s ease-out, top .2s ease-out;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: fixed;
  z-index: 30;
  inset: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 76px;
  padding: 18px clamp(1.1rem, 5vw, 5.2rem);
  border-bottom: 1px solid rgba(244, 239, 221, .14);
  background: linear-gradient(180deg, rgba(16, 26, 17, .94), rgba(16, 26, 17, .56) 70%, transparent);
  backdrop-filter: blur(14px);
}

.wordmark {
  display: inline-flex;
  align-items: baseline;
  gap: .48rem;
  font-size: clamp(1.1rem, 1.9vw, 1.55rem);
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1;
}

.wordmark strong { color: var(--lime); font-weight: 800; letter-spacing: .03em; }
.header-actions { display: flex; align-items: center; gap: clamp(.8rem, 2vw, 1.8rem); }

.language-toggle {
  cursor: pointer;
  border: 0;
  padding: .35rem .1rem;
  color: var(--cream);
  background: transparent;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: underline;
  text-decoration-color: var(--lime);
  text-decoration-thickness: 2px;
  text-underline-offset: .34rem;
}

.language-toggle:hover, .language-toggle:focus-visible { color: var(--lime); }

.top-cta, .primary-cta, .contact-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  min-height: 48px;
  padding: .72rem 1.15rem .72rem 1.35rem;
  border: 1px solid var(--lime);
  border-radius: 999px;
  color: var(--ink);
  background: var(--lime);
  box-shadow: 0 10px 0 rgba(16, 26, 17, .42), 0 0 0 1px rgba(211, 228, 140, .22), 0 0 32px rgba(211, 228, 140, .18);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .03em;
  transition: transform .42s cubic-bezier(.2, .8, .2, 1), box-shadow .42s ease, background .42s ease;
}

.top-cta:hover, .top-cta:focus-visible, .primary-cta:hover, .primary-cta:focus-visible, .contact-cta:hover, .contact-cta:focus-visible {
  transform: translateY(-4px);
  background: var(--cream);
  box-shadow: 0 14px 0 rgba(16, 26, 17, .42), 0 0 0 1px rgba(244, 239, 221, .34), 0 0 40px rgba(211, 228, 140, .24);
}

.arrow { font-size: 1.05rem; line-height: .8; }
main { position: relative; z-index: 2; }

.panel {
  position: relative;
  isolation: isolate;
  padding: clamp(7.5rem, 13vw, 10.5rem) clamp(1.1rem, 7vw, 7.5rem) clamp(8.5rem, 15vw, 11rem);
}

.panel::after {
  content: "";
  position: absolute;
  left: clamp(1.1rem, 7vw, 7.5rem);
  right: clamp(1.1rem, 7vw, 7.5rem);
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--line-strong), transparent);
}

.hero {
  display: grid;
  grid-template-columns: minmax(19rem, .68fr) minmax(0, 1.32fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 7rem);
  min-height: 100svh;
  padding-top: clamp(8.5rem, 14vw, 12rem);
  overflow: hidden;
}

.hero::before {
  content: "";
  position: absolute;
  width: min(58vw, 62rem);
  aspect-ratio: 1.15;
  right: -16vw;
  top: 10%;
  z-index: -1;
  border: 1px solid rgba(211, 228, 140, .18);
  border-radius: 48% 52% 55% 45%;
  transform: rotate(-13deg);
  box-shadow: inset 0 0 100px rgba(211, 228, 140, .04), 0 0 80px rgba(211, 228, 140, .05);
}

.hero::after { bottom: 3.2rem; }
.hero-copy { max-width: 42rem; }
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .9s ease, transform .9s cubic-bezier(.2, .8, .2, 1); }
.reveal.is-visible { opacity: 1; transform: none; }

.eyebrow {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: 0 0 1.6rem;
  color: var(--lime);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.eyebrow-dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--copper); box-shadow: 0 0 0 5px rgba(190, 119, 71, .12), 0 0 18px rgba(190, 119, 71, .55); }
.eyebrow-line { width: 3.5rem; height: 1px; background: var(--line-strong); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.055em; }
h1 { max-width: 13ch; margin-bottom: 1.7rem; font-size: clamp(4.8rem, 10vw, 10.4rem); line-height: .82; }
h1 span, h1 em, h2 span, h2 em { display: block; }
h1 em, h2 em { color: var(--lime); font-style: normal; }

.hero-lede, .section-lede, .chapter-copy > p, .contact-copy > p {
  max-width: 34rem;
  color: rgba(244, 239, 221, .8);
  font-size: clamp(1.05rem, 1.45vw, 1.28rem);
  line-height: 1.55;
}

.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.3rem 1.8rem; margin-top: 2.5rem; }
.primary-cta { min-height: 56px; padding-inline: 1.45rem 1.25rem; font-size: .9rem; }
.micro-note { color: rgba(244, 239, 221, .58); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }

.hero-signals { display: flex; flex-wrap: wrap; gap: .7rem 1.35rem; margin-top: 2.3rem; color: rgba(244, 239, 221, .68); font-size: .73rem; letter-spacing: .08em; text-transform: uppercase; }
.hero-signals > span { display: inline-flex; align-items: center; gap: .5rem; }
.hero-signals b { color: var(--copper); font-size: .62rem; letter-spacing: .16em; }

.food-stage {
  position: relative;
  min-height: clamp(31rem, 54vw, 47rem);
  perspective: 1500px;
  transform-style: preserve-3d;
}

.scene-halo, .scene-ring, .food-card, .food-stage-note, .hero-real-media { position: absolute; }
.scene-halo { border-radius: 50%; filter: blur(1px); pointer-events: none; }
.halo-one { width: 76%; aspect-ratio: 1; right: 4%; top: 8%; background: radial-gradient(circle, rgba(211, 228, 140, .15), transparent 66%); }
.halo-two { width: 57%; aspect-ratio: 1; left: 12%; bottom: 3%; background: radial-gradient(circle, rgba(190, 119, 71, .22), transparent 67%); }
.scene-ring { border: 1px solid rgba(211, 228, 140, .27); border-radius: 50%; pointer-events: none; }
.ring-one { width: 89%; aspect-ratio: 1; right: -4%; top: 3%; transform: rotate(18deg); }
.ring-two { width: 56%; aspect-ratio: 1; left: 3%; bottom: 0; border-color: rgba(190, 119, 71, .38); transform: rotate(-28deg); }

.food-card {
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: .75rem;
  overflow: hidden;
  border: 1px solid rgba(244, 239, 221, .46);
  border-radius: 1.7rem;
  padding: clamp(.72rem, 1.4vw, 1.15rem);
  background: linear-gradient(150deg, rgba(244, 239, 221, .96), rgba(215, 225, 174, .9) 50%, rgba(113, 140, 76, .86));
  box-shadow: 19px 25px 0 rgba(16, 26, 17, .4), inset 0 0 38px rgba(255, 255, 255, .15), 0 0 42px rgba(211, 228, 140, .11);
  color: var(--ink);
  transform-style: preserve-3d;
  transition: transform .65s cubic-bezier(.2, .8, .2, 1), box-shadow .65s ease, filter .65s ease;
  animation: card-breathe 9s ease-in-out infinite;
}

.food-card:hover, .food-card:focus-visible { z-index: 8; filter: saturate(1.08); box-shadow: 24px 31px 0 rgba(16, 26, 17, .42), 0 0 52px rgba(211, 228, 140, .2), inset 0 0 38px rgba(255, 255, 255, .18); }
.food-card:focus-visible { outline: 3px solid var(--lime); outline-offset: 5px; }
.food-card-back { width: 39%; left: 0; top: 17%; transform: rotate(-9deg) rotateY(calc(var(--tilt-x) * -.4)) translateZ(35px); animation-delay: -2s; }
.food-card-back:hover, .food-card-back:focus-visible { transform: rotate(-6deg) rotateY(calc(var(--tilt-x) * -.4)) translateZ(70px) scale(1.035); }
.food-card-main { width: 51%; right: 17%; top: 6%; z-index: 4; transform: rotate(5deg) rotateX(var(--tilt-y)) rotateY(var(--tilt-x)) translateZ(95px); animation-delay: -5s; }
.food-card-main:hover, .food-card-main:focus-visible { transform: rotate(3deg) rotateX(var(--tilt-y)) rotateY(var(--tilt-x)) translateZ(145px) scale(1.04); }
.food-card-front { width: 39%; right: 0; bottom: 4%; transform: rotate(-5deg) rotateY(calc(var(--tilt-x) * .45)) translateZ(65px); animation-delay: -7s; }
.food-card-front:hover, .food-card-front:focus-visible { transform: rotate(-2deg) rotateY(calc(var(--tilt-x) * .45)) translateZ(110px) scale(1.035); }

.food-card-top, .menu-card-top { display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--olive-700); font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.food-card-top span:first-child { color: var(--copper); }
.food-card p { margin: 0; color: var(--olive-700); font-size: clamp(.68rem, .85vw, .82rem); font-weight: 700; line-height: 1.3; }

.dish-surface {
  position: relative;
  min-height: clamp(11rem, 17vw, 17rem);
  overflow: hidden;
  border: 1px solid rgba(23, 33, 23, .16);
  border-radius: 1.15rem;
  background: linear-gradient(145deg, rgba(255, 255, 255, .34), rgba(185, 201, 135, .36));
  box-shadow: inset 8px 9px 25px rgba(255, 255, 255, .25), inset -10px -13px 24px rgba(48, 75, 42, .18);
}

.dish-surface::before { content: ""; position: absolute; inset: 8%; border: 1px solid rgba(255, 255, 255, .42); border-radius: 50%; transform: rotate(-6deg); opacity: .65; }
.dish-surface::after { content: ""; position: absolute; width: 45%; aspect-ratio: 1; right: -18%; top: -30%; border-radius: 50%; background: rgba(244, 239, 221, .28); filter: blur(5px); }
.dish-plate { position: absolute; inset: 16% 12%; overflow: hidden; border: 1px solid rgba(23, 33, 23, .23); border-radius: 49% 51% 47% 53%; background: linear-gradient(145deg, #f7f0dd, #d8ddbb 62%, #aeb98b); box-shadow: 10px 14px 0 rgba(16, 26, 17, .18), inset 10px 10px 20px rgba(255, 255, 255, .54), inset -12px -13px 19px rgba(48, 75, 42, .18); transform: rotate(-6deg); }
.plate-large { inset: 13% 9%; transform: rotate(7deg); }
.plate-bowl { inset: 18% 14%; border-radius: 48% 52% 35% 65%; transform: rotate(-4deg); }
.dish-plate::before { content: ""; position: absolute; inset: 12%; border: 1px solid rgba(113, 140, 76, .32); border-radius: inherit; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .17); }

.food-item, .food-pile, .garnish, .sauce-dot, .food-bed, .sauce-swipe, .sweet-cream, .sweet-glaze, .sweet-dot { position: absolute; display: block; }
.bite { width: 25%; aspect-ratio: 1; border-radius: 42% 58% 51% 49%; background: linear-gradient(145deg, #d2a14b, #9d552f); box-shadow: inset 5px 5px 6px rgba(255, 239, 176, .36), 4px 6px 0 rgba(48, 75, 42, .22); }
.bite-a { left: 18%; top: 25%; transform: rotate(-13deg); }
.bite-b { left: 43%; top: 17%; transform: rotate(18deg) scale(.88); }
.bite-c { left: 59%; top: 39%; transform: rotate(42deg) scale(.78); }
.bite-d { left: 28%; top: 56%; transform: rotate(8deg) scale(.72); }
.garnish { width: 17%; aspect-ratio: .45; border-radius: 100% 0 100% 0; background: var(--olive-700); box-shadow: inset 4px -4px 0 rgba(211, 228, 140, .38); }
.garnish-a { left: 23%; top: 15%; transform: rotate(42deg); }
.garnish-b { right: 21%; bottom: 16%; transform: rotate(-28deg) scale(.75); }
.garnish-c { left: 17%; top: 21%; transform: rotate(-35deg) scale(.68); }
.garnish-d { right: 18%; bottom: 21%; transform: rotate(55deg) scale(.58); }
.garnish-e { left: 23%; top: 18%; transform: rotate(26deg) scale(.72); background: var(--copper); }
.garnish-f { right: 22%; top: 23%; transform: rotate(-47deg) scale(.55); background: var(--olive-700); }
.sauce-dot { width: 11%; aspect-ratio: 1; border-radius: 50%; background: var(--copper); box-shadow: 0 2px 0 rgba(48, 75, 42, .26); }
.sauce-dot-a { right: 21%; top: 27%; }

.food-bed { inset: 20% 13%; border-radius: 46% 54% 40% 60%; background: radial-gradient(circle at 18% 31%, var(--lime) 0 3%, transparent 3.8%), radial-gradient(circle at 72% 62%, var(--lime) 0 4%, transparent 4.8%), radial-gradient(circle at 56% 30%, #b3c66e 0 5%, transparent 5.8%), linear-gradient(145deg, #4a6c30, #8a9c4b 58%, #c3c974); box-shadow: inset 9px 8px 18px rgba(244, 239, 221, .22), inset -10px -10px 18px rgba(16, 26, 17, .23); transform: rotate(-4deg); }
.food-pile { width: 25%; aspect-ratio: 1.35; border-radius: 50%; background: linear-gradient(145deg, #c07638, #784324); box-shadow: inset 5px 5px 7px rgba(255, 214, 122, .3), 4px 6px 0 rgba(48, 75, 42, .23); }
.pile-a { left: 23%; top: 28%; transform: rotate(-18deg); }
.pile-b { left: 47%; top: 22%; transform: rotate(16deg) scale(.87); }
.pile-c { left: 43%; top: 53%; transform: rotate(-4deg) scale(.75); }
.sauce-swipe { width: 55%; height: 12%; left: 23%; bottom: 20%; border-radius: 50%; background: rgba(190, 119, 71, .7); filter: blur(2px); transform: rotate(-14deg); }

.sweet-cream { width: 59%; height: 47%; left: 21%; top: 28%; border-radius: 48% 52% 58% 42%; background: radial-gradient(circle at 35% 28%, #fff9e7 0 6%, transparent 6.5%), linear-gradient(140deg, #f7efd8, #d6c88f 72%, #a07845); box-shadow: inset 8px 8px 13px rgba(255, 255, 255, .52), inset -10px -9px 15px rgba(113, 76, 38, .18), 6px 7px 0 rgba(48, 75, 42, .2); transform: rotate(-8deg); }
.sweet-glaze { width: 49%; height: 9%; left: 27%; top: 42%; border-radius: 50%; background: rgba(190, 119, 71, .64); filter: blur(1.5px); transform: rotate(8deg); }
.sweet-dot { width: 10%; aspect-ratio: 1; border-radius: 50%; background: var(--copper); box-shadow: 2px 3px 0 rgba(48, 75, 42, .2); }
.sweet-dot-a { left: 22%; top: 32%; }
.sweet-dot-b { right: 28%; top: 27%; background: var(--olive-700); }
.sweet-dot-c { right: 24%; bottom: 26%; background: var(--brass); }

.food-stage-note { color: rgba(244, 239, 221, .58); font-size: .62rem; font-weight: 700; letter-spacing: .18em; writing-mode: vertical-rl; }
.stage-note-top { right: 1%; top: 7%; }
.stage-note-bottom { bottom: 6%; left: 1%; transform: rotate(180deg); }
.hero-real-media, .film-real-media { inset: 0; pointer-events: none; opacity: 0; transition: opacity .4s ease; }
.has-real-media { background: transparent; }
.has-real-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; border-radius: inherit; }
.has-real-media > :not(img) { visibility: hidden; }
.hero-real-media.has-real-media { z-index: 10; opacity: 1; }
.film-real-media.has-real-media { z-index: 4; opacity: 1; }

.hero-bottomline { position: absolute; right: clamp(1.1rem, 7vw, 7.5rem); bottom: 3.4rem; left: clamp(1.1rem, 7vw, 7.5rem); display: flex; justify-content: space-between; gap: 1rem; color: rgba(244, 239, 221, .62); font-size: .83rem; letter-spacing: .04em; }
.scroll-mark { color: var(--lime); font-size: 1.2rem; }

.chapter-header { display: grid; grid-template-columns: .15fr minmax(0, 1fr); gap: clamp(1.6rem, 6vw, 7rem); align-items: start; }
.chapter { display: grid; grid-template-columns: .15fr minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(1.6rem, 6vw, 7rem); min-height: 100svh; }
.chapter-reverse { grid-template-columns: .15fr minmax(0, 1.1fr) minmax(0, .9fr); }
.chapter-number { align-self: start; color: var(--copper); font-size: .7rem; font-weight: 800; letter-spacing: .18em; }
h2 { margin-bottom: 1.4rem; font-size: clamp(3.9rem, 7vw, 8.3rem); line-height: .86; }

.menu-panel { min-height: 100svh; background: linear-gradient(180deg, rgba(244, 239, 221, .025), rgba(244, 239, 221, .06)); }
.menu-panel .chapter-header { margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.menu-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.85rem, 2.2vw, 2.1rem); margin-left: clamp(1rem, 8vw, 9rem); }
.menu-card { position: relative; display: flex; min-height: 30rem; flex-direction: column; justify-content: space-between; gap: 1.2rem; overflow: hidden; border: 1px solid rgba(244, 239, 221, .3); border-radius: 1.6rem; padding: clamp(.9rem, 1.5vw, 1.25rem); color: var(--cream); background: linear-gradient(155deg, rgba(244, 239, 221, .13), rgba(32, 51, 30, .82) 58%, rgba(16, 26, 17, .9)); box-shadow: 14px 19px 0 rgba(16, 26, 17, .34), inset 0 0 40px rgba(211, 228, 140, .05); transform-style: preserve-3d; transition: transform .5s cubic-bezier(.2, .8, .2, 1), border-color .4s ease, box-shadow .5s ease; }
.menu-card:hover, .menu-card:focus-visible { transform: translateY(-13px) rotateX(2deg) rotateY(-2deg); border-color: var(--lime); box-shadow: 20px 27px 0 rgba(16, 26, 17, .39), 0 0 35px rgba(211, 228, 140, .17), inset 0 0 50px rgba(211, 228, 140, .1); }
.menu-card:focus-visible { outline: 3px solid var(--lime); outline-offset: 5px; }
.menu-card-top { color: var(--lime); }
.menu-index { color: var(--copper); }
.menu-rule { height: 1px; flex: 1; background: var(--line-strong); }
.menu-arrow { color: var(--lime); font-size: 1rem; }
.menu-media { position: relative; min-height: 17rem; overflow: hidden; border-radius: 1.2rem; transform: translateZ(26px); }
.menu-media .dish-surface { height: 100%; min-height: 17rem; }
.menu-card:nth-child(2) .menu-media { transform: translateZ(40px) rotate(2deg); }
.menu-card:nth-child(3) .menu-media { transform: translateZ(34px) rotate(-2deg); }
.menu-meta { position: relative; z-index: 2; }
.menu-meta h3 { margin-bottom: .55rem; font-family: Georgia, "Times New Roman", serif; color: var(--cream); font-size: clamp(2rem, 3vw, 3.3rem); font-weight: 400; letter-spacing: -.045em; line-height: .92; }
.menu-meta p { max-width: 20rem; margin-bottom: 0; color: rgba(244, 239, 221, .68); font-size: .88rem; line-height: 1.45; }

.service-ribbon { display: grid; grid-template-columns: minmax(12rem, .65fr) minmax(0, 1.35fr); gap: 2rem; align-items: center; margin: clamp(3rem, 6vw, 6rem) 0 0 clamp(1rem, 8vw, 9rem); padding: clamp(1.2rem, 2.4vw, 2rem); border: 1px solid rgba(211, 228, 140, .35); border-radius: 1.25rem; background: linear-gradient(105deg, rgba(211, 228, 140, .15), rgba(190, 119, 71, .12)); box-shadow: 12px 15px 0 rgba(16, 26, 17, .25), inset 0 0 32px rgba(244, 239, 221, .06); }
.service-title .eyebrow { margin-bottom: .75rem; }
.service-title strong { display: block; max-width: 17rem; font-family: Georgia, "Times New Roman", serif; color: var(--cream); font-size: clamp(1.5rem, 2.4vw, 2.35rem); font-weight: 400; letter-spacing: -.035em; line-height: .98; }
.service-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.service-list > span { display: flex; min-height: 4.1rem; flex-direction: column; justify-content: space-between; gap: .65rem; padding: .8rem; border: 1px solid rgba(244, 239, 221, .22); border-radius: .9rem; color: var(--cream); background: rgba(16, 26, 17, .23); font-size: .77rem; font-weight: 700; line-height: 1.15; }
.service-list b { color: var(--copper); font-size: .6rem; letter-spacing: .16em; }

.experience-panel { background: radial-gradient(circle at 68% 50%, rgba(190, 119, 71, .1), transparent 35rem); }
.pill-row { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.pill-row span { padding: .62rem .82rem; border: 1px solid rgba(211, 228, 140, .4); border-radius: 999px; color: var(--lime); font-size: .73rem; letter-spacing: .05em; }
.film-wrap { position: relative; padding: 1rem 0 3.5rem; }
.film-frame { position: relative; min-height: clamp(22rem, 45vw, 38rem); overflow: hidden; border: 1px solid rgba(244, 239, 221, .38); border-radius: 2rem; background: linear-gradient(140deg, #4b672f, #182819 52%, #a57443); box-shadow: 24px 28px 0 rgba(16, 26, 17, .42), inset 0 0 60px rgba(244, 239, 221, .12); transform: rotate(2.5deg); }
.film-frame::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, rgba(244, 239, 221, .2), transparent 35% 65%, rgba(211, 228, 140, .14)); mix-blend-mode: screen; }
.film-grid { position: absolute; inset: -30%; opacity: .5; background: linear-gradient(90deg, transparent 48%, rgba(244, 239, 221, .13) 49% 51%, transparent 52%), linear-gradient(0deg, transparent 48%, rgba(244, 239, 221, .13) 49% 51%, transparent 52%); background-size: 4.2rem 4.2rem; transform: rotate(24deg) scale(1.2); animation: grid-drift 22s linear infinite; }
.film-sun { position: absolute; width: 46%; aspect-ratio: 1; top: 13%; right: 13%; border-radius: 50%; background: radial-gradient(circle, var(--lime) 0 12%, rgba(211, 228, 140, .55) 13% 23%, rgba(211, 228, 140, .13) 24% 40%, transparent 41%); filter: blur(.2px); animation: sun-float 8s ease-in-out infinite; }
.film-orbit { position: absolute; border: 1px solid rgba(244, 239, 221, .55); border-radius: 50%; transform: rotate(-24deg); animation: orbit-drift 10s ease-in-out infinite; }
.film-orbit.orbit-a { width: 78%; aspect-ratio: 1.6; left: -15%; top: 28%; }
.film-orbit.orbit-b { width: 60%; aspect-ratio: 1.4; right: -6%; bottom: -5%; animation-delay: -4s; }
.film-leaf { position: absolute; width: 13%; aspect-ratio: .55; border-radius: 100% 0 100% 0; background: var(--lime); box-shadow: inset 5px -4px 0 rgba(48, 75, 42, .35), 10px 14px 0 rgba(16, 26, 17, .22); animation: leaf-float 7s ease-in-out infinite; }
.film-leaf::after { content: ""; position: absolute; width: 1px; height: 118%; left: 54%; top: -8%; background: rgba(32, 51, 30, .62); transform: rotate(24deg); }
.leaf-one { left: 20%; bottom: 26%; transform: rotate(-33deg); }
.leaf-two { left: 43%; top: 19%; transform: rotate(30deg) scale(.68); animation-delay: -2s; }
.leaf-three { right: 18%; bottom: 21%; transform: rotate(58deg) scale(.8); animation-delay: -4s; }
.film-pour { position: absolute; width: 25%; aspect-ratio: .7; left: 35%; top: 28%; border: 1px solid rgba(244, 239, 221, .42); border-radius: 50% 50% 30% 30%; background: linear-gradient(90deg, transparent 20%, rgba(208, 163, 76, .65) 22% 65%, transparent 67%); filter: blur(.25px); transform: rotate(22deg); animation: pour-float 6s ease-in-out infinite; }
.film-caption { position: absolute; right: 1.3rem; bottom: 1.1rem; left: 1.3rem; display: flex; justify-content: space-between; gap: 1rem; color: var(--cream); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.film-toggle { position: absolute; right: 1.2rem; bottom: .3rem; display: inline-flex; align-items: center; gap: .6rem; cursor: pointer; border: 1px solid rgba(211, 228, 140, .56); border-radius: 999px; padding: .56rem .78rem; color: var(--ink); background: var(--lime); font-size: .7rem; font-weight: 800; box-shadow: 0 8px 0 rgba(16, 26, 17, .35); transition: transform .3s ease, background .3s ease; }
.film-toggle:hover, .film-toggle:focus-visible { transform: translateY(-3px); background: var(--cream); }
.film-frame.is-paused * { animation-play-state: paused !important; }
.play-icon { font-size: .85rem; }

.founder-panel { min-height: 100svh; background: linear-gradient(180deg, rgba(211, 228, 140, .035), transparent 36%, rgba(190, 119, 71, .06)); }
.founder-panel .chapter-header { margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.founder-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.85rem, 2.2vw, 2rem); margin-left: clamp(1rem, 8vw, 9rem); }
.founder-card { position: relative; min-height: 25rem; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(244, 239, 221, .29); border-radius: 1.5rem; padding: 1rem; background: linear-gradient(155deg, rgba(244, 239, 221, .11), rgba(32, 51, 30, .78)); box-shadow: 12px 16px 0 rgba(16, 26, 17, .32); transform-style: preserve-3d; transition: transform .5s cubic-bezier(.2, .8, .2, 1), border-color .4s ease, background .4s ease; }
.founder-card:hover, .founder-card:focus-visible { transform: translateY(-11px) rotateX(2deg) rotateY(-2deg); border-color: var(--lime); background: linear-gradient(155deg, rgba(211, 228, 140, .22), rgba(32, 51, 30, .78)); }
.founder-card:focus-visible { outline: 3px solid var(--lime); outline-offset: 5px; }
.founder-avatar { position: relative; display: grid; place-items: center; width: 78%; max-width: 15rem; aspect-ratio: 1; margin: 1.5rem auto 0; border: 1px solid rgba(244, 239, 221, .42); border-radius: 45% 55% 48% 52%; box-shadow: 15px 20px 0 rgba(16, 26, 17, .34), inset 0 0 35px rgba(244, 239, 221, .15); transform: rotate(-5deg) translateZ(30px); animation: avatar-breathe 6s ease-in-out infinite; }
.avatar-olive { background: radial-gradient(circle at 34% 25%, rgba(211, 228, 140, .9), transparent 13%), linear-gradient(145deg, #718c4c, #20331e); }
.avatar-copper { background: radial-gradient(circle at 68% 28%, rgba(244, 239, 221, .75), transparent 13%), linear-gradient(145deg, #be7747, #59321f); transform: rotate(5deg) translateZ(30px); animation-delay: -2s; }
.avatar-lime { background: radial-gradient(circle at 28% 20%, rgba(244, 239, 221, .85), transparent 13%), linear-gradient(145deg, #b9c987, #536b36); transform: rotate(-2deg) translateZ(30px); animation-delay: -4s; }
.avatar-halo { position: absolute; inset: 10%; border: 1px solid rgba(244, 239, 221, .4); border-radius: 50%; transform: rotate(18deg); }
.avatar-face { position: absolute; width: 43%; aspect-ratio: .86; left: 28%; top: 27%; border: 2px solid var(--ink); border-radius: 48% 52% 45% 55%; background: #daa673; box-shadow: inset -8px -8px 0 rgba(92, 65, 39, .15); }
.avatar-face::before { content: ""; position: absolute; width: 88%; height: 30%; left: 6%; top: -6%; border-radius: 55% 45% 40% 48%; background: var(--ink); transform: rotate(-8deg); }
.avatar-face::after { content: "•  •"; position: absolute; left: 27%; top: 42%; color: var(--ink); font-size: .65rem; letter-spacing: .25rem; }
.avatar-mark { position: relative; z-index: 2; margin-top: 45%; color: var(--cream); font-family: Georgia, serif; font-size: clamp(2.4rem, 5vw, 4.6rem); font-weight: 700; text-shadow: 4px 5px 0 rgba(16, 26, 17, .36); }
.founder-meta { padding: .9rem .4rem .3rem; }
.founder-index { color: var(--lime); font-size: .66rem; font-weight: 800; letter-spacing: .18em; }
.founder-meta h3 { margin: .42rem 0 .2rem; font-family: Georgia, "Times New Roman", serif; color: var(--cream); font-size: clamp(1.7rem, 2.8vw, 2.6rem); font-weight: 400; letter-spacing: -.04em; line-height: .96; }
.founder-meta p { margin-bottom: 0; color: var(--copper); font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }

.team-panel { grid-template-rows: auto auto; }
.team-grid { grid-column: 2 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.8rem, 2.2vw, 2rem); }
.team-card { position: relative; min-height: 25rem; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; border: 1px solid rgba(244, 239, 221, .27); border-radius: 1.5rem; padding: 1rem; background: linear-gradient(155deg, rgba(244, 239, 221, .1), rgba(32, 51, 30, .72)); box-shadow: 12px 16px 0 rgba(16, 26, 17, .3); transition: transform .5s cubic-bezier(.2, .8, .2, 1), border-color .5s ease, background .5s ease; }
.team-card:hover, .team-card:focus-within { transform: translateY(-10px) rotateX(2deg) rotateY(-2deg); border-color: var(--lime); background: linear-gradient(155deg, rgba(211, 228, 140, .22), rgba(32, 51, 30, .72)); }
.mini-character { position: relative; width: 78%; max-width: 13rem; aspect-ratio: .8; margin: 0 auto; filter: drop-shadow(10px 14px 0 rgba(16, 26, 17, .3)); transform: rotate(-4deg); animation: character-breathe 5s ease-in-out infinite; }
.mini-head { position: absolute; width: 66%; aspect-ratio: 1; left: 17%; top: 5%; border: 2px solid var(--ink); border-radius: 48% 42% 50% 44%; background: #d9a56f; }
.mini-head::before { content: ""; position: absolute; width: 86%; height: 34%; top: -7%; left: 7%; border-radius: 50%; background: var(--ink); }
.mini-head::after { content: "••"; position: absolute; left: 31%; top: 40%; color: var(--ink); font-size: 1rem; letter-spacing: .75rem; }
.mini-body { position: absolute; width: 82%; height: 56%; left: 9%; bottom: 4%; border: 2px solid var(--ink); border-radius: 47% 47% 18% 18%; background: var(--cream); }
.mini-accent { position: absolute; width: 28%; aspect-ratio: 1; right: 4%; top: 42%; border-radius: 50%; background: var(--copper); box-shadow: 0 0 0 6px rgba(190, 119, 71, .18); }
.character-gesture { transform: rotate(4deg) scale(.95); }
.character-gesture .mini-body { background: var(--lime); }
.character-gesture .mini-accent { background: var(--olive-700); }
.character-room { transform: rotate(-1deg) scale(.9); }
.character-room .mini-body { background: var(--copper); }
.character-room .mini-accent { background: var(--lime); }
.team-meta { padding: .8rem .4rem .3rem; }
.team-index { color: var(--lime); font-size: .66rem; font-weight: 800; letter-spacing: .18em; }
.team-meta h3 { margin: .4rem 0 .15rem; font-family: Georgia, serif; color: var(--cream); font-size: clamp(1.7rem, 2.8vw, 2.6rem); font-weight: 400; }
.team-meta p { margin-bottom: 0; color: rgba(244, 239, 221, .6); font-size: .8rem; line-height: 1.45; }

.contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .55fr); align-items: center; gap: 4rem; min-height: 82svh; overflow: hidden; }
.contact::before { content: ""; position: absolute; width: 58vw; max-width: 54rem; aspect-ratio: 1; right: -19vw; top: 8%; border: 1px solid rgba(211, 228, 140, .34); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(211, 228, 140, .04), 0 0 0 7rem rgba(211, 228, 140, .025); }
.contact-copy { position: relative; z-index: 1; }
.contact-cta { margin-top: 2.2rem; min-height: 58px; padding-inline: 1.6rem 1.3rem; font-size: .9rem; }
.contact-mark { position: relative; z-index: 1; display: grid; place-items: center; width: min(30vw, 20rem); aspect-ratio: 1; border: 1px solid rgba(244, 239, 221, .28); border-radius: 50%; color: var(--lime); background: radial-gradient(circle, rgba(211, 228, 140, .18), rgba(32, 51, 30, .08) 58%, transparent 60%); box-shadow: 0 18px 0 rgba(16, 26, 17, .3), inset 0 0 45px rgba(211, 228, 140, .08); transform: rotate(8deg); }
.contact-mark span { font-family: Georgia, serif; font-size: clamp(3rem, 8vw, 7rem); letter-spacing: -.12em; }
.contact-mark small { position: absolute; bottom: 25%; font-size: .62rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }

.bottom-dock { position: fixed; z-index: 40; right: clamp(1rem, 4vw, 4.5rem); bottom: clamp(1rem, 2.7vw, 2.2rem); left: clamp(1rem, 4vw, 4.5rem); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.45rem, 1vw, .9rem); max-width: 72rem; margin-inline: auto; }
.dock-tile { position: relative; isolation: isolate; display: flex; min-height: clamp(3.8rem, 7vw, 5.7rem); flex-direction: column; align-items: flex-start; justify-content: space-between; overflow: hidden; border: 1px solid rgba(244, 239, 221, .34); border-radius: 1rem; padding: .78rem .88rem; color: rgba(244, 239, 221, .7); background: linear-gradient(145deg, rgba(32, 51, 30, .88), rgba(16, 26, 17, .9)); box-shadow: 0 10px 0 rgba(16, 26, 17, .55), inset 0 0 0 1px rgba(211, 228, 140, .04), inset 0 0 30px rgba(211, 228, 140, .05); font-size: .72rem; font-weight: 800; letter-spacing: .06em; transition: transform .45s cubic-bezier(.2, .8, .2, 1), color .35s ease, background .35s ease, border-color .35s ease; }
.dock-tile::before { content: ""; position: absolute; z-index: -1; width: 140%; aspect-ratio: 1; right: -45%; top: -70%; border-radius: 50%; background: rgba(211, 228, 140, .13); transition: transform .55s ease; }
.dock-tile::after { content: "↗"; position: absolute; right: .85rem; bottom: .65rem; color: var(--lime); font-size: .9rem; opacity: .72; }
.dock-tile:hover, .dock-tile:focus-visible, .dock-tile.is-active { transform: translateY(-8px); color: var(--ink); border-color: var(--lime); background: linear-gradient(145deg, var(--lime), var(--olive-300)); box-shadow: 0 14px 0 rgba(16, 26, 17, .58), 0 0 28px rgba(211, 228, 140, .2), inset 0 0 0 1px rgba(244, 239, 221, .55); }
.dock-tile:hover::before, .dock-tile:focus-visible::before, .dock-tile.is-active::before { transform: scale(1.65); background: rgba(244, 239, 221, .2); }
.dock-tile.is-active::after, .dock-tile:hover::after, .dock-tile:focus-visible::after { color: var(--ink); }
.tile-number { color: var(--copper); font-size: .62rem; letter-spacing: .18em; }
.dock-tile.is-active .tile-number, .dock-tile:hover .tile-number, .dock-tile:focus-visible .tile-number { color: var(--olive-700); }

.scroll-progress { position: fixed; z-index: 50; top: 0; right: 0; left: 0; height: 2px; pointer-events: none; background: rgba(244, 239, 221, .1); }
.scroll-progress span { display: block; width: 0; height: 100%; background: var(--lime); box-shadow: 0 0 12px var(--lime); transition: width .18s ease-out; }
a:focus-visible, button:focus-visible { outline: 3px solid var(--lime); outline-offset: 4px; }

@keyframes card-breathe { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@keyframes avatar-breathe { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }
@keyframes grid-drift { from { transform: rotate(24deg) scale(1.2) translate3d(0, 0, 0); } to { transform: rotate(24deg) scale(1.2) translate3d(7%, -6%, 0); } }
@keyframes sun-float { 0%, 100% { transform: translate3d(0, 0, 0) scale(.95); } 50% { transform: translate3d(-3%, 4%, 0) scale(1.07); } }
@keyframes orbit-drift { 0%, 100% { transform: rotate(-24deg) translate3d(0, 0, 0); } 50% { transform: rotate(-20deg) translate3d(2%, -2%, 0); } }
@keyframes leaf-float { 0%, 100% { margin-top: 0; } 50% { margin-top: -12px; } }
@keyframes pour-float { 0%, 100% { translate: 0 0; opacity: .62; } 50% { translate: 4% -8%; opacity: .9; } }
@keyframes character-breathe { 0%, 100% { translate: 0 0; } 50% { translate: 0 -7px; } }

@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr; gap: 1rem; }
  .hero-copy { max-width: 45rem; }
  .food-stage { min-height: clamp(28rem, 66vw, 42rem); max-width: 52rem; width: 100%; justify-self: center; }
  .menu-grid, .founder-grid { margin-left: 0; }
  .chapter, .chapter-reverse { grid-template-columns: .1fr 1fr; }
  .chapter-copy { grid-column: 2; }
  .film-wrap { grid-column: 2; }
  .team-panel { grid-template-rows: auto auto auto; }
  .team-grid { grid-column: 2; }
}

@media (max-width: 860px) {
  .menu-grid, .founder-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-card:last-child, .founder-card:last-child { grid-column: 1 / -1; max-width: calc(50% - .5rem); justify-self: center; width: 100%; }
  .service-ribbon { grid-template-columns: 1fr; margin-left: 0; }
}

@media (max-width: 700px) {
  .site-header { min-height: 64px; padding: 13px 1rem; }
  .wordmark { font-size: .96rem; }
  .top-cta { min-height: 40px; gap: .55rem; padding: .55rem .72rem .55rem .9rem; font-size: .66rem; }
  .header-actions { gap: .75rem; }
  .panel { padding-right: 1rem; padding-left: 1rem; }
  .panel::after { right: 1rem; left: 1rem; }
  .hero { min-height: auto; padding-top: 8rem; }
  h1 { font-size: clamp(4.1rem, 19vw, 7rem); }
  h2 { font-size: clamp(3.7rem, 18vw, 6.4rem); }
  .food-stage { min-height: 28rem; margin-top: 1.6rem; }
  .food-card-back { width: 43%; left: -1%; top: 18%; }
  .food-card-main { width: 54%; right: 13%; top: 5%; }
  .food-card-front { width: 43%; right: -2%; bottom: 3%; }
  .food-card p { font-size: .65rem; }
  .food-stage-note { display: none; }
  .hero-bottomline { right: 1rem; bottom: 2.4rem; left: 1rem; font-size: .74rem; }
  .hero-signals { gap: .5rem .8rem; }
  .chapter, .chapter-reverse, .contact { display: block; min-height: auto; }
  .chapter-header { display: block; }
  .chapter-number { margin-bottom: 2.4rem; }
  .chapter-copy { margin-bottom: 3rem; }
  .film-wrap { margin-bottom: 1.4rem; }
  .film-frame { min-height: 23rem; }
  .menu-panel .chapter-header, .founder-panel .chapter-header { margin-bottom: 2.5rem; }
  .menu-grid, .founder-grid { grid-template-columns: 1fr; gap: 1rem; }
  .menu-card:last-child, .founder-card:last-child { grid-column: auto; max-width: none; justify-self: stretch; }
  .menu-card { min-height: 26rem; }
  .menu-media, .menu-media .dish-surface { min-height: 15rem; }
  .service-ribbon { gap: 1.3rem; margin-top: 3rem; }
  .service-list { grid-template-columns: 1fr; }
  .founder-card { min-height: 21rem; }
  .founder-avatar { width: 45%; min-width: 9rem; margin-top: .5rem; }
  .team-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
  .team-card { min-height: 19rem; }
  .mini-character { max-width: 10rem; }
  .contact-mark { width: min(58vw, 16rem); margin: 3.5rem auto 0; }
  .bottom-dock { right: .75rem; bottom: .7rem; left: .75rem; gap: .32rem; }
  .dock-tile { min-height: 3.7rem; border-radius: .75rem; padding: .55rem .48rem; font-size: .62rem; letter-spacing: .02em; }
  .dock-tile::after { right: .45rem; bottom: .42rem; font-size: .74rem; }
}

@media (max-width: 420px) {
  .top-cta { width: 2.6rem; overflow: hidden; white-space: nowrap; padding-inline: .78rem; }
  .top-cta [data-copy] { display: none; }
  .food-stage { min-height: 22rem; }
  .food-card { border-radius: 1.1rem; padding: .58rem; }
  .food-card-top { font-size: .5rem; }
  .food-card p { font-size: .55rem; }
  .dish-surface { min-height: 8rem; border-radius: .8rem; }
  .food-card-back { top: 19%; }
  .food-card-main { right: 10%; }
  .food-card-front { bottom: 5%; }
  .dock-tile { min-height: 3.45rem; padding: .4rem .28rem; font-size: .49rem; line-height: 1.05; letter-spacing: 0; }
  .dock-tile::after { display: none; }
  .tile-number { font-size: .5rem; letter-spacing: .08em; }
  .hero-bottomline { font-size: .63rem; }
}

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