:root{--paper:#fdfcfa;--paper-2:#f5f2ee;--card:#ffffff;--ink:#162d36;--ink-soft:#566a72;--ink-faint:#94a2a8;--line:rgba(22,45,54,0.12);--accent:#e6622b;--accent-deep:#c94e1d;--accent-soft:rgba(230,98,43,0.11);--serif:"Fraunces","Iowan Old Style",Georgia,serif;--sans:"Instrument Sans",ui-sans-serif,system-ui,sans-serif;--maxw:46rem}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body{font-family:var(--sans);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(130% 70% at 50% -20%,rgba(230,98,43,.06),transparent 60%),linear-gradient(180deg,var(--paper) 0,var(--paper-2) 100%);background-attachment:fixed;min-height:100vh;line-height:1.5}.wrap{max-width:var(--maxw);margin:0 auto;padding:clamp(2rem,6vw,4.5rem) clamp(1.2rem,5vw,2.5rem) 4rem}a{color:inherit;text-decoration:none}.brand{text-align:center;margin-bottom:clamp(2.4rem,7vw,3.8rem)}.brand__logo{display:block;width:min(280px,66vw);height:auto;margin:0 auto 1.8rem}.brand__title{font-family:var(--serif);font-optical-sizing:auto;font-weight:600;font-size:clamp(2rem,6.5vw,3rem);line-height:1.02;letter-spacing:-.015em;color:var(--ink)}.brand__tag{margin-top:.9rem;font-size:1rem;color:var(--ink-soft);font-style:italic;font-family:var(--serif);max-width:34ch;margin-left:auto;margin-right:auto}.langs{display:inline-flex;gap:.35rem;margin-top:1.5rem;padding:.28rem;background:var(--card);border:1px solid var(--line)}.lang,.langs{border-radius:999px}.lang{font-size:.76rem;font-weight:600;letter-spacing:.08em;padding:.34rem .85rem;color:var(--ink-soft);transition:color .2s,background .2s}.lang:hover{color:var(--ink)}.lang--active{background:var(--ink);color:#fff}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));grid-gap:1.1rem;gap:1.1rem}.card{position:relative;display:block;padding:1.6rem 1.5rem 1.4rem 1.7rem;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease}.card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.card:hover{transform:translateY(-4px);box-shadow:0 14px 32px -16px rgba(22,45,54,.42);border-color:transparent}.card__name{font-family:var(--serif);font-weight:600;font-size:1.5rem;line-height:1.1;letter-spacing:-.01em;color:var(--ink)}.card__barrio{margin-top:.4rem;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:600}.card__go{margin-top:1.1rem;font-size:.88rem;color:var(--ink-soft)}.card:hover .card__go{color:var(--accent-deep)}.carta-head{text-align:center;margin-bottom:clamp(2.2rem,6vw,3.2rem)}.carta-head__back{font-size:.78rem;letter-spacing:.05em;color:var(--ink-soft);text-transform:uppercase;display:inline-block;margin-bottom:1.6rem;transition:color .2s}.carta-head__back:hover{color:var(--accent)}.carta-head__name{font-family:var(--serif);font-weight:600;font-size:clamp(2.5rem,9vw,4.2rem);line-height:.98;letter-spacing:-.02em;color:var(--ink)}.carta-head__barrio{margin-top:.8rem;font-size:.78rem;letter-spacing:.26em;text-transform:uppercase;color:var(--accent);font-weight:600}.rule{display:flex;align-items:center;justify-content:center;gap:.8rem;margin:1.5rem auto 0}.rule:after,.rule:before{content:"";height:1px;width:min(4.5rem,16vw);background:linear-gradient(90deg,transparent,var(--line),transparent)}.rule__dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--accent);flex:none}.seccion{margin-top:clamp(2.2rem,6vw,3rem)}.seccion__head{display:flex;align-items:baseline;gap:.85rem;margin-bottom:1.4rem}.seccion__dot{width:.62rem;height:.62rem;border-radius:50%;background:var(--accent);flex:none;transform:translateY(-.12em);box-shadow:0 0 0 4px var(--accent-soft)}.seccion__title{font-family:var(--serif);font-weight:600;font-size:1.5rem;letter-spacing:.005em;color:var(--ink)}.seccion__line{flex:1 1;height:1px;background:var(--line);transform:translateY(-.35em)}.plato{display:flex;gap:1rem;padding:.95rem 0;border-bottom:1px dashed var(--line)}.plato:last-child{border-bottom:none}.plato__img{width:76px;height:76px;border-radius:12px;object-fit:cover;flex:none;border:1px solid var(--line)}.plato__body{flex:1 1;min-width:0}.plato__row{display:flex;align-items:baseline;gap:.5rem}.plato__name{font-family:var(--serif);font-weight:500;font-size:1.26rem;line-height:1.25;letter-spacing:-.005em;color:var(--ink)}.plato__leader{flex:1 1;border-bottom:2px dotted var(--line);transform:translateY(-.28em);min-width:1.5rem}.plato__price{font-family:var(--serif);font-weight:600;font-size:1.18rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent);white-space:nowrap}.plato__desc{margin-top:.32rem;max-width:42ch;font-size:.95rem;color:var(--ink-soft);line-height:1.45}.plato__finos{margin-top:.55rem;display:flex;flex-wrap:wrap;gap:.4rem}.chip{font-size:.72rem;letter-spacing:.02em;padding:.22rem .6rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);border:1px solid rgba(230,98,43,.24);font-weight:500}.vacio{text-align:center;padding:clamp(2.5rem,8vw,4rem) 1rem;border:1px dashed var(--line);border-radius:16px;background:var(--card)}.brand-dot{display:block;width:.9rem;height:.9rem;border-radius:50%;background:var(--accent);margin:0 auto 1.3rem;box-shadow:0 0 0 6px var(--accent-soft)}.vacio__title{font-family:var(--serif);font-weight:600;font-size:1.55rem;color:var(--ink)}.vacio__text{margin-top:.6rem;color:var(--ink-soft);font-size:.97rem;max-width:34ch;margin-left:auto;margin-right:auto}.foot{margin-top:clamp(3rem,9vw,5rem);text-align:center;font-size:.76rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint)}.foot__by{margin-top:.4rem}.foot a{color:var(--accent);border-bottom:1px solid transparent;transition:border-color .2s}.foot a:hover{border-color:var(--accent)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.rise{opacity:0;animation:rise .7s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i, 0) * 70ms)}@media (prefers-reduced-motion:reduce){.rise{animation:none;opacity:1}}