.brand { display: block; width: 250px; height: 56px; overflow: hidden; }
.brand img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.footer-brand { width: 280px; }
.footer-brand img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); }
.hero-seal { overflow: hidden; padding: 8%; }
.hero-seal img { display: block; width: 100%; height: auto; }
.menu-teaser { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 680px; background: var(--white); }
.menu-teaser[hidden] { display: none; }
.menu-teaser-art { position: relative; overflow: hidden; min-height: 620px; background: var(--paper); }
.menu-teaser-art img { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.menu-teaser-art::after { content: ""; position: absolute; inset: 22px; border: 1px solid var(--line); }
.menu-teaser-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(55px, 8vw, 130px); }
.menu-teaser h2 { margin: 0; font: 700 clamp(3.3rem, 5.6vw, 6.2rem)/.98 "Libre Baskerville", Georgia, serif; letter-spacing: -.04em; }
.menu-teaser h2 em { font-weight: 400; }
.menu-teaser-copy > p:not(.eyebrow) { max-width: 500px; margin: 28px 0 35px; color: var(--ink-muted); font: 1.05rem/1.65 Inter, Arial, sans-serif; }
.menu-page { background: var(--white); }
.menu-cover { position: relative; display: flex; min-height: 680px; flex-direction: column; align-items: center; justify-content: center; padding: 90px 24px 70px; background: var(--paper) url('assets/carta-poeta.png') center bottom/cover no-repeat; text-align: center; }
.menu-cover::after { content: ""; position: absolute; inset: 22px; border: 1px solid var(--line); pointer-events: none; }
.menu-cover > img { position: relative; z-index: 1; width: min(360px, 72vw); }
.menu-cover .eyebrow { position: relative; z-index: 1; margin-top: 28px; }
.menu-cover h1 { position: relative; z-index: 1; margin: 0; font: 700 clamp(4rem, 7vw, 7rem)/.9 "Libre Baskerville", Georgia, serif; letter-spacing: -.05em; }
.menu-cover h1 em { font-weight: 400; }
.menu-cover > p:not(.eyebrow) { position: relative; z-index: 1; margin: 28px 0 18px; font: italic 1.12rem/1.6 "Libre Baskerville", Georgia, serif; }
.menu-down { position: relative; z-index: 1; min-height: 44px; margin-top: 20px; border-bottom: 1px solid var(--ink); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.menu-category-nav { position: sticky; top: 80px; z-index: 20; display: flex; justify-content: center; gap: 8px; padding: 13px 22px; overflow-x: auto; background: var(--ink); }
.menu-category-nav a { min-height: 44px; padding: 10px 16px; color: var(--paper); border: 1px solid rgba(244, 239, 229, .28); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.menu-list { display: grid; grid-template-columns: .65fr 1.35fr; gap: clamp(45px, 8vw, 120px); padding: clamp(85px, 10vw, 150px) clamp(24px, 7vw, 115px); scroll-margin-top: 130px; background: var(--white); }
.menu-list.alt { background: var(--paper); }
.menu-list-title { display: flex; gap: 22px; align-items: flex-start; }
.menu-list-title > span { padding-top: 10px; color: var(--ink-muted); font-size: .7rem; letter-spacing: .14em; }
.menu-list-title h2 { margin: 0; font: 700 clamp(3rem, 4.6vw, 5.4rem)/1 "Libre Baskerville", Georgia, serif; }
.menu-list-items { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.dish { display: flex; justify-content: space-between; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.dish h3 { margin: 0; font: 700 1.3rem/1.35 "Libre Baskerville", Georgia, serif; }
.dish p { margin: 7px 0 0; color: var(--ink-muted); font-size: .9rem; }
.dish > strong { font: 700 1.12rem "Libre Baskerville", Georgia, serif; white-space: nowrap; }
.allergen-note { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 28px clamp(24px, 7vw, 115px); background: var(--paper-2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.allergen-note strong { font: 700 1.15rem "Libre Baskerville", Georgia, serif; }
.allergen-note p { max-width: 720px; margin: 0; color: var(--ink-muted); font-size: .86rem; }
.pdf-menu { padding: clamp(72px, 9vw, 130px) clamp(24px, 7vw, 115px); scroll-margin-top: 130px; background: var(--ink); color: var(--paper); }
.pdf-menu:first-child { padding-top: clamp(54px, 7vw, 92px); }
.pdf-menu-heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: clamp(40px, 8vw, 120px); margin-bottom: 40px; }
.pdf-menu h1, .pdf-menu h2 { margin: 0; font: 700 clamp(2.8rem, 5vw, 5.6rem)/1 "Libre Baskerville", Georgia, serif; letter-spacing: -.035em; }
.pdf-menu h1 em, .pdf-menu h2 em { font-weight: 400; }
.pdf-menu-actions { max-width: 500px; }
.pdf-menu-actions p { margin: 0 0 24px; color: var(--paper-2); }
.pdf-menu-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.pdf-menu .button.primary { background: var(--paper); border-color: var(--paper); color: var(--ink); }
.pdf-menu .pdf-download { border-color: var(--paper); color: var(--paper); }
.pdf-viewer { display: block; width: 100%; height: min(86vh, 980px); border: 1px solid rgba(244, 239, 229, .28); background: var(--paper); }
.pdf-pages-mobile { display: none; }
.menu-booking { padding: clamp(80px, 10vw, 140px) 24px; background: var(--paper-2); color: var(--ink); text-align: center; }
.menu-booking h2 { margin: 0 0 34px; font: 700 clamp(3rem, 5.6vw, 5.8rem)/1 "Libre Baskerville", Georgia, serif; }
.menu-booking .button.light { border-color: var(--ink); color: var(--ink); }
@media (max-width: 900px) {
  .brand { width: 220px; height: 52px; }
  .hero-art { min-height: 62vw; background-position: center 72%; }
  .hero-seal { width: min(58%, 390px); padding: 6%; }
  .menu-teaser { grid-template-columns: 1fr; }
  .menu-teaser-art { min-height: 72vw; }
  .menu-category-nav { top: 72px; justify-content: flex-start; }
  .menu-list { grid-template-columns: 1fr; gap: 28px; }
  .menu-list-title { margin-bottom: 4px; }
  .menu-list-items { grid-template-columns: 1fr; }
  .pdf-menu-heading { grid-template-columns: 1fr; gap: 24px; }
  .pdf-viewer { display: none; }
  .pdf-pages-mobile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .pdf-pages-mobile img { display: block; width: 100%; height: auto; border: 1px solid rgba(244, 239, 229, .24); background: var(--paper); }
  .footer-brand { width: 240px; }
}
@media (max-width: 560px) {
  .topbar { padding: 8px 16px; }
  .brand { width: 205px; height: 50px; }
  .menu-toggle { padding: 8px 0; font-size: .72rem; }
  .hero-copy { min-height: auto; padding: 66px 22px 64px; }
  .intro { margin: 24px 0 28px; font-size: 1rem; }
  .hero-art { min-height: 88vw; }
  .hero-seal { width: 72%; padding: 7%; }
  .hero-art::after { inset: 12px; }
  .hero-actions .button { width: 100%; }
  .menu-cover { min-height: 520px; padding: 72px 22px 54px; }
  .menu-cover::after { inset: 12px; }
  .menu-cover > img { width: min(275px, 76vw); }
  .menu-cover .eyebrow { margin-top: 18px; }
  .menu-cover h1 { font-size: 3.15rem; line-height: .98; }
  .menu-cover > p:not(.eyebrow) { max-width: 290px; margin: 22px 0 12px; font-size: 1rem; }
  .menu-category-nav { padding: 10px 14px; scrollbar-width: none; }
  .menu-category-nav::-webkit-scrollbar { display: none; }
  .menu-category-nav a { flex: 0 0 auto; padding: 9px 12px; font-size: .66rem; }
  .menu-list { padding: 64px 20px; gap: 20px; }
  .menu-list-title { gap: 14px; }
  .menu-list-title h2 { font-size: 2.65rem; }
  .dish { padding: 20px 0; gap: 16px; }
  .dish h3 { font-size: 1.15rem; }
  .dish > strong { font-size: 1rem; }
  .allergen-note { align-items: flex-start; flex-direction: column; padding: 24px 20px; }
  .pdf-menu { padding: 64px 14px 86px; }
  .pdf-menu-heading { padding: 0 8px; }
  .pdf-menu h2 { font-size: 2.65rem; }
  .pdf-menu h1 { font-size: 2.65rem; }
  .pdf-menu-actions .button { width: 100%; }
  .pdf-pages-mobile { grid-template-columns: 1fr; gap: 18px; }
  .menu-teaser-copy { padding: 65px 22px; }
  .menu-teaser h2 { font-size: 2.9rem; }
  .footer-brand { width: 220px; }
}
