:root{--ink:#17100d;--cream:#f5eddd;--paper:#fffaf0;--pink:#ef476f;--yellow:#f4c542;--teal:#168b86;--green:#5c7f35;--orange:#ed6a3a;--line:rgba(23,16,13,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}button,input{font:inherit}a{color:inherit}.topbar{height:94px;padding:10px clamp(18px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:2px solid var(--ink);background:var(--ink);color:white;position:relative;z-index:20}.brand{display:block;width:220px;height:72px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:cover;object-position:center}.topbar nav{display:flex;align-items:center;gap:30px}.topbar nav a{text-decoration:none;font-weight:600}.nav-menu,.button{border:2px solid currentColor;border-radius:999px;background:none;padding:13px 20px;font-weight:700;cursor:pointer}.nav-menu{color:var(--yellow)}.language{justify-self:end;display:flex;border:1px solid rgba(255,255,255,.45);border-radius:8px;padding:3px}.language button{border:0;background:transparent;color:white;font-weight:800;padding:7px 9px;border-radius:5px;cursor:pointer}.language button.active{background:var(--yellow);color:var(--ink)}
.hero{min-height:670px;position:relative;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border-bottom:2px solid var(--ink);background:var(--pink)}.sunburst{position:absolute;inset:0;background:repeating-conic-gradient(from -20deg at 74% 52%,rgba(255,255,255,.12) 0deg 13deg,transparent 13deg 27deg)}.hero-copy{position:relative;z-index:2;padding:clamp(70px,9vw,130px) 4vw 80px}.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin:0 0 18px}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(4.2rem,8vw,8.4rem);line-height:.82;letter-spacing:-.055em;margin:0;max-width:800px}.hero h1 em{color:var(--yellow);font-weight:700}.intro{font-size:clamp(1.05rem,1.5vw,1.28rem);max-width:570px;line-height:1.6;margin:34px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.button{text-decoration:none;display:inline-flex;align-items:center;gap:22px}.button.primary{background:var(--ink);color:white;border-color:var(--ink)}.button.ghost{background:rgba(255,250,240,.22)}.hero-art{position:relative;z-index:1;display:grid;place-items:center}.plate{width:min(37vw,490px);aspect-ratio:1;border-radius:50%;background:var(--paper);border:26px solid var(--teal);outline:5px solid var(--ink);box-shadow:20px 22px 0 var(--yellow),-25px -18px 0 var(--orange);display:grid;place-content:center;text-align:center;transform:rotate(5deg);position:relative}.plate:before{content:'✦  ✦  ✦';color:var(--pink);font-size:2rem;margin-bottom:12px}.plate span{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(3rem,6vw,6rem);line-height:1}.plate b{letter-spacing:.16em;text-transform:uppercase;margin-top:12px}.lime{position:absolute;width:100px;aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(var(--green) 0 7deg,#dbe27c 7deg 29deg);border:8px solid #527326}.lime-a{left:5%;top:14%}.lime-b{right:7%;bottom:12%;width:74px}.pepper{position:absolute;font-size:9rem;color:var(--orange);right:2%;top:8%;transform:rotate(-35deg)}.open-note{position:absolute;z-index:3;right:4vw;bottom:28px;background:var(--paper);border:2px solid var(--ink);padding:13px 18px;transform:rotate(-2deg);box-shadow:6px 6px 0 var(--ink)}.pulse{display:inline-block;width:9px;height:9px;border-radius:50%;background:#29a34a;margin-right:7px}.marquee{overflow:hidden;background:var(--yellow);border-bottom:2px solid var(--ink);padding:13px 0;font-weight:900;letter-spacing:.08em;white-space:nowrap}.marquee div{width:max-content;animation:scroll 28s linear infinite}@keyframes scroll{to{transform:translateX(-50%)}}
.story{padding:clamp(70px,9vw,130px) 4vw;display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;background:var(--paper)}.story-card h2,.menu-head h2,.visit-title h2{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5vw,5.4rem);line-height:.98;margin:0 0 28px;letter-spacing:-.04em}.story-card>p:not(.eyebrow){font-size:1.13rem;line-height:1.7;max-width:690px}.rating{margin-top:45px;padding-top:24px;border-top:2px solid var(--ink);display:flex;align-items:center;gap:16px}.rating strong{font-family:'Playfair Display',serif;font-size:3.2rem}.rating span{color:var(--orange);font-weight:900;letter-spacing:.08em}.rating small{display:block;color:var(--ink);letter-spacing:0;font-weight:500}.rating a{margin-left:auto;font-weight:800}.tiles{display:grid;gap:12px}.tile{border:2px solid var(--ink);padding:24px;min-height:155px;box-shadow:7px 7px 0 var(--ink);display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-content:center}.tile span{grid-row:1/3;font-size:.75rem;font-weight:900}.tile h3{font-family:'Playfair Display',serif;font-size:2rem;margin:0}.tile p{margin:6px 0 0}.yellow{background:var(--yellow)}.pink{background:var(--pink)}.teal{background:var(--teal);color:white}
.menu-panel{background:var(--ink);color:var(--paper);padding:clamp(60px,8vw,110px) 4vw}.menu-panel[hidden]{display:none}.menu-head{display:flex;justify-content:space-between;align-items:start}.menu-head h2{color:var(--yellow)}.menu-close{border:2px solid white;background:transparent;color:white;border-radius:50%;font-size:2rem;width:54px;height:54px;cursor:pointer}.menu-tools{position:sticky;top:0;z-index:10;background:var(--ink);padding:15px 0;display:grid;gap:16px}.search{display:flex;align-items:center;background:var(--paper);color:var(--ink);border-radius:8px;padding:0 16px;max-width:720px}.search span{font-size:1.6rem}.search input{border:0;outline:0;background:transparent;padding:15px;width:100%;font-size:1rem}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.category-tabs button{white-space:nowrap;border:1px solid rgba(255,255,255,.35);background:transparent;color:white;border-radius:999px;padding:9px 14px;cursor:pointer}.category-tabs button.active{background:var(--yellow);border-color:var(--yellow);color:var(--ink);font-weight:800}.result-count{color:#baaFA5}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.menu-item{border:1px solid rgba(255,255,255,.22);padding:20px;display:grid;grid-template-columns:1fr auto;gap:8px;min-height:125px}.menu-item h3{font-family:'Playfair Display',serif;font-size:1.35rem;margin:0}.menu-item .price{color:var(--yellow);font-weight:800}.menu-item p{grid-column:1/-1;color:#cfc5bb;margin:8px 0 0;line-height:1.5;font-size:.9rem}.menu-category{grid-column:1/-1;color:var(--pink);font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800}.no-results{text-align:center;padding:60px}.no-results strong{font-family:'Playfair Display',serif;font-size:2rem}
.visit{background:var(--teal);color:white;padding:clamp(70px,9vw,120px) 4vw}.visit-title{max-width:750px}.visit-title h2{color:var(--yellow)}.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);border:2px solid white;margin-top:45px}.visit-grid article{padding:32px;min-height:290px}.visit-grid article+article{border-left:2px solid white}.visit-grid .number{font-weight:900;color:var(--yellow)}.visit-grid h3{font-family:'Playfair Display',serif;font-size:2rem;margin:24px 0 12px}.visit-grid p{line-height:1.65}.visit-grid a{display:block;margin-top:20px;font-weight:800}.visit-grid small{display:block;color:#d2eeea}.cta-strip{margin-top:20px;background:var(--yellow);color:var(--ink);padding:23px 26px;display:flex;justify-content:space-between;align-items:center;font-family:'Playfair Display',serif;font-size:1.55rem;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}.cta-strip a{text-decoration:none}
footer{background:var(--ink);color:white;padding:60px 4vw 110px;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:35px}footer img{width:230px;height:95px;object-fit:cover}footer h3{color:var(--yellow);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em}footer a{display:block;margin:9px 0;text-decoration:none}footer p{line-height:1.6;color:#cfc5bb}.footer-bottom{grid-column:1/-1;border-top:1px solid #5a504b;padding-top:22px;display:flex;justify-content:space-between;color:#9e948e;font-size:.84rem}.mobile-actions{display:none}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto;height:82px}.brand{width:165px;height:62px}.topbar nav{display:none}.language{grid-column:2}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-bottom:40px}.hero-art{min-height:430px}.plate{width:min(74vw,430px)}.open-note{right:20px}.story{grid-template-columns:1fr}.menu-grid{grid-template-columns:repeat(2,1fr)}.visit-grid{grid-template-columns:1fr}.visit-grid article+article{border-left:0;border-top:2px solid white}.visit-grid article{min-height:0}footer{grid-template-columns:1fr 1fr}.footer-brand,.footer-bottom{grid-column:1/-1}.mobile-actions{position:fixed;z-index:50;bottom:10px;left:10px;right:10px;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.mobile-actions a{padding:10px 14px;text-decoration:none;display:flex;justify-content:space-between;align-items:center}.mobile-actions .whatsapp{background:#25d366;color:#092b15}.mobile-actions span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}}
@media(max-width:560px){.hero h1{font-size:3.8rem}.hero-art{min-height:330px}.lime{width:70px}.story,.visit,.menu-panel{padding-left:18px;padding-right:18px}.story-card h2,.menu-head h2,.visit-title h2{font-size:2.8rem}.rating{align-items:flex-start;flex-wrap:wrap}.rating a{width:100%;margin-left:0}.menu-grid{grid-template-columns:1fr}.cta-strip{align-items:flex-start;gap:12px;flex-direction:column}footer{grid-template-columns:1fr;padding-left:22px;padding-right:22px}.footer-bottom{display:grid;gap:10px}.topbar{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}}

/* Warmer, restaurant-inspired Mexican palette */
:root{--ink:#1b1510;--cream:#efe2c4;--paper:#fff7e5;--pink:#b6402a;--yellow:#e9bd35;--teal:#126d67;--green:#526b2e;--orange:#c95b2d;--line:rgba(27,21,16,.2)}
.hero{background:#b84b2f;color:#fff7e5}
.sunburst{background:repeating-conic-gradient(from -20deg at 74% 52%,rgba(240,190,55,.14) 0deg 12deg,transparent 12deg 25deg),linear-gradient(115deg,rgba(84,46,27,.28),transparent 48%)}
.story{background-color:var(--paper);background-image:linear-gradient(30deg,rgba(182,64,42,.045) 12%,transparent 12.5%,transparent 87%,rgba(182,64,42,.045) 87.5%),linear-gradient(150deg,rgba(18,109,103,.045) 12%,transparent 12.5%,transparent 87%,rgba(18,109,103,.045) 87.5%);background-size:48px 84px}
.tile.pink{background:#c35a32;color:#fff7e5}.marquee{background:#e9bd35}.visit{background:#126d67}
.wordmark{display:flex!important;flex-direction:column;justify-content:center;text-decoration:none;line-height:1}.wordmark span{font-family:'Playfair Display',serif;font-style:italic;font-weight:700;letter-spacing:-.04em}.wordmark small{text-transform:uppercase;letter-spacing:.28em;color:var(--yellow);font-size:.52rem;font-weight:900;margin:5px 0 0 14px}.brand.wordmark{height:auto;overflow:visible}.brand.wordmark span{font-size:2.4rem}.hero-logo{display:flex;flex-direction:column;align-items:flex-start;margin:0;line-height:.86;text-shadow:0 4px 0 rgba(27,21,16,.14)}.logo-name{font-family:'Playfair Display',serif;font-style:italic;font-weight:700;font-size:clamp(6rem,13vw,12rem);letter-spacing:-.065em}.logo-sub{display:flex;align-items:center;gap:clamp(8px,1.4vw,20px);margin-left:.35em;color:var(--yellow);text-transform:uppercase;font-size:clamp(1rem,2.1vw,2rem);font-weight:900;letter-spacing:.23em}.logo-sub b{display:block;color:#fff7e5;font-size:.62em;letter-spacing:.42em}.logo-sub i{font-style:normal;font-size:.8em;color:#fff7e5}.footer-brand .wordmark span{font-size:3.4rem}.footer-brand .wordmark small{font-size:.68rem;margin-left:22px}.footer-brand img{display:none}
@media(max-width:560px){.logo-name{font-size:5.3rem}.logo-sub{font-size:.83rem;letter-spacing:.14em;gap:7px}.logo-sub b{letter-spacing:.22em}.brand.wordmark span{font-size:2rem}}
.hero-art{margin:0;align-self:stretch;min-width:0;overflow:hidden;border-left:3px solid var(--ink);clip-path:polygon(9% 0,100% 0,100% 100%,0 100%,6% 72%,1% 48%,7% 24%)}
.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:58% center;filter:saturate(.92) contrast(1.03)}
.open-note{color:var(--ink);text-decoration:none;min-width:290px}.open-note strong{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.open-note small{display:block;margin:8px 0 0 17px;color:#5b5049;font-weight:600}
.logo-name,.wordmark span{font-family:'Cormorant Garamond','Times New Roman',serif!important;font-style:italic;font-weight:600!important;letter-spacing:-.07em;text-shadow:3px 4px 0 rgba(27,21,16,.42)}.logo-name{line-height:.68}.logo-sub{width:min(94%,610px);justify-content:space-between;margin-top:clamp(18px,2vw,28px)!important;margin-left:.1em!important}.logo-sub .brand-lines{display:flex;flex-direction:column;align-items:center;line-height:1.05}.logo-sub strong,.logo-sub b{display:block;text-transform:uppercase;font-family:'DM Sans',sans-serif;font-style:normal}.logo-sub strong{color:var(--yellow);font-size:1em;letter-spacing:.32em;text-shadow:2px 3px 0 rgba(27,21,16,.55)}.logo-sub b{color:#fff;font-size:.78em;letter-spacing:.38em;margin-top:5px;text-shadow:2px 3px 0 rgba(27,21,16,.55)}.fork{width:clamp(22px,2.5vw,34px);height:clamp(62px,6.8vw,92px);fill:none;stroke:#fff;stroke-width:3.5;stroke-linecap:square;stroke-linejoin:round;flex:none;filter:drop-shadow(2px 3px 0 rgba(27,21,16,.5))}.logo-sub .fork:last-child{transform:scaleX(-1)}
@media(max-width:900px){.hero-art{border-left:0;border-top:3px solid var(--ink);clip-path:polygon(0 7%,25% 2%,48% 8%,72% 1%,100% 6%,100% 100%,0 100%);min-height:460px}.hero-art img{min-height:460px}}
@media(max-width:560px){.hero-art,.hero-art img{min-height:360px}.hero-art img{object-position:66% center}}
.topbar{height:76px;grid-template-columns:1fr auto;background:var(--paper);color:var(--ink);border-bottom:2px solid var(--ink)}.topbar nav{justify-self:start}.topbar .language{grid-column:auto;background:var(--ink);border-color:var(--ink)}.topbar .language button{color:#fff}.topbar .language button.active{background:var(--yellow);color:var(--ink)}.nav-menu{color:var(--ink)}.logo-sub .fork:last-child{transform:none}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto}.topbar nav{display:flex}.topbar nav>a{display:none}.topbar .language{grid-column:auto}}
.topbar{position:absolute!important;inset:0 0 auto 0!important;background:transparent!important;border:0!important;box-shadow:none!important;padding-top:18px!important}.topbar nav{background:transparent}.topbar nav>a{background:var(--ink);color:#fff;padding:11px 15px;border-radius:999px}.topbar .nav-menu{background:var(--ink);color:var(--yellow);border-color:var(--ink)}.topbar .language{background:var(--ink)!important;border:2px solid var(--ink)!important}.fork{display:block!important;width:clamp(34px,3.3vw,48px)!important;height:clamp(78px,8vw,108px)!important;object-fit:contain!important;filter:drop-shadow(2px 3px 0 rgba(27,21,16,.5))!important}.logo-sub .fork:last-child{transform:none!important}
.topbar{display:flex!important;justify-content:flex-end!important}.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-logo{align-items:center!important;width:100%}.logo-sub{width:auto!important;gap:clamp(26px,4vw,58px)!important;margin-left:0!important}.intro{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}
.tiles{gap:10px}.tile{min-height:112px;padding:17px 20px}.tile h3{font-size:1.65rem}.tile p{font-size:.9rem}.tiles button.tile{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.tiles button.tile i{font-style:normal;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-top:9px}.tiles button.tile:hover,.tiles button.tile:focus-visible{transform:translate(-3px,-3px);box-shadow:10px 10px 0 var(--ink);outline:none}.story-map{position:relative;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink);min-height:230px;overflow:hidden;margin-top:4px}.story-map iframe{display:block;width:100%;height:230px;border:0;filter:saturate(.8) contrast(1.05)}.story-map a{position:absolute;right:12px;bottom:12px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:999px;text-decoration:none;font-weight:800;font-size:.82rem}.tiles .tile{display:block}.tiles .tile h3,.tiles .tile p,.tiles .tile i{display:block}.footer-logo{align-items:flex-start!important;width:245px!important}.footer-logo .logo-name{font-size:4.2rem}.footer-logo .logo-sub{gap:16px!important;margin-top:12px!important;width:230px!important}.footer-logo .fork{width:25px!important;height:58px!important}.footer-logo .brand-lines strong{font-size:.72rem}.footer-logo .brand-lines b{font-size:.58rem}.footer-brand>p{margin-top:22px}
.footer-logo{align-items:center!important;text-align:center!important}.footer-logo .logo-name{display:block;width:100%;text-align:center}.rating .review-link{margin:0;display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:#fff;text-decoration:none;padding:13px 18px;border-radius:999px}.rating .review-link>span:first-child{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;color:#4285f4;font-weight:900;letter-spacing:0}.rating .review-link>span:last-child{color:#fff;letter-spacing:0}
