:root{--black:#090909;--bone:#f2ecdf;--muted:#aaa396;--wine:#a8293f;--ochre:#d2a13d}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}
body{margin:0;background:var(--black);color:var(--bone);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
.welcome{--progress:0;position:relative;height:160svh;background:#030303;z-index:60}
.welcome-stage{position:sticky;top:0;height:100svh;overflow:hidden;background:#030303}
.entrance{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;transform:scale(calc(1 + var(--progress) * .34));filter:brightness(calc(.72 + var(--progress) * .14)) contrast(1.08);will-change:transform,filter}
.welcome-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 59%,transparent 0 19%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.67) 100%),linear-gradient(180deg,rgba(0,0,0,.3),transparent 30%,transparent 68%,#030303 100%);opacity:calc(1 - var(--progress) * .36)}
.welcome-content{position:absolute;z-index:2;left:50%;top:44%;width:min(74vw,330px);text-align:center;transform:translate(-50%,calc(-50% - var(--progress) * 80px)) scale(calc(1 + var(--progress) * .08));opacity:calc(1 - var(--progress) * 1.45);will-change:transform,opacity}
.brand{display:block;width:100%;filter:invert(1) sepia(.12) drop-shadow(0 4px 24px #000);mix-blend-mode:screen}
.welcome-content p{margin-top:1.15rem;color:#b9b0a2;font-size:clamp(.72rem,3vw,.8rem);letter-spacing:.18em;text-transform:uppercase;text-shadow:0 2px 12px #000}
.swipe{position:absolute;z-index:3;left:50%;bottom:max(28px,env(safe-area-inset-bottom));display:grid;justify-items:center;gap:10px;transform:translateX(-50%);opacity:calc(1 - var(--progress) * 2.4)}
.swipe span{white-space:nowrap;color:#e7dece;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 2px 10px #000}
.swipe i{width:1px;height:36px;background:linear-gradient(var(--ochre),transparent);animation:pulse 1.45s ease-in-out infinite}
@keyframes pulse{50%{transform:translateY(8px);opacity:.35}}
main{position:relative;z-index:4;background:var(--black)}
.topbar{position:sticky;top:0;z-index:50;height:72px;padding:9px 18px;display:flex;align-items:center;justify-content:space-between;background:rgba(9,9,9,.92);border-bottom:1px solid #24211e;backdrop-filter:blur(12px)}
.topbar img{width:clamp(132px,40vw,176px);height:50px;object-fit:contain;object-position:left center;mix-blend-mode:screen}
.topbar button{border:1px solid #4a4741;background:#111;color:var(--bone);padding:.65rem .9rem;border-radius:99px;font-size:.82rem;letter-spacing:.06em}
.categories{position:fixed;z-index:45;top:68px;right:14px;display:flex;flex-direction:column;background:#181614;border:1px solid #454039;border-radius:14px;padding:.45rem;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.25s}
.categories.show{transform:none;opacity:1;pointer-events:auto}.categories a{color:var(--bone);text-decoration:none;padding:.75rem 1rem;font-size:.88rem}
.intro{min-height:82svh;padding:clamp(6rem,17svh,9rem) clamp(22px,7vw,38px) 10svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:radial-gradient(circle at 76% 38%,#6d1d2c24,transparent 48%)}
.eyebrow{color:var(--ochre);font-size:clamp(.7rem,3vw,.8rem);letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.intro h1,.awards>h2,.place h2{max-width:100%;margin:.7rem 0 1.4rem;font:400 clamp(2.65rem,13vw,4.6rem)/.92 Georgia,serif;letter-spacing:-.055em}
.intro h1 em,.awards h2 em,.place h2 em{display:block;max-width:100%;color:var(--wine);font-weight:400;font-size:clamp(2.3rem,11.5vw,4.15rem);overflow-wrap:anywhere}
.intro>p:not(.eyebrow){max-width:19rem;color:var(--muted);line-height:1.55;font-size:1rem}.scroll{margin-top:auto;color:#777168;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.menu-section{padding:12svh clamp(22px,7vw,38px)}.section-head{display:flex;align-items:flex-end;gap:1rem;margin-bottom:2.4rem}.section-head span{padding-bottom:.35rem;color:var(--ochre);font:italic 1rem Georgia}.section-head h2{margin:0;font:400 clamp(2.6rem,12vw,3.2rem)/1 Georgia}
.dish{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:1.15rem 0;border-bottom:1px solid #292723}.dish h3{margin:0 0 .35rem;font-size:1.04rem;line-height:1.25}.dish p{margin:0;color:#918b82;font:italic .86rem/1.45 Georgia}.dish strong{white-space:nowrap;color:#ded5c7;font-size:.92rem}
.feature{position:relative;height:clamp(560px,78svh,720px);min-height:0;margin:0;overflow:hidden;background:#000}
.feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,9,9,.12) 0%,transparent 34%,rgba(9,9,9,.16) 52%,rgba(9,9,9,.92) 84%,var(--black) 100%)}
.feature img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.035);transition:transform 1.4s ease}.feature.visible img{transform:scale(1)}
.feature figcaption{position:absolute;z-index:2;left:clamp(22px,7vw,38px);right:clamp(22px,7vw,38px);bottom:clamp(34px,6svh,56px);text-shadow:0 2px 14px #000}
.feature small{display:block;color:#edbd59;font-size:.75rem;font-weight:700;letter-spacing:.2em;line-height:1.4;text-transform:uppercase}.feature h2{margin:.5rem 0 .65rem;font:400 clamp(3rem,14vw,4rem)/.88 Georgia}.feature figcaption b{font-size:1.05rem}.feature figcaption p{margin:-.15rem 0 .75rem;color:#d5ccbf;font:italic 1rem Georgia}
.awards{padding:14svh clamp(22px,7vw,38px);background:linear-gradient(155deg,#170a0d,#090909 55%);overflow:hidden}.awards>h2{font-size:clamp(2.9rem,13vw,3.7rem)}.awards>h2 em{font-size:clamp(2.55rem,11.5vw,3.4rem)}
.awards article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:.75rem;padding:1.2rem 0;border-bottom:1px solid #35252a}.awards article>span{color:var(--ochre);font:italic .85rem Georgia}.awards h3{margin:0 0 .3rem;font-size:1rem}.awards article p{margin:0;color:#8f8782;font:italic .8rem Georgia}.awards strong{white-space:nowrap;font-size:.84rem}.split>div+div{padding-top:14svh}
.place{position:relative;min-height:88svh;padding:10svh clamp(22px,7vw,38px);display:flex;align-items:flex-end;overflow:hidden}.place:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090909 6%,#09090955 50%,#090909 100%)}.place img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.65) contrast(1.1)}.place div{position:relative;z-index:2}.place h2{font-size:clamp(2.8rem,13vw,3.6rem)}.place h2 em{font-size:clamp(2.5rem,11vw,3.3rem)}
footer{padding:13svh 8vw 8svh;text-align:center;border-top:1px solid #26231f}footer img{width:min(220px,65vw);filter:invert(1);mix-blend-mode:screen}footer p{color:#8f8980;font-size:.86rem}footer .note{margin-top:3rem;color:var(--ochre);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:360px){.topbar{padding-inline:14px}.topbar img{width:124px}.topbar button{padding:.58rem .72rem}.intro h1{font-size:2.55rem}.intro h1 em{font-size:2.22rem}.feature h2{font-size:2.9rem}.awards article{grid-template-columns:42px minmax(0,1fr)}.awards article strong{grid-column:2}}
@media(min-width:700px){body{max-width:520px;margin:auto;border-inline:1px solid #26231f}.welcome-stage{width:520px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}.entrance{transform:scale(1)}}

/* Segunda edición: acceso, carta completa y lectura móvil */
.welcome{height:118svh}
.entrance{top:-12%;bottom:auto;height:116%;object-position:center center}
.welcome-content{top:42.5%;width:min(64vw,270px)}
.swipe{bottom:max(82px,calc(env(safe-area-inset-bottom,0px) + 56px));gap:9px}
.swipe span{font-size:.75rem;letter-spacing:.18em}
.scroll-chevrons{position:relative;width:28px;height:30px;margin-top:1px}
.scroll-chevrons i{position:absolute;left:6px;width:16px;height:16px;border-right:1.5px solid var(--ochre);border-bottom:1.5px solid var(--ochre);background:none;transform:rotate(45deg);animation:chevronDown 1.45s ease-in-out infinite}
.scroll-chevrons i:first-child{top:-1px}
.scroll-chevrons i:last-child{top:9px;animation-delay:.16s}
@keyframes chevronDown{0%,100%{opacity:.25;transform:translateY(-3px) rotate(45deg)}50%{opacity:1;transform:translateY(4px) rotate(45deg)}}
.topbar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 10px);z-index:100;width:calc(100% - 20px);height:64px;margin:0 10px;padding:6px max(12px,env(safe-area-inset-right)) 6px max(14px,env(safe-area-inset-left));border:1px solid #302d29;border-radius:18px;background:rgba(12,12,12,.94);box-shadow:0 10px 28px #0008}
.topbar img{width:clamp(170px,49vw,214px);height:52px;object-fit:contain;object-position:left center;mix-blend-mode:normal}
.topbar button{display:grid;place-items:center;width:46px;height:46px;padding:0;border-color:#48443f;background:#11100f}
.menu-lines{display:grid;gap:5px;width:21px}
.menu-lines i{display:block;width:100%;height:1.5px;background:var(--bone);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.topbar button[aria-expanded="true"] .menu-lines i:first-child{transform:translateY(6.5px) rotate(45deg)}
.topbar button[aria-expanded="true"] .menu-lines i:nth-child(2){opacity:0}
.topbar button[aria-expanded="true"] .menu-lines i:last-child{transform:translateY(-6.5px) rotate(-45deg)}
.categories{top:calc(env(safe-area-inset-top,0px) + 82px);right:max(16px,calc((100vw - 520px)/2 + 16px))}
.intro{min-height:0;padding:clamp(58px,8svh,76px) clamp(22px,7vw,38px) clamp(54px,7svh,68px)}
.intro h1{font-size:clamp(2.5rem,11.4vw,3.35rem);line-height:.94;letter-spacing:-.045em}
.intro h1 em{font-size:clamp(2.08rem,10vw,3rem);line-height:1;overflow-wrap:normal}
.intro>p:not(.eyebrow){margin-top:.25rem}
.intro .scroll{margin-top:2.4rem}
.menu-section{padding:8svh clamp(22px,7vw,38px)}
.section-head{margin-bottom:1.55rem}
.awards{padding:9svh clamp(22px,7vw,38px)}
.split>div+div{padding-top:9svh}
.place{min-height:74svh;padding:8svh clamp(22px,7vw,38px)}
footer{padding:9svh 8vw 5svh}
footer .note{margin-top:2rem}
.dish>div,.awards article>div{min-width:0}
.allergens{display:flex;flex-wrap:wrap;gap:5px;margin-top:.52rem}
.allergen{display:inline-grid;place-items:center;width:23px;height:23px;border:1px solid color-mix(in srgb,var(--allergen) 62%,#fff 10%);border-radius:50%;color:#fff;background:color-mix(in srgb,var(--allergen) 80%,#090909);font:700 10px/1 Arial;box-shadow:0 0 0 1px #0006}
.allergen[data-key="sulfites"]{font-size:8px}.allergen[data-key="sesame"]{font-size:8px;letter-spacing:-1px}
.allergen-legend{padding:8svh clamp(22px,7vw,38px);border-top:1px solid #292723;background:#100e0c}
.allergen-legend h2{margin:.5rem 0 1.7rem;font:400 clamp(2.7rem,12vw,3.4rem)/1 Georgia}
#allergenLegend{display:grid;grid-template-columns:1fr 1fr;gap:.8rem .55rem}
.legend-item{display:flex;align-items:center;gap:.55rem;color:#c9c1b5;font-size:.72rem;line-height:1.2}
.legend-item .allergen{flex:0 0 25px;width:25px;height:25px}
.legend-note{margin:1.8rem 0 0;color:#79736b;font-size:.72rem;line-height:1.5}
.signature{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid #211f1c}
.signature span{color:#5f5a53;font-size:.58rem;letter-spacing:.15em;text-transform:uppercase}
footer .signature img{width:148px;filter:none;mix-blend-mode:normal;opacity:.9;background:#f7f9fa;border-radius:999px;padding:.38rem .65rem}
@media(max-width:360px){.topbar img{width:150px}.welcome-content{width:min(62vw,225px)}.swipe{bottom:max(66px,calc(env(safe-area-inset-bottom,0px) + 44px))}.dish{gap:.8rem}.intro h1{font-size:2.38rem}.intro h1 em{font-size:2rem}.allergen{width:21px;height:21px}}
@media(max-width:430px) and (max-height:900px){.welcome{height:114svh}.entrance{top:-13%;height:117%}.welcome-content{top:42%;width:min(62vw,250px)}}
@media(min-width:431px) and (max-width:699px){.welcome-content{width:min(60vw,270px)}.intro{padding-inline:clamp(28px,7vw,38px)}}
