/* ===== base compartida para las variantes de UX (Casa Italia · mundo Palmero) ===== */
@font-face{
  font-family:'Palmero';
  src:url('../assets/fonts/Palmero-Rough.otf') format('opentype');
  font-weight:400;font-style:normal;font-display:swap;
}
:root{
  --paper:#EAE4D3;--paper-2:#E2DBC6;--ink:#2C271C;--ink-60:rgba(44,39,28,.62);--line:rgba(44,39,28,.18);
  --verde:#2C6E48;--verde-2:#255C3C;--verde-deep:#173a26;--naranja:#E1721A;--tomate:#D3372A;--butter:#EBC55E;
  --display:'Palmero','Arial Black',sans-serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,sans-serif;
  --script:'Fraunces',Georgia,serif;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --gut:clamp(20px,4.5vw,80px);--colgap:clamp(16px,1.6vw,24px);--maxw:1280px;--sec:clamp(64px,8vw,130px);
  --ease:cubic-bezier(.22,.61,.36,1);
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:clamp(16px,.5vw + 14px,18px);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}svg,img{display:block;max-width:100%}
.it{font-family:var(--script);font-style:italic;font-weight:500}

/* textura de papel */
.paper-tex{position:fixed;inset:0;z-index:1;pointer-events:none}
.paper-tex::before{content:"";position:absolute;inset:0;opacity:.5;mix-blend-mode:multiply;
  background:linear-gradient(90deg,transparent 0 33%,rgba(44,39,28,.05) 33.2%,transparent 33.6% 66%,rgba(44,39,28,.05) 66.2%,transparent 66.6%),linear-gradient(0deg,transparent 0 50%,rgba(44,39,28,.045) 50.2%,transparent 50.6%),linear-gradient(90deg,rgba(255,255,255,.35),transparent 8% 92%,rgba(44,39,28,.05))}
.paper-tex::after{content:"";position:absolute;inset:0;opacity:.06;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.btn{display:inline-flex;align-items:center;gap:.6em;font-family:var(--display);font-size:1rem;letter-spacing:.02em;text-transform:uppercase;color:var(--paper);background:var(--verde);padding:.7em 1.35em;border-radius:999px;border:2px solid var(--verde);cursor:pointer;transition:transform .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease),color .35s var(--ease)}
.btn:hover{transform:translateY(-2px);background:var(--naranja);border-color:var(--naranja)}
.btn--ghost{background:transparent;color:var(--verde)}.btn--ghost:hover{background:var(--verde);color:var(--paper)}

/* póster */
.poster{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(80px,12vh,150px) var(--gut) var(--s7);gap:clamp(var(--s4),2vw,var(--s6))}
.poster__cert{display:flex;align-items:center;gap:.6em;font-weight:700;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--verde)}
.poster__cert::before{content:"◍";font-size:1.2em}
.poster__stage{position:relative;width:min(1040px,100%);display:flex;flex-direction:column;align-items:center}
.poster__title{font-family:var(--display);text-transform:uppercase;color:var(--verde);line-height:.78;position:relative;z-index:1}
.poster__title .l1,.poster__title .l2{display:block;font-size:clamp(4.2rem,17vw,13rem)}
.poster__tomato{position:absolute;top:44%;left:50%;transform:translate(-50%,-46%);width:clamp(190px,27vw,360px);z-index:2}
.poster__script{position:absolute;z-index:3;font-family:var(--script);font-style:italic;font-weight:600;color:var(--naranja);font-size:clamp(1.3rem,3vw,2.6rem)}
.poster__script.l{left:2%;top:56%}.poster__script.r{right:2%;top:56%}
.poster__coord{position:absolute;z-index:3;font-weight:700;font-size:clamp(.7rem,1.2vw,1rem);letter-spacing:.12em;color:var(--verde)}
.poster__coord.l{left:3%;top:68%}.poster__coord.r{right:3%;top:68%}
.poster__foot{display:flex;align-items:center;justify-content:center;gap:clamp(var(--s4),4vw,var(--s9));flex-wrap:wrap}
.poster__foot .tag{font-family:var(--display);text-transform:uppercase;color:var(--naranja);font-size:clamp(.9rem,1.4vw,1.15rem);letter-spacing:.04em}
.poster__made{font-family:var(--display);text-transform:uppercase;color:var(--verde);font-size:clamp(1.1rem,2vw,1.6rem)}
.poster__caption{font-weight:600;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-60)}

/* marquee */
.marquee{overflow:hidden;border-block:2px solid var(--verde);background:var(--verde);color:var(--butter)}
.marquee__track{display:flex;width:max-content;white-space:nowrap;animation:marq 34s linear infinite;padding:var(--s3) 0}
.marquee span{font-family:var(--display);text-transform:uppercase;font-size:clamp(1rem,2vw,1.4rem);letter-spacing:.04em;padding:0 .55em;display:inline-flex;align-items:center;gap:.55em}
.marquee span::before{content:"🍅"}
@keyframes marq{to{transform:translateX(-50%)}}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--colgap)}
.shead{grid-column:1 / -1;display:grid;grid-template-columns:subgrid;align-items:end;padding-top:var(--s5);border-top:2px solid var(--verde);margin-bottom:clamp(var(--s7),6vw,var(--s9))}
.shead__idx,.shead__name{font-family:var(--display);font-size:clamp(1.5rem,2.2vw,2.2rem);line-height:.8;text-transform:uppercase;color:var(--verde)}
.shead__idx{grid-column:1 / 2}.shead__name{grid-column:2 / 8}
.shead__sub{grid-column:8 / 12;align-self:end;font-weight:600;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60)}
.shead__count{grid-column:12 / -1;justify-self:end;align-self:end;font-weight:700;font-size:.76rem;letter-spacing:.14em;color:var(--naranja)}

/* carta */
.carta__title{font-family:var(--display);text-transform:uppercase;font-size:clamp(2.8rem,7vw,5.6rem);line-height:.86;color:var(--verde)}
.menu__group{border:2px solid var(--verde);border-radius:16px;padding:clamp(var(--s5),2vw,var(--s6));display:flex;flex-direction:column;background:var(--paper)}
.menu__group--green{background:var(--verde);color:var(--paper)}
.menu__group--green .menu__cat{color:var(--butter)}.menu__group--green .menu__cat::after{background:rgba(234,228,211,.3)}
.menu__group--green .dish{border-color:rgba(234,228,211,.22)}.menu__group--green .dish__desc{color:rgba(234,228,211,.85)}
.menu__cat{font-family:var(--display);text-transform:uppercase;font-size:1.1rem;color:var(--verde);display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s5)}
.menu__cat::after{content:"";flex:1;height:2px;background:var(--line)}
.dish{padding-block:var(--s4);border-top:1px solid var(--line)}.dish:first-of-type{border-top:none;padding-top:0}
.dish__name{font-weight:700;font-size:1.05rem}.dish__name .it{color:var(--naranja);font-size:.95em}
.dish__desc{font-size:.86rem;color:var(--ink-60);margin-top:var(--s1)}

@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
