:root{--paper:#eeeae1;--ink:#29231f;--line:#bdb2a8}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.6 Arial,sans-serif}a{color:inherit;text-underline-offset:6px}a:hover{opacity:.75}header{position:absolute;top:0;left:0;width:100%;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:24px 4%;color:white;gap:20px}.logo{font:25px Georgia,serif;letter-spacing:.04em;text-decoration:none}nav{display:flex;gap:22px}nav a{text-decoration:none}.pill{display:inline-block;padding:10px 22px;border:1px solid currentColor;border-radius:40px;text-decoration:none;background:#ffffff15;color:inherit;font:inherit;cursor:pointer;transition:background .2s}.pill:hover{background:#fff;color:#222;opacity:1}.opening{height:185svh}.scene{height:100svh;position:sticky;top:0;overflow:hidden}.visual{position:absolute;inset:0 auto 0 0;width:calc(100% - var(--split,0)*50%);overflow:hidden;color:#fff}.visual>img,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shade{background:linear-gradient(90deg,#0009,#0003),linear-gradient(0deg,#0008,transparent)}.hero-copy{position:absolute;top:22%;left:5vw;width:min(650px,80vw);opacity:calc(1 - var(--split,0));transform:translateY(calc(var(--split,0)*-30px))}h1{font:400 clamp(26px,3vw,49px)/1.15 Georgia,serif;margin:12px 0 25px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:bold;margin:0 0 18px}.hero-note{position:absolute;right:4vw;bottom:28%;text-align:right;opacity:calc(1 - var(--split,0))}.giant{position:absolute;bottom:1%;left:3%;font:28vw/.8 Georgia,serif;letter-spacing:-.06em;white-space:nowrap}.scroll{position:absolute;bottom:25px;right:4vw;font-size:10px;letter-spacing:.15em;opacity:calc(1 - var(--split,0))}.menu-panel{position:absolute;left:100%;width:50%;height:100%;padding:clamp(26px,6vh,70px) 5vw;transform:translateX(calc(var(--split,0)*-100%));background:var(--paper);overflow:auto}.menu-panel h2{font-size:clamp(34px,4.4vw,70px)}h2{font:400 clamp(36px,4.5vw,70px)/1.05 Georgia,serif;letter-spacing:-.04em;margin:0 0 25px}.dish{border-top:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:20px}.dish h3{font:400 19px Georgia,serif;margin:0}.dish p{font-size:12px;margin:5px 0 0;color:#65594f}.text-link{display:inline-block;margin-top:22px}.menu-panel small{display:block}.wrap{padding:80px 7%}.story,.visit,.reservation{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.story p{max-width:47ch;margin-top:0}.photo-section{height:60svh;min-height:330px;position:relative;overflow:hidden;color:white}.photo-section>img{width:100%;height:100%;object-fit:cover;filter:brightness(.6)}.photo-section>div{position:absolute;left:7%;bottom:10%}.hours{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;gap:20px}address{font-style:normal}.visit p{color:#65594f}.reservation{padding:70px 7%;background:#29201c;color:#f1ede5}form{display:grid;gap:14px}label{display:grid;gap:6px;font-size:12px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}input,select{width:100%;padding:12px;background:transparent;color:inherit;border:1px solid #a39589;font:inherit;border-radius:0;color-scheme:dark}option{color:#222;background:#fff}form button{justify-self:start}small{font-size:11px}#status:empty{display:none}footer{padding:30px 4%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c89352;outline-offset:4px}.reveal.arrived{animation:arrive .6s ease-out}@keyframes arrive{from{opacity:.4;transform:translateY(18px)}to{opacity:1;transform:none}}
@media(max-width:760px){header{padding:20px 5%;flex-wrap:wrap}nav{order:3;width:100%;gap:20px}header .pill{font-size:12px}.opening{height:auto}.scene{position:relative;height:auto;overflow:visible}.visual{position:relative;width:100%;height:100svh;min-height:550px}.hero-copy{opacity:1;transform:none;top:26%}.giant{font-size:28vw;bottom:8%}.hero-note{opacity:1;bottom:25%;left:5%;right:auto;text-align:left}.scroll{opacity:1}.menu-panel{position:relative;left:0;width:100%;height:auto;transform:none;padding:45px 7%;overflow:visible}.story,.visit,.reservation{grid-template-columns:1fr;gap:30px}.wrap{padding:48px 7%}footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.opening{height:auto}.scene{position:relative;height:auto}.visual{position:relative;width:100%;height:100svh}.hero-copy,.hero-note,.scroll{opacity:1;transform:none}.menu-panel{position:relative;left:0;transform:none;width:100%;height:auto;overflow:visible}}

@media(prefers-reduced-motion:no-preference){
  .reveal.arrived{animation:soft-arrival .85s cubic-bezier(.2,.7,.2,1) both}
  @keyframes soft-arrival{
    from{opacity:.35;transform:translateY(24px)}
    to{opacity:1;transform:translateY(0)}
  }
}

.back-top{position:fixed;right:22px;bottom:22px;z-index:10;width:46px;height:46px;border:1px solid #e9e3d8;border-radius:50%;background:#29201c;color:#fff;font-size:23px;cursor:pointer;box-shadow:0 3px 14px #0003;transition:background .2s,transform .2s}
.back-top:hover{background:#4c382c;transform:translateY(-2px)}
.back-top[hidden]{display:none}
@media(max-width:760px){.back-top{right:16px;bottom:16px}footer{padding-right:75px}}

.menu-page header{position:relative;background:#29201c}
.menu-intro{text-align:center;padding:70px 7% 35px}
.menu-intro h1{font-size:clamp(39px,6vw,84px);letter-spacing:-.035em}
.menu-filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:35px}
.menu-filters button{border:1px solid #9c8e81;border-radius:30px;padding:10px 20px;background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.menu-filters button:hover,.menu-filters [aria-pressed=true]{background:#29201c;color:white}
.full-menu{padding:10px 7% 60px}
.full-menu article{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:40px 0;border-bottom:1px solid var(--line);animation:arrive .5s ease-out}
.full-menu article[hidden]{display:none}
.menu-photo{position:relative}
.menu-photo img{display:block;width:100%;height:360px;object-fit:cover}
.menu-photo span{position:absolute;bottom:16px;left:16px;color:white;background:#29201c;padding:6px 12px;font-size:10px;letter-spacing:.12em}
.menu-dishes h2{font-size:clamp(32px,4vw,54px)}
.menu-note{text-align:center;font-size:12px;margin-top:30px;color:#65594f}
.menu-cta{text-align:center;background:#29201c;color:var(--paper);padding:65px 7%}
@media(max-width:760px){.full-menu article{grid-template-columns:1fr;gap:25px}.menu-photo img{height:280px}.menu-intro{padding-top:40px}}

@media (hover: hover) {
  .menu-filters button {
    transition: opacity .24s ease, transform .24s ease, background-color .24s ease, color .24s ease;
  }
  .menu-filters button:hover {
    opacity: .8;
    transform: translateY(-2px);
  }
  .menu-filters button:active {
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .menu-filters button:hover { transform: none; }
}

.visual {
  --wordmark-size: min(28vw, 34svh);
  --wordmark-bottom: 48px;
}
.giant {
  font-size: var(--wordmark-size);
  bottom: var(--wordmark-bottom);
}
.hero-note {
  bottom: calc(var(--wordmark-bottom) + var(--wordmark-size) * .8 + 20px);
  margin: 0;
}
.scroll {
  bottom: 16px;
  margin: 0;
}
