/* Native adaptations of 21st Hero Pill, Animated Hero and Shimmer Button.
   Full references and adaptation notes: ../DESIGN-SOURCES.md. */
:root{--cream:#f7f3e9;--ink:#292f24;--rust:#a3442b;--sage:#e2e7d3;--muted:#74776b;--line:#dddccb;--ease-out:cubic-bezier(.16,1,.3,1)}html{scroll-padding-top:125px}body{font-size:15px;line-height:1.65}button{cursor:pointer}.icon{display:inline-block;vertical-align:-.2em;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
header{position:sticky;top:14px;z-index:30;max-width:1270px;margin:14px auto 0;padding:9px 22px 9px 13px;border:1px solid #d8d6c5;background:#fffdf7ed;backdrop-filter:blur(16px);border-radius:24px;box-shadow:0 8px 28px #33361d06;gap:28px}.brand{width:111px;height:66px;margin-right:auto}.brand img{transform:scale(1.24)}nav{gap:28px;font-size:12px}.button{border-radius:100px;padding:16px 23px;gap:17px;transition:transform .18s var(--ease-out),background .18s,box-shadow .18s}header>.button{padding:12px 18px;min-height:44px;font-size:11px}.plain-link{display:inline-flex;gap:10px;align-items:center;font-weight:500;border-bottom-color:var(--line)}
.hero{max-width:1270px;margin:auto;grid-template-columns:1fr 1.08fr;gap:54px;padding:67px 0 72px}.hero-copy,.hero-collage{min-width:0}.hero-pill{display:inline-flex;gap:9px;align-items:center;font-size:10px;padding:6px 7px 6px 13px;border:1px solid #d7d9c6;border-radius:100px;background:#f0f1e6;transition:background .18s}.pill-dot{width:6px;height:6px;background:#697b4f;border-radius:50%;flex:none}.pill-arrow{display:flex;border-radius:50%;padding:5px;background:#e1e7d0;margin-left:5px}.pill-arrow .icon{width:13px;height:13px}.hero h1{font-size:clamp(52px,4.7vw,72px);font-weight:500;line-height:1.08;letter-spacing:-3px;margin:25px 0 24px}.hero-intro{max-width:400px;font-size:14px;line-height:1.85}.hero-actions{gap:25px;flex-wrap:wrap;margin-top:29px}.hero-details{display:flex;gap:20px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:10px;margin-top:28px}.hero-details>span{display:flex;gap:8px;align-items:center}.hero-details .icon{width:16px;height:16px;color:var(--rust)}.hero-details>span:last-child{padding-left:20px;border-left:1px solid var(--line)}
.facade-card{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fffdf7;box-shadow:0 14px 40px #33361d08}.facade-card>img{width:100%;height:auto;aspect-ratio:700/413;object-fit:cover}.facade-card figcaption{display:flex;gap:12px;align-items:center;padding:20px}.facade-card figcaption>.icon{color:var(--rust)}.facade-card figcaption>div{flex:1;min-width:0}.facade-card figcaption strong{font-size:11px;font-weight:600;display:block}.facade-card figcaption span{font-size:9px;color:var(--muted);display:block;margin-top:4px}.facade-card figcaption>a{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#f0f1e6;border-radius:50%;flex:none}.hero-bottom{display:grid;grid-template-columns:1.12fr 1fr;gap:15px;margin-top:15px}.time-card{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:24px 21px;background:var(--sage);border:1px solid #d5ddc0;border-radius:20px;align-items:center}.time-card>.icon{width:26px;height:26px;color:#66764f}.time-card div>span{font-size:8px;letter-spacing:1.2px;font-weight:600;display:block}.time-card strong{font:500 32px/1.2 'Fraunces',Georgia,serif;display:block;margin-top:5px;white-space:nowrap}.time-card strong i{font-size:18px;font-weight:500}.card-note{font-size:9px;color:#6b755e;grid-column:2}.takeaway-card{position:relative;border:1px solid #e7d4be;background:#f0e2d0;border-radius:20px;padding:21px 22px;display:block;transition:background .18s}.takeaway-card>span{font-size:8px;letter-spacing:1.1px;line-height:1.6;color:#876b50}.takeaway-card strong{font:500 23px/1.14 'Fraunces',Georgia,serif;display:block;margin-top:10px}.takeaway-card>.icon{position:absolute;right:18px;bottom:20px;color:#8d6545}
.service-bar{background:var(--ink);color:#ececda;border-color:var(--ink);padding:21px 25px;font-size:11px;letter-spacing:.3px;gap:42px}.service-bar i{width:15px;height:15px;display:block;color:#9fa786}.service-bar svg{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}.section{padding:90px 0}.meal-grid{grid-template-columns:1.1fr 1fr;gap:23px}.meal,.hours,.address,.review-grid article,.map-frame{border-radius:22px}.meal-copy{position:relative}.meal-copy a{align-items:center}.meal-copy p{min-height:68px}.meal-photo>span{background:#fffdf7ed;backdrop-filter:blur(8px);border-radius:100px;font-size:8px;letter-spacing:1px}.delivery-notice{background:#ede7da;border-color:#dcd0b9;border-radius:16px}.delivery-notice>a{display:flex;gap:8px;align-items:center}.delivery-notice>span{font-size:initial}.spotlight-card{--spot-x:50%;--spot-y:50%;position:relative;overflow:hidden;transition:border-color .2s,box-shadow .25s}.spotlight-card:before{content:'';pointer-events:none;position:absolute;inset:0;z-index:1;border-radius:inherit;background:radial-gradient(380px circle at var(--spot-x) var(--spot-y),#ad4b2d0c,transparent 70%);opacity:0;transition:opacity .3s}.review-grid article>a .icon,footer .icon{width:13px;height:13px}.story{padding-top:78px;padding-bottom:78px}.story-mark{border-radius:15px}.closing{padding:68px 5%}.reveal-pending{opacity:1}
.shimmer-button{position:relative;overflow:hidden;isolation:isolate}.shimmer-button:before{content:'';position:absolute;inset:-70% -40%;background:linear-gradient(110deg,transparent 30%,#fff3 48%,transparent 65%);transform:translateX(-100%);pointer-events:none}.shimmer-button>*{position:relative}.shimmer-button:focus-visible:before{animation:shimmer-pass .8s var(--ease-out)}@keyframes shimmer-pass{to{transform:translateX(100%)}}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #64311e13}.hero-pill:hover{background:#e7ebd8}.takeaway-card:hover{background:#e9d9c3}.spotlight-card:hover:before{opacity:1}.spotlight-card:hover{border-color:#c9b699;box-shadow:0 12px 34px #35261b07}.shimmer-button:hover:before{animation:shimmer-pass .8s var(--ease-out)}}
@media(max-width:1380px){header{margin-left:4%;margin-right:4%}.hero{margin-left:6%;margin-right:6%;gap:36px}.hero h1{font-size:65px;letter-spacing:-2.6px}}
@media(max-width:1050px){header{gap:18px}nav{gap:18px;font-size:11px}.brand{width:92px;height:60px}header>.button{font-size:10px;padding:12px 15px}.hero{gap:27px;padding-top:48px}.hero h1{font-size:53px;letter-spacing:-2px}.hero-actions{gap:15px}.hero-actions .button{padding:14px 18px;font-size:11px}.hero-intro{font-size:13px}.hero-details{gap:13px;font-size:9px}.hero-details>span:last-child{padding-left:13px}.facade-card figcaption{padding:16px 13px;gap:8px}.facade-card figcaption strong{font-size:10px}.facade-card figcaption span{font-size:8px}.hero-bottom{gap:10px}.time-card{padding:19px 13px;gap:9px}.time-card>.icon{width:20px;height:20px}.time-card strong{font-size:27px}.time-card div>span{font-size:7px;letter-spacing:.7px}.takeaway-card{padding:18px 15px}.takeaway-card strong{font-size:20px}.takeaway-card>span{font-size:7px}.takeaway-card>.icon{right:12px;bottom:17px;width:16px;height:16px}.service-bar{gap:28px}}
@media(max-width:760px){html{scroll-padding-top:105px}header{top:8px;margin-top:8px;margin-left:4%;margin-right:4%;padding:6px 10px 6px 5px;border-radius:18px;gap:10px}.brand{width:81px;height:57px}.brand img{transform:scale(1.23)}nav{display:none}nav.open{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:25px;background:#fffdf7;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px #292f2410;font-size:15px;gap:22px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:37px;height:37px;flex:none;background:transparent;border:1px solid var(--line);border-radius:11px}.menu-toggle span{display:block;width:15px;height:1px;background:var(--ink);transition:transform .18s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}header>.button{font-size:9px;gap:7px;padding:10px 12px;min-height:37px;margin-left:0}header>.button>.icon{width:14px;height:14px}.hero{grid-template-columns:1fr;gap:34px;padding:35px 0 40px}.hero h1{font-size:clamp(43px,10vw,65px);line-height:1.1;letter-spacing:-1.9px;margin:24px 0 20px}.hero-intro{font-size:13px;max-width:500px;line-height:1.85}.hero-pill{font-size:9px;padding-left:11px}.hero-actions{gap:20px;margin-top:24px}.hero-actions .button{font-size:11px;padding:15px 20px}.hero-details{margin-top:24px;font-size:9px}.hero-details>span:last-child{border:0;padding:0}.facade-card{border-radius:20px}.facade-card figcaption{padding:18px 14px}.facade-card figcaption strong{font-size:10px}.facade-card figcaption span{font-size:8px}.hero-bottom{gap:12px;margin-top:12px;grid-template-columns:1.1fr 1fr}.time-card{border-radius:17px;padding:21px 15px}.time-card strong{font-size:30px}.time-card div>span{font-size:7px}.takeaway-card{border-radius:17px;padding:20px 17px}.takeaway-card strong{font-size:22px}.card-note{font-size:8px}.service-bar{padding:19px 15px;gap:14px;flex-wrap:wrap;font-size:10px}.service-bar i,.service-bar svg{width:12px;height:12px}.section{padding:55px 0}.meal-grid{grid-template-columns:1fr;gap:20px}.meal-copy p{min-height:0}.story{padding:49px 6%}.closing{padding:50px 6%}.delivery-notice>a{font-size:10px}}
@media(max-width:380px){.hero h1{font-size:43px;letter-spacing:-1.8px}.hero-actions{gap:17px;align-items:flex-start;flex-direction:column}.hero-details{gap:8px;align-items:flex-start;flex-direction:column}.hero-details>span:last-child{padding-left:24px}.time-card{padding:18px 12px;grid-template-columns:1fr;gap:8px}.time-card>.icon{display:none}.card-note{grid-column:1}.time-card strong{font-size:29px}.takeaway-card{padding:18px 13px}.takeaway-card strong{font-size:21px}.takeaway-card>.icon{width:15px;height:15px;right:11px;bottom:17px}.facade-card figcaption>a{width:25px;height:25px}.service-bar{gap:11px;font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.meal:hover .meal-photo img,.button:hover{transform:none}}
/* Food-led hero: a continuous editorial canvas, with the real facade at #visite. */
.feast-hero{position:relative;display:block;isolation:isolate;overflow:hidden;max-width:1360px;margin:24px 3% 32px;padding:62px 5% 72px;min-height:690px;border-radius:28px;background:#22291f;color:#fff8ec}.feast-visual{position:absolute;inset:0 0 0 36%;z-index:-1;overflow:hidden}.feast-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#22291f 0%,#22291fbb 18%,#22291f15 55%),linear-gradient(0deg,#22291f70,transparent 35%)}.feast-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.image-note{position:absolute;right:25px;bottom:21px;z-index:2;font-size:9px;color:#fff9;letter-spacing:.5px}.feast-copy{position:relative;max-width:570px}.feast-hero .hero-pill{background:#ffffff0a;color:#e7e9d3;border-color:#ffffff32;font-size:9px;letter-spacing:1px;padding:9px 13px;gap:10px}.feast-hero .hero-pill .icon{width:13px;height:13px}.feast-hero .pill-dot{background:#c6ce98}.feast-hero h1{font-size:clamp(63px,6vw,87px);line-height:1.04;letter-spacing:-3.5px;font-weight:500;margin:26px 0 22px}.feast-hero h1 em{color:#e9af7a}.title-window{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}.title-window>span{display:block}.feast-hero .hero-intro{max-width:340px;color:#e6e5d2;font-size:13px;line-height:1.85}.feast-hero .hero-actions{margin-top:26px;gap:24px}.feast-hero .button{background:#f1d2aa;color:#262b20;border-color:#f1d2aa}.feast-hero .plain-link{font-size:11px;color:#fff7e7;border-color:#ffffff4d}.feast-hours{border-top:1px solid #ffffff30;margin-top:35px;padding-top:21px;max-width:360px;display:flex;flex-direction:column;gap:6px}.feast-hours>span{color:#d8bc96;letter-spacing:1.8px;font-size:8px}.feast-hours strong{font-weight:500;font-size:12px}.feast-hours i{font-style:normal;padding:0 6px;color:#caaa80}.feast-hours a{display:flex;align-items:center;gap:10px;font-size:10px;color:#d6d9c7}.feast-hours .icon{width:13px;height:13px}.hero-scroll{position:absolute;right:35px;bottom:58px;z-index:2;display:flex;align-items:center;gap:16px;font-size:8px;letter-spacing:1.5px}.hero-scroll .icon{width:36px;height:36px;border:1px solid #fff7;border-radius:50%;padding:9px}.location-photo{margin:0 0 24px;display:grid;grid-template-columns:1.2fr 1fr;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#eeecdf}.location-photo>img{width:100%;height:100%;object-fit:cover;aspect-ratio:700/413}.location-photo figcaption{padding:36px;align-self:center}.location-photo h3{font:500 37px/1.14 'Fraunces',Georgia,serif;margin:18px 0}.location-photo figcaption>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8;max-width:300px}.location-photo .plain-link{margin-top:10px}
@media(min-width:1450px){.feast-hero{margin-left:auto;margin-right:auto}}
@media(max-width:1050px) and (min-width:761px){.feast-hero{padding:50px 5%;min-height:680px}.feast-hero h1{font-size:68px}.feast-copy{max-width:430px}.feast-hero .hero-intro{max-width:290px}.feast-hero .hero-actions{gap:15px}.feast-hero .button{font-size:10px;padding:14px 17px}.hero-scroll{right:25px;bottom:28px}.hero-scroll span{display:none}.location-photo figcaption{padding:24px}.location-photo h3{font-size:30px}}
@media(max-width:760px){.feast-hero{margin:19px 4% 25px;padding:33px 25px 0;min-height:0;border-radius:22px}.feast-copy{max-width:none}.feast-hero h1{font-size:clamp(48px,12vw,75px);letter-spacing:-2px;margin:25px 0 20px}.feast-hero .hero-intro{max-width:400px;font-size:12px}.feast-hero .hero-actions{gap:18px;flex-direction:row;align-items:center;margin-top:24px}.feast-hero .button{font-size:10px;padding:14px 17px}.feast-hero .plain-link{font-size:10px}.feast-hours{margin-top:26px;padding-top:17px;gap:7px;max-width:none}.feast-hours strong{font-size:11px}.feast-visual{position:relative;inset:auto;margin:28px -25px 0;z-index:0;height:auto;aspect-ratio:1.5}.feast-visual:after{background:linear-gradient(180deg,#22291f 0%,#22291f00 35%)}.feast-visual img{object-position:center 55%}.image-note{right:15px;bottom:12px;font-size:8px}.feast-copy{z-index:1}.hero-scroll{display:none}.location-photo{grid-template-columns:1fr}.location-photo>img{height:auto}.location-photo figcaption{padding:25px}.location-photo h3{font-size:34px}}
@media(max-width:380px){.feast-hero{padding:28px 20px 0}.feast-hero h1{font-size:47px}.feast-hero .hero-actions{align-items:flex-start;flex-direction:column;gap:10px}.feast-visual{margin-left:-20px;margin-right:-20px}.feast-hero .hero-pill{font-size:8px}}
@media(max-width:760px){.feast-hero{display:flex;flex-direction:column;gap:0}.feast-copy{order:1}.feast-visual{order:2;flex:none;width:calc(100% + 50px)}}@media(max-width:380px){.feast-visual{width:calc(100% + 40px)}}
/* Readability: preserve display titles, enlarge supporting copy and controls. */
body{font-size:16px;line-height:1.7}nav{font-size:15px;gap:24px}.button,.plain-link,.address .plain-link{font-size:15px;line-height:1.45}.button{min-height:48px}header>.button{font-size:14px;min-height:44px}.eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.3px}.section-heading>p,.meal-copy p,.story-copy>p:not(.story-lead),.location-photo figcaption>p:not(.eyebrow){font-size:16px;line-height:1.8}.section-heading>p{max-width:360px}.meal-copy a{font-size:15px;line-height:1.6}.meal-photo>span{font-size:12px;letter-spacing:.6px}.meal-copy p{min-height:0}.menu-note,.source-note{font-size:13px;line-height:1.75}.delivery-notice strong{font-size:16px;line-height:1.6}.delivery-notice p,.delivery-notice>a{font-size:15px;line-height:1.7}.delivery-notice{flex-wrap:wrap}.hours-main>span,.closed-day,.address address{font-size:16px}.hours>p,.amenities{font-size:13px;line-height:1.7}.review-grid article>strong{font-size:15px}.review-origin,.review-grid article>a{font-size:13px;line-height:1.7}footer span,footer>div>a,footer>small{font-size:14px;line-height:1.8}footer{flex-wrap:wrap}.service-bar{font-size:14px;gap:28px}.feast-hero .hero-intro{font-size:16px;line-height:1.8;max-width:390px}.feast-hero .button,.feast-hero .plain-link{font-size:15px}.feast-hero .hero-pill{font-size:12px;letter-spacing:.8px}.feast-hours>span{font-size:12px;letter-spacing:1.4px}.feast-hours strong{font-size:15px}.feast-hours a{font-size:14px}.feast-hours{max-width:400px;gap:8px}.image-note,.hero-scroll{font-size:12px}.image-note{color:#fff;background:#22291fbf;padding:3px 8px;border-radius:5px}.hero-scroll{letter-spacing:.8px}
@media(max-width:1050px){header{gap:12px}nav{display:none}nav.open{display:flex;flex-direction:column;align-items:flex-start;position:absolute;top:calc(100% + 8px);left:0;right:0;padding:25px;background:#fffdf7;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 30px #292f2410;font-size:17px;gap:22px}.menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;flex:none;background:transparent;border:1px solid var(--line);border-radius:11px}.menu-toggle span{display:block;width:17px;height:1px;background:var(--ink);transition:transform .18s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}header>.button{font-size:14px}.feast-hero .hero-intro{max-width:370px}.feast-hero .button{font-size:15px}.section-heading{gap:25px}}
@media(max-width:760px){header{gap:8px;padding-right:8px}header>.button{font-size:13px;gap:7px;padding:10px 12px}.brand{width:75px}.feast-hero .hero-intro{font-size:16px;max-width:450px}.feast-hero .hero-actions{flex-direction:column;align-items:flex-start;gap:12px}.feast-hero .button,.feast-hero .plain-link{font-size:15px}.feast-hero .hero-pill{font-size:11px;letter-spacing:.5px}.feast-hours strong{font-size:15px}.feast-hours a{font-size:14px}.image-note{font-size:12px}.section-heading>p{font-size:16px;max-width:none}.service-bar{font-size:13px;gap:14px}.delivery-notice>a{font-size:15px}.location-photo figcaption>p:not(.eyebrow){font-size:16px}.address .plain-link{max-width:100%;width:auto}.meal-copy{padding:24px}.meal-copy a{gap:12px}.menu-note{font-size:13px}footer{grid-template-columns:1fr}footer>a,footer>small{grid-column:auto}}
@media(max-width:380px){header>.button{font-size:12px;padding:10px}.brand{width:65px}.feast-hero .hero-pill{font-size:10px;gap:7px}.feast-hero .hero-actions .button{padding-left:15px;padding-right:15px}.feast-hours strong{font-size:14px}.feast-hours a{font-size:13px}.feast-hours i{padding:0 3px}.service-bar{font-size:12px}.hours,.address{padding:24px}}
