:root{
  --paper:#FFFFFF; --ink:#161513; --soft:#59564F; --mut:#8B877E;
  --rule:#E7E5E0; --accent:var(--ink);
  --disp:'Bitter',Georgia,serif; --mono:'Space Mono',monospace;
}
[data-accent="b"]{--accent:#E03E2D}
[data-accent="c"]{--accent:#A64B2A}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{overflow-x:clip;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--disp);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
a[href^="tel:"]{white-space:nowrap}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.kick{font:700 11px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
.rule{border:0;border-top:1px solid var(--rule)}

/* header */
header.site{padding:26px 0 18px;border-bottom:1px solid var(--ink)}
.masthead{display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between}
.masthead img{height:30px;width:auto}
nav.main{display:flex;gap:26px}
nav.main a{font:700 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:6px 0}
nav.main a:hover,nav.main a[aria-current]{box-shadow:inset 0 -2px 0 var(--accent)}
.langs{display:flex;gap:2px}
.langs button,.langs a{font:700 11px/1 var(--mono);letter-spacing:.08em;background:none;border:1px solid transparent;padding:6px 7px;cursor:pointer;color:var(--soft);text-decoration:none}
.langs button[aria-pressed="true"],.langs a[aria-current]{color:var(--ink);border-color:var(--ink)}
.langs button:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* portada */
.cover{padding:56px 0 20px}
.cover .kick{display:block;text-align:center;margin-bottom:22px}
.cover h1{font:900 clamp(40px,7.6vw,92px)/1.0 var(--disp);text-transform:uppercase;letter-spacing:-.015em;text-align:center;text-wrap:balance}
.cover h1 em{font-style:normal;font-weight:900;letter-spacing:inherit;color:inherit}
.deck{max-width:620px;margin:26px auto 0;text-align:center;font-size:18px;color:var(--soft)}
.cover-cta{display:flex;gap:14px;justify-content:center;margin:34px 0 8px;flex-wrap:wrap}
.btn{font:700 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;padding:15px 26px;border:1px solid var(--ink);border-radius:999px}
.btn.solid{background:var(--accent);border-color:var(--accent);color:#fff}
[data-accent="a"] .btn.solid{background:var(--ink);border-color:var(--ink)}
.btn:hover{opacity:.85}
.cover-meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:18px;font:400 13px/1.5 var(--mono);color:var(--soft)}
.cover-meta a{text-decoration:underline;text-underline-offset:3px}
figure.hero{margin:44px 0 0}
.hero-slider{position:relative;aspect-ratio:2/1;overflow:hidden}
.hero-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease}
.hero-slider img.on{opacity:1}
figure.carta-img{break-inside:avoid;margin:26px 0 8px}
figure.carta-img img{width:100%;height:auto}
figure.hero figcaption{font:400 11px/1.6 var(--mono);color:var(--mut);padding-top:8px;letter-spacing:.06em}

/* índice de revista */
.indice{padding:54px 0 10px}
.indice ol{list-style:none;padding:0}
.indice li{border-top:1px solid var(--rule)}
.indice li:last-child{border-bottom:1px solid var(--rule)}
.indice a{display:grid;grid-template-columns:64px 1fr auto;gap:18px;align-items:baseline;text-decoration:none;padding:22px 4px}
.indice .num{font:400 14px/1 var(--mono);color:var(--accent)}
.indice .tit{font:900 clamp(22px,3.4vw,34px)/1.05 var(--disp);text-transform:uppercase;letter-spacing:-.01em}
.indice .des{font:400 13px/1.5 var(--mono);color:var(--soft);text-align:right;max-width:300px}
.indice a:hover .tit{font-style:italic;color:var(--accent)}
@media(max-width:640px){.indice a{grid-template-columns:44px 1fr}.indice .des{display:none}}

/* faixa de dados */
.strip{border-top:1px solid var(--ink);margin-top:56px;padding:26px 0 30px}
.strip .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px}
.strip h2{font:700 11px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px;color:var(--soft)}
.strip p{font-size:15px}
.strip a{text-decoration:underline;text-underline-offset:3px}
.rating{font:700 15px/1.4 var(--disp)}
.rating a{font:400 13px/1.5 var(--mono);color:var(--soft)}

/* carta */
.carta-head{padding:52px 0 8px;text-align:center}
.carta-head h1{font:500 italic clamp(34px,6vw,64px)/1.1 var(--disp);letter-spacing:.14em;text-transform:uppercase}
.carta-head h1::after{content:" ×";color:var(--accent);font-style:normal}
.carta-head .sec-note{margin:18px auto 0;max-width:680px}
.carta-index{padding:10px 0 4px}
.carta-index ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 30px;max-width:780px;margin:0 auto}
.carta-index a{font:500 italic 15px/1.7 var(--disp);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--soft)}
.carta-index a:hover{color:var(--ink);box-shadow:inset 0 -2px 0 var(--accent)}
.carta-body{padding:44px 0 48px;columns:2 420px;column-gap:88px}
.carta-sec{break-inside:avoid;margin-bottom:66px}
.sec-tit{font:500 italic 25px/1.2 var(--disp);letter-spacing:.16em;text-transform:uppercase;margin-bottom:20px}
.sec-tit span::after{content:" ×";color:var(--accent);font-style:normal}
.sec-note{font:400 11.5px/1.7 var(--mono);color:var(--mut);margin:-10px 0 18px;letter-spacing:.04em}
.sub-tit{font:700 13px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;margin:30px 0 16px;color:var(--soft)}
.dishes{list-style:none;padding:0}
.dish{margin-bottom:17px}
.dish-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.dish-n{font:700 15px/1.4 var(--disp);text-transform:uppercase;letter-spacing:.02em}
.dish-p{font:700 14px/1 var(--disp);color:var(--ink);white-space:nowrap}
.dish-d{display:block;font-size:14.5px;line-height:1.55;color:var(--soft);max-width:52ch}
.alerg{border-top:1px solid var(--ink);padding:22px 0 6px;font:400 12px/1.8 var(--mono);color:var(--soft);letter-spacing:.03em}



/* nosotros */
.about .pull{font:900 clamp(26px,4.4vw,42px)/1.12 var(--disp);text-transform:uppercase;letter-spacing:-.01em;margin:4px 0 20px;text-wrap:balance}
.about .wide{margin:34px 0 8px}
.about .wide figcaption,.about .duo figcaption{font:400 11px/1.6 var(--mono);color:var(--mut);padding-top:8px;letter-spacing:.06em}
.about h2.sec-tit{margin:40px 0 14px}
.about p{max-width:72ch}

.about{max-width:860px;padding-top:34px}
.about .lede{font-size:18.5px;line-height:1.8}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:34px 0 10px}
@media(max-width:700px){.duo{grid-template-columns:1fr}}
.press{border-top:1px solid var(--ink);margin-top:34px;padding:36px 0 26px}
.press h2{font:700 11px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin-bottom:26px}
.press-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px}
.press blockquote{margin:0}
.press blockquote p{font:500 italic 18px/1.55 var(--disp);color:var(--ink-soft,#3A3A38);margin-bottom:12px}
.press cite{font:700 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--soft);font-style:normal}

.voices{border-top:1px solid var(--rule);margin-top:56px;padding:64px 0 70px;text-align:center}
.voices .kick{display:block;margin-bottom:8px}
.vq{display:grid;max-width:760px;margin:0 auto}
.vq blockquote{grid-area:1/1;margin:0;opacity:0;transition:opacity 1.2s ease}
.vq blockquote.on{opacity:1}
.vq blockquote::before{content:"“";display:block;font:900 84px/0.55 var(--disp);color:var(--accent);margin:26px auto 20px}
.vq blockquote p{font:500 italic clamp(22px,3.2vw,32px)/1.45 var(--disp)}
.vq cite{display:block;margin-top:22px;font:700 10px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--soft);font-style:normal}
/* contacto */
.contact{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;padding:38px 0 26px;align-items:start}
@media(max-width:860px){.contact{grid-template-columns:1fr;gap:40px}}
.contact .lede{color:var(--soft);margin:10px 0 26px}
.field{margin-bottom:22px}
.field label{display:block;font:700 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--soft);margin-bottom:8px}
.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;font:400 16px/1.5 var(--disp);color:var(--ink);padding:8px 0;border-radius:0}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus{outline:none;border-bottom:2px solid var(--accent)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.f-status{margin-top:14px;font:400 14px/1.6 var(--mono)}
.f-status.ok{color:var(--ink)}
.f-status.err{color:var(--accent)}
.contact-aside p{margin-bottom:16px}
.contact-aside h2{font:700 11px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin:22px 0 8px}
.contact-aside a{text-decoration:underline;text-underline-offset:3px}
.contact-aside figure{margin:0 0 22px}

.legal-page p{margin-bottom:16px;max-width:72ch}
.cta-end{text-align:center;border-top:1px solid var(--rule);margin-top:30px;padding:38px 24px 50px}
.cta-end p{font:500 italic 21px/1.4 var(--disp);letter-spacing:.06em;margin-bottom:22px}
/* footer */
footer.site{border-top:1px solid var(--ink);margin-top:26px;padding:30px 0 40px}
footer .wrap{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:baseline}
.provecho{font:500 italic 20px/1.2 var(--disp);letter-spacing:.12em;text-transform:uppercase}
.provecho::after{content:" ×";color:var(--accent);font-style:normal}
footer small{font:400 11px/1.7 var(--mono);color:var(--mut);letter-spacing:.05em}

@media(max-width:640px){
  .wrap{padding-left:15px;padding-right:15px}
  .masthead{flex-direction:column;align-items:flex-start;gap:14px}
  .masthead img{height:26px}
  nav.main{gap:16px;flex-wrap:wrap}
  nav.main a{font-size:10px;letter-spacing:.14em}
  .cover{padding-top:40px}
  .cover .kick{white-space:nowrap;letter-spacing:.06em;font-size:clamp(7px,2.45vw,10px)}
}



figure.carta-img figcaption{font:400 11px/1.6 var(--mono);color:var(--mut);padding-top:8px;letter-spacing:.06em}
