/* Restaurant hub only: a layered place setting, with a finite entrance. */
body[data-restaurant-hub] .restaurant-page{padding-top:20px}
body[data-restaurant-hub] .r-breadcrumb{margin-bottom:14px}
body[data-restaurant-hub] .r-intro{align-items:center;gap:28px;margin:8px 0 14px}
body[data-restaurant-hub] .r-intro>div:first-child{min-width:0}
body[data-restaurant-hub] .r-intro h1{font-size:clamp(34px,3.8vw,48px);line-height:1.06;margin:8px 0 12px}
body[data-restaurant-hub] .r-intro p{font-size:14px;line-height:1.65}
body[data-restaurant-hub] .r-intro .eyebrow{font-size:10px}
body[data-restaurant-hub] form.ef-bar{margin:12px 0 14px}
body[data-restaurant-hub] #restaurantCityCount{margin:12px 0;font-size:14px}
.rh-dining{position:relative;flex:0 0 210px;width:210px;min-height:0;margin:0 10px 12px 8px;isolation:isolate}
.rh-dining-orbit{position:absolute;inset:17px -13px 6px;border:1px solid #ccb997;border-radius:50%;transform:rotate(-23deg);z-index:-1}
.rh-dining-orbit:before,.rh-dining-orbit:after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:#a15b3c;top:42px;left:32px;box-shadow:0 0 0 6px #f3e8d9}
.rh-dining-orbit:after{top:auto;left:auto;bottom:43px;right:28px;width:5px;height:5px}
.rh-dining-menu{position:relative;min-height:0;padding:18px 14px 22px;background:#fffaf1;border:1px solid #decfb8;border-radius:135px 135px 23px 23px;box-shadow:0 17px 35px #62402b0e,4px 6px 0 #eadcc5;transform:rotate(-3deg);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s ease}
.rh-dining-heading{display:block;text-align:center;color:#856047;font:600 9px/1.5 Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;margin:4px 0 8px}
.rh-place-setting{display:grid;grid-template-columns:16px minmax(0,1fr) 16px;gap:6px;align-items:center}
.rh-utensil{display:block;width:16px;height:104px;color:#986d50}
.rh-dining-plate{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;border:1px solid #d3b991;background:radial-gradient(circle,#fffaf1 0 59%,#f2e7d6 60% 68%,#fffaf1 69%);box-shadow:inset 0 0 0 6px #fffaf1,inset 0 0 0 7px #e2d2b8}
.rh-dining-number{color:#88432f;font:normal 44px/.95 Georgia,serif;letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:5px 0 7px}
.rh-dining-label{font:11px/1.3 Arial,sans-serif;text-align:center;max-width:130px;color:#4d5d5b;padding:0 5px}
.rh-dining-spark{position:absolute;top:12px;width:12px;height:12px;color:#ad8153}
.rh-dining-rule{display:flex;align-items:center;gap:8px;margin:10px 12px 6px;color:#ac8153;font-size:11px}
.rh-dining-rule:before,.rh-dining-rule:after{content:'';height:1px;background:#dfcfb6;flex:1}
.rh-dining-footer{display:block;text-align:center;font:italic 12px/1.4 Georgia,serif;color:#6e5c47}
.rh-dining-total{position:relative;width:fit-content;margin:-14px -14px 0 auto;display:flex;align-items:center;gap:9px;padding:10px 15px 11px;background:#1e463d;color:#fff8e9;border:1px solid #3c5d50;border-radius:12px;box-shadow:0 12px 24px #1e463d20;transform:rotate(3deg);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.rh-dining-total svg{width:24px;height:24px;flex-shrink:0;color:#dec69a}
.rh-dining-total div{display:flex;flex-direction:column;gap:3px}
.rh-dining-total b{font:25px/1 Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px}
.rh-dining-total [data-hub]{font:10px/1.4 Arial,sans-serif;letter-spacing:.5px;color:#e9e1d1}
@media(hover:hover){.rh-dining:hover .rh-dining-menu{transform:rotate(0) translateY(-3px);box-shadow:0 22px 40px #62402b16,4px 6px 0 #eadcc5}.rh-dining:hover .rh-dining-total{transform:rotate(0) translateY(-4px)}}
.rh-dining.is-entering .rh-dining-menu{animation:rh-menu-arrive 1s cubic-bezier(.16,1,.3,1) both}
.rh-dining.is-entering .rh-dining-total{animation:rh-total-arrive 1s .2s cubic-bezier(.16,1,.3,1) both}
.rh-dining.is-entering .rh-dining-orbit{animation:rh-orbit-arrive 1.4s cubic-bezier(.16,1,.3,1) both}
@keyframes rh-menu-arrive{from{opacity:0;transform:translateY(22px) rotate(-8deg)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}
@keyframes rh-total-arrive{from{opacity:0;transform:translateY(20px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(3deg)}}
@keyframes rh-orbit-arrive{from{opacity:0;transform:rotate(-45deg) scale(.9)}to{opacity:1;transform:rotate(-23deg) scale(1)}}
@media(max-width:760px){body[data-restaurant-hub] .r-intro{flex-direction:column;align-items:stretch;gap:14px}body[data-restaurant-hub] .r-intro h1{font-size:32px}body[data-restaurant-hub] .r-intro p{font-size:13px}.rh-dining{flex:auto;align-self:center;width:180px;margin:0 10px 8px;min-height:0}.rh-dining-menu{padding:14px 10px 18px}.rh-dining-heading{font-size:8px;letter-spacing:.7px}.rh-dining-number{font-size:38px}.rh-dining-label{font-size:10px}.rh-dining-footer{font-size:11px}.rh-dining-total{margin-right:-8px;padding:8px 12px}.rh-dining-total b{font-size:23px}.rh-dining-spark{top:8px;width:10px;height:10px}.rh-utensil{height:88px}}
@media(prefers-reduced-motion:reduce){.rh-dining *{animation:none!important;transition:none!important}.rh-dining:hover .rh-dining-menu{transform:rotate(-3deg)}.rh-dining:hover .rh-dining-total{transform:rotate(3deg)}}

#restaurantPhotoCredits{width:min(900px,94vw)}
#restaurantPhotoCredits h2{font:clamp(28px,4vw,40px)/1.2 Georgia,serif;margin:16px 0 28px;padding-right:25px}
.rh-credits-close{display:flex;margin-left:auto}
.rh-credits-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px}
.rh-credits-list li{border-top:1px solid #dfcfb6;padding-top:12px;min-width:0;overflow-wrap:anywhere}
.rh-credits-list h3{font:22px/1.3 Georgia,serif;margin:0 0 6px}
.rh-credits-list p{font-size:12px;line-height:1.7;margin:0}
.rh-credits-list a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){.rh-credits-list{grid-template-columns:1fr}}
