/* =========================================================================
   MRBRKN SMASH — Smash Menu, Edição 2026
   Editorial "burger menu" homepage. Three colors, locked hierarchy.
   Base styles ported faithfully from the Claude Design prototype;
   motion layer + a11y + ticker + reduced-motion added for production.
   ========================================================================= */

:root{
  --bone:#F2EDE4;
  --bone-2:#EAE3D5;
  --cobalt:#1A2FB5;
  --cobalt-deep:#15259A;
  --mustard:#F4B400;
  --ink:#0E1A6B;
  --grid:rgba(26,47,181,.05);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{ scroll-behavior:smooth; }
body{
  background-color:var(--bone);
  /* faint cobalt dot-grid — technical/menu-paper texture under the grain */
  background-image:radial-gradient(var(--grid) 1px, transparent 1.4px);
  background-size:24px 24px;
  color:var(--cobalt);
  font-family:"Playfair Display", Georgia, serif;
  font-size:18px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  position:relative;
  overflow-x:hidden;
}
/* paper grain */
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  z-index:1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.10  0 0 0 0 0.18  0 0 0 0 0.71  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.18'/></svg>");
  mix-blend-mode:multiply;
  opacity:.35;
}
.wrap{ position:relative; z-index:2; max-width:1440px; margin:0 auto; padding:0 56px;}

/* ----- type system ----- */
.display{ font-family:"Anton","Archivo Black", Impact, sans-serif; font-weight:400; letter-spacing:-.01em; line-height:.86; text-transform:uppercase;}
.mono{ font-family:"JetBrains Mono", ui-monospace, Menlo, monospace; font-weight:500; letter-spacing:.02em; text-transform:uppercase;}
.serif{ font-family:"Playfair Display", Georgia, serif;}
.serif-it{ font-family:"Playfair Display", Georgia, serif; font-style:italic; }

/* ----- accessibility helpers ----- */
.sr-only{
  position:absolute !important; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0);
  white-space:nowrap; border:0;
}
.skip{
  position:absolute; left:8px; top:-72px; z-index:60;
  font-family:"JetBrains Mono", monospace; font-size:12px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; text-decoration:none;
  background:var(--mustard); color:var(--cobalt); border:2px solid var(--cobalt);
  padding:10px 14px; transition:top .2s ease;
}
.skip:focus{ top:8px; }
:focus-visible{ outline:3px solid var(--mustard); outline-offset:3px; }

/* ----- TOP BAR ----- */
.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 0 18px;
  border-bottom:2px solid var(--cobalt);
  font-size:13px;
}
.topbar .brand{ font-family:"Anton",sans-serif; font-size:22px; letter-spacing:.02em; text-transform:uppercase; }
.topbar nav{ display:flex; gap:28px; }
.topbar nav a{
  font-family:"JetBrains Mono", monospace; text-transform:uppercase; letter-spacing:.08em;
  color:var(--cobalt); text-decoration:none; font-size:12px; font-weight:500;
  padding-bottom:2px; border-bottom:1.5px solid transparent;
}
.topbar nav a:hover{ border-bottom-color:var(--mustard); }
.topbar .meta{ font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; opacity:.75; }
.topbar-right{ display:flex; align-items:center; gap:16px; }
.lang{ display:flex; align-items:center; gap:6px; }
.lang button{
  font-family:"JetBrains Mono", monospace; font-size:12px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  background:none; border:none; color:var(--cobalt); cursor:pointer;
  padding:2px 1px; opacity:.45; border-bottom:1.5px solid transparent;
  transition:opacity .2s ease, border-color .2s ease;
}
.lang button:hover{ opacity:.85; }
.lang button.active{ opacity:1; border-bottom-color:var(--mustard); }
.lang-sep{ opacity:.3; font-size:11px; }

/* ----- HERO ----- */
.hero{
  position:relative;
  padding:64px 0 56px;
  border-bottom:8px solid var(--cobalt);
}
.hero .overline{
  font-family:"JetBrains Mono",monospace; font-size:13px; letter-spacing:.18em; text-transform:uppercase;
  display:flex; gap:14px; align-items:center; margin:0 0 36px;
}
.hero .overline .dot{ width:8px; height:8px; background:var(--mustard); border:1.5px solid var(--cobalt); display:inline-block; transform:rotate(45deg); }
.hero h1{
  font-family:"Anton", sans-serif;
  font-size: clamp(120px, 19vw, 320px);
  line-height:.82;
  letter-spacing:-.02em;
  margin:0;
  text-transform:uppercase;
  color:var(--cobalt);
  transform: translate3d(0, var(--py, 0px), 0); /* parallax target */
}
.hero h1 .amp{ display:inline-block; color:var(--mustard); -webkit-text-stroke:2px var(--cobalt); transform-origin:50% 70%; }
.hero-foot{
  display:grid; grid-template-columns: 1.1fr .9fr 1fr; gap:48px; align-items:end;
  margin-top:44px;
}
.hero-cat{ font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin:0; }
.hero-cat .bar{ display:block; width:64px; height:3px; background:var(--cobalt); margin-bottom:14px; }
.tagline{ font-family:"Playfair Display", serif; font-style:italic; font-size:30px; line-height:1.15; margin:0; }
.tagline em{ color:var(--mustard); font-style:italic; -webkit-text-stroke:.5px var(--cobalt); }
.hero-right{ display:flex; flex-direction:column; align-items:flex-end; gap:14px; }
.vol{ font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.2em; text-transform:uppercase; text-align:right; margin:0; }
.vol .big{ display:block; font-family:"Anton",sans-serif; font-size:88px; color:var(--cobalt); letter-spacing:0; line-height:.9; }

/* stamp */
.stamp{
  display:inline-block;
  font-family:"JetBrains Mono",monospace;
  font-weight:700;
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  padding:8px 12px 7px;
  background:var(--mustard);
  color:var(--cobalt);
  border:2px solid var(--cobalt);
  line-height:1;
  white-space:nowrap;
}
.stamp.lg{ font-size:13px; padding:10px 14px 9px; }
.stamp.rot-l{ transform:rotate(-6deg); }
.stamp.rot-r{ transform:rotate(5deg); }
.stamp.rot-r2{ transform:rotate(-3deg); }

.hero-stamp{
  position:absolute;
  top:80px;
  right:56px;
  transform:rotate(8deg) translate3d(0, var(--py, 0px), 0); /* parallax target */
  z-index:3;
  will-change:transform;
}

/* ----- MANIFESTO ----- */
.manifesto{
  display:grid; grid-template-columns: .2fr 1fr .24fr; gap:40px;
  padding:96px 0 88px;
  border-bottom:2px solid var(--cobalt);
  align-items:start;
}
.manifesto .label{ font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase; margin:0; }
.manifesto .label .num{ color:var(--mustard); display:block; font-size:24px; margin-bottom:6px; }
.manifesto blockquote{
  margin:0;
  font-family:"Playfair Display",serif;
  font-style:italic;
  font-size: clamp(34px, 3.4vw, 48px);
  line-height:1.08;
  letter-spacing:-.01em;
}
.manifesto blockquote p{ margin:0 0 .25em; }
.manifesto blockquote .hl{ color:var(--mustard); -webkit-text-stroke:.4px var(--cobalt); font-style:italic; }
.manifesto .aside{ font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.15em; text-transform:uppercase; text-align:right; opacity:.8; margin:0; }

/* ----- SECTION HEAD ----- */
.section{ padding:96px 0 88px; border-bottom:2px solid var(--cobalt); position:relative; }
.section-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  margin-bottom:64px;
}
.section-head .title{
  font-family:"Anton",sans-serif;
  font-size: clamp(80px, 12vw, 200px);
  line-height:.85;
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin:0;
}
.section-head .kicker{
  font-family:"JetBrains Mono",monospace;
  font-size:12px; letter-spacing:.2em; text-transform:uppercase;
  display:flex; flex-direction:column; gap:6px; text-align:right; max-width:280px;
  margin:0;
}
.section-head .kicker .bar{ display:block; height:3px; background:var(--cobalt); width:48px; margin-left:auto; margin-bottom:4px; }
.kicker-stamp{ display:block; margin-top:14px; }
.kicker-own{ margin-left:auto; }

/* ----- MENU ROWS ----- */
.menu-row{
  display:grid;
  grid-template-columns: 80px 1fr auto;
  column-gap:24px;
  align-items:baseline;
  padding:28px 0 22px;
  border-top:1.5px solid var(--cobalt);
}
.menu-row:last-child{ border-bottom:1.5px solid var(--cobalt); }
.menu-row .num{
  font-family:"JetBrains Mono",monospace;
  font-size:22px; font-weight:700; letter-spacing:.04em;
  color:var(--mustard);
  -webkit-text-stroke:.4px var(--cobalt);
  align-self:start;
  padding-top:8px;
}
.menu-row .body{ display:flex; flex-direction:column; gap:10px; }
.menu-row .name-line{
  display:flex; align-items:baseline; gap:14px;
  font-family:"Anton",sans-serif;
  font-size:54px; line-height:1;
  text-transform:uppercase; letter-spacing:-.005em;
}
.menu-row .name{ white-space:nowrap; }
.menu-row .leader{
  flex:1;
  border-bottom:2.5px dotted var(--cobalt);
  transform:translateY(-10px);
  min-width:40px;
}
.menu-row .price{
  font-family:"JetBrains Mono",monospace;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.1em;
  white-space:nowrap;
  padding:6px 10px;
  background:var(--cobalt);
  color:var(--bone);
  align-self:flex-end;
}
.menu-row .price.live{ background:var(--mustard); color:var(--cobalt); border:2px solid var(--cobalt); padding:4px 10px; }
.menu-row .desc{
  font-family:"Playfair Display",serif;
  font-size:21px; line-height:1.35;
  max-width:60ch;
  margin:0;
}
.menu-row .tags{
  font-family:"JetBrains Mono",monospace;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  opacity:.8;
  margin:0;
}
.menu-row .tags::before{ content:"[ "; }
.menu-row .tags::after{ content:" ]"; }
.menu-row .meta-col{
  text-align:right;
  display:flex; flex-direction:column; align-items:flex-end; gap:10px;
  min-width:170px;
  padding-top:8px;
}

/* sides decorator */
.sides-head{ position:relative; }
.sides-head .opt-stamp{ position:absolute; right:0; top:-6px; transform:rotate(8deg); }

/* ----- COMBOS ----- */
.combos{ display:grid; grid-template-columns: repeat(3, 1fr); gap:28px; }
.combo{
  border:3px solid var(--cobalt);
  background:var(--bone);
  padding:28px 26px 24px;
  display:flex; flex-direction:column; gap:16px;
  position:relative;
}
.combo:nth-child(2){ background:var(--cobalt); color:var(--bone); }
.combo:nth-child(2) .combo-price{ background:var(--mustard); color:var(--cobalt); border-color:var(--mustard); }
.combo:nth-child(2) .combo-line{ background:var(--bone); opacity:.6; }
.combo:nth-child(2) .ingr li::before{ background:var(--mustard); }
.combo .tag{
  font-family:"JetBrains Mono",monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  display:flex; justify-content:space-between;
}
.combo h3{
  font-family:"Anton",sans-serif;
  font-size:52px; line-height:.9;
  margin:0; text-transform:uppercase; letter-spacing:-.01em;
}
.combo-line{ height:2px; background:currentColor; opacity:.9; }
.combo .ingr{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.combo .ingr li{
  font-family:"JetBrains Mono",monospace; font-size:12px;
  letter-spacing:.06em; text-transform:uppercase;
  display:flex; align-items:center; gap:10px;
  padding-left:0;
}
.combo .ingr li::before{
  content:""; width:8px; height:8px; background:var(--cobalt);
  transform:rotate(45deg); flex:none; display:inline-block;
}
.combo .blurb{
  font-family:"Playfair Display",serif; font-style:italic;
  font-size:18px; line-height:1.3; margin-top:4px;
}
.combo-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:14px; }
.combo-price{
  font-family:"JetBrains Mono",monospace; font-weight:700;
  font-size:13px; letter-spacing:.14em; text-transform:uppercase;
  background:var(--mustard); color:var(--cobalt); border:2px solid var(--cobalt);
  padding:8px 12px 7px;
}
.combo-num{ font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.18em; }

/* ----- HOUSE SPECIALS ----- */
.featured{
  display:grid; grid-template-columns: 1.2fr 1fr; gap:0;
  border:3px solid var(--cobalt);
  margin-bottom:36px;
  position:relative;
}
.featured .left{ padding:40px 40px 36px; }
.featured .right{
  background:var(--cobalt); color:var(--bone);
  padding:40px 36px;
  display:flex; flex-direction:column; justify-content:space-between; gap:24px;
  position:relative;
}
.featured .num{
  font-family:"JetBrains Mono",monospace; font-size:13px; letter-spacing:.18em;
  color:var(--mustard); -webkit-text-stroke:.4px var(--cobalt);
  margin:0 0 14px;
}
.featured h3{
  font-family:"Anton",sans-serif;
  font-size: clamp(56px, 7vw, 96px); line-height:.86;
  margin:0 0 18px; text-transform:uppercase; letter-spacing:-.01em;
}
.featured .desc{
  font-family:"Playfair Display",serif;
  font-size:24px; line-height:1.32; max-width:42ch; margin:0 0 22px;
}
.featured .tags{
  font-family:"JetBrains Mono",monospace; font-size:12px;
  letter-spacing:.14em; text-transform:uppercase; margin:0;
}
.featured .tags::before{ content:"[ "; } .featured .tags::after{ content:" ]"; }
.featured .right .status{
  font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  display:flex; justify-content:space-between; opacity:.85; margin:0;
}
.featured .right .qstat{
  font-family:"Anton",sans-serif;
  font-size: clamp(40px, 5vw, 64px); line-height:.95; text-transform:uppercase; margin:0;
}
.featured .right .qstat em{ color:var(--mustard); font-style:normal; }
.featured .right .visit{
  display:inline-flex; align-items:center; gap:10px;
  font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--cobalt); background:var(--mustard); border:2px solid var(--mustard);
  padding:12px 16px; align-self:flex-start; text-decoration:none;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.featured .right .visit:hover{ background:var(--bone); border-color:var(--bone); transform:translateX(4px); }
.featured .right .visit::after{ content:"→"; }
.featured .stamp-corner{ position:absolute; top:-14px; right:24px; transform:rotate(7deg); z-index:4; }

.grill{ display:grid; grid-template-columns: repeat(2, 1fr); gap:0;
  border-top:2px solid var(--cobalt); border-left:2px solid var(--cobalt);
}
.grill .item{
  border-right:2px solid var(--cobalt);
  border-bottom:2px solid var(--cobalt);
  padding:28px 26px;
  display:flex; flex-direction:column; gap:12px;
  background:var(--bone);
  position:relative;
  transition:background .25s ease;
}
.grill .item.wide{ grid-column:1 / -1; }
.grill .head{ display:flex; align-items:baseline; gap:14px; justify-content:space-between; }
.grill .num{
  font-family:"JetBrains Mono",monospace; font-weight:700;
  font-size:18px; letter-spacing:.04em;
  color:var(--mustard); -webkit-text-stroke:.4px var(--cobalt);
  transition:transform .25s ease;
}
.grill h4{
  font-family:"Anton",sans-serif;
  font-size:40px; line-height:.92;
  margin:0; text-transform:uppercase; letter-spacing:-.01em;
}
.grill .desc{
  font-family:"Playfair Display",serif;
  font-size:18px; line-height:1.3;
  margin:0;
}
.grill .foot{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:auto; padding-top:10px;
  font-family:"JetBrains Mono",monospace;
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
}
.grill .foot .tags::before{ content:"[ "; } .grill .foot .tags::after{ content:" ]"; }
.grill .foot .pill{
  border:1.5px solid var(--cobalt); padding:5px 9px 4px;
  background:var(--bone-2);
}

/* ----- COZINHA ----- */
.cozinha{
  display:grid; grid-template-columns: 1.2fr 1fr; gap:72px;
  padding:96px 0 88px;
  border-bottom:2px solid var(--cobalt);
  align-items:start;
}
.cozinha .label{
  font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  margin:0 0 24px;
}
.cozinha h2{
  font-family:"Anton",sans-serif;
  font-size: clamp(64px, 8vw, 120px); line-height:.86;
  margin:0 0 28px; text-transform:uppercase; letter-spacing:-.01em;
}
.cozinha .lede{
  font-family:"Playfair Display",serif; font-style:italic;
  font-size:26px; line-height:1.25; margin:0;
}
.cozinha .lede em{ color:var(--mustard); font-style:italic; -webkit-text-stroke:.4px var(--cobalt); }
.principles{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:18px; }
.principles li{
  font-family:"JetBrains Mono",monospace; font-size:14px; letter-spacing:.06em; text-transform:uppercase;
  display:grid; grid-template-columns:auto 1fr auto; gap:14px; align-items:baseline;
  padding-bottom:14px; border-bottom:1.5px dotted var(--cobalt);
}
.principles li .b{
  width:10px; height:10px; background:var(--mustard); border:1.5px solid var(--cobalt);
  transform:rotate(45deg); display:inline-block;
}
.principles li .n{ color:var(--mustard); -webkit-text-stroke:.4px var(--cobalt); font-weight:700; }

/* ----- PEDIDO ----- */
.pedido{
  background:var(--cobalt); color:var(--bone);
  margin:0 -56px; padding:88px 56px 64px;
  position:relative;
}
.pedido::before{
  content:""; position:absolute; inset:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.96  0 0 0 0 0.71  0 0 0 0 0  0 0 0 0.35 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.12'/></svg>");
  mix-blend-mode:screen; pointer-events:none;
}
.pedido .wrap-in{ position:relative; z-index:2; }
.pedido .kicker{
  font-family:"JetBrains Mono",monospace; font-size:13px; letter-spacing:.2em; text-transform:uppercase;
  display:flex; align-items:center; gap:16px;
  margin:0 0 32px;
}
.pedido .kicker .bar{ width:48px; height:3px; background:var(--mustard); display:inline-block; }
.pedido h2{
  font-family:"Anton",sans-serif;
  font-size: clamp(96px, 14vw, 220px); line-height:.84;
  margin:0; text-transform:uppercase; letter-spacing:-.02em;
  color:var(--bone);
}
.pedido h2 em{ color:var(--mustard); font-style:italic; font-family:"Playfair Display",serif; font-weight:700; text-transform:none; letter-spacing:-.01em; }
.pedido .grid{
  display:grid; grid-template-columns: 1.1fr 1fr; gap:56px;
  margin-top:64px;
}
.pedido .contacts{ display:flex; flex-direction:column; gap:20px; }
.contact-row{
  display:flex; align-items:baseline; gap:24px;
  border-top:2px solid var(--bone); padding:18px 0 14px;
}
.contact-row:last-child{ border-bottom:2px solid var(--bone); }
.contact-row .k{ font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase; opacity:.7; min-width:120px; }
.contact-row .v{
  font-family:"Anton",sans-serif; font-size:36px; text-transform:uppercase; letter-spacing:0;
  color:var(--bone); text-decoration:none; line-height:1; flex:1;
  transition:color .2s ease;
}
.contact-row .v:hover{ color:var(--mustard); }
.contact-row .stamp{ transform:rotate(-4deg); }

.form{
  background:var(--bone); color:var(--cobalt);
  padding:28px 26px 26px;
  border:3px solid var(--mustard);
  display:flex; flex-direction:column; gap:14px;
}
.form .lbl{ font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.form input, .form textarea{
  font-family:"Playfair Display",serif; font-size:20px;
  background:transparent; color:var(--cobalt);
  border:none; border-bottom:2px solid var(--cobalt);
  padding:8px 0 10px; width:100%; outline:none;
}
.form input::placeholder, .form textarea::placeholder{ color:var(--cobalt); opacity:.45; font-style:italic; }
.form input:focus, .form textarea:focus{ border-bottom-color:var(--mustard); }
.form textarea{ resize:none; min-height:64px; }
.form button{
  margin-top:8px;
  font-family:"JetBrains Mono",monospace; font-weight:700;
  font-size:13px; letter-spacing:.2em; text-transform:uppercase;
  background:var(--mustard); color:var(--cobalt); border:2px solid var(--cobalt);
  padding:14px 16px; cursor:pointer; align-self:flex-start;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.form button:hover{ background:var(--cobalt); color:var(--mustard); border-color:var(--mustard); }
.form button.sent{ background:var(--cobalt); color:var(--mustard); border-color:var(--mustard); cursor:default; }

/* ----- FOOTER ----- */
footer{
  padding:36px 0 40px;
  font-family:"JetBrains Mono",monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px;
  color:var(--cobalt);
}
footer .l{ display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
footer .dot{ width:6px; height:6px; background:var(--mustard); border:1px solid var(--cobalt); transform:rotate(45deg); display:inline-block; }
footer a{ color:var(--cobalt); text-decoration:none; border-bottom:1px solid transparent; padding-bottom:1px; }
footer a:hover{ border-bottom-color:var(--mustard); }

/* ----- DOODLE ----- */
.doodle{
  position:absolute;
  pointer-events:none;
  color:var(--mustard);
}
.doodle svg{ display:block; }
.doodle.smash{ top:140px; right:-30px; width:220px; transform:rotate(-12deg) translate3d(0, var(--py, 0px), 0); z-index:1; opacity:.95; will-change:transform; }
.doodle.star{ width:80px; }

/* underline accent */
.ul-mustard{
  background-image: linear-gradient(var(--mustard), var(--mustard));
  background-repeat:no-repeat;
  background-position: 0 88%;
  background-size: 100% 28%;
  padding:0 2px;
}

/* misc */
.row-gap{ height:0; }

/* =========================================================================
   TICKER  — one editorial mono marquee, on-brand for a menu
   ========================================================================= */
.ticker{
  border-top:2px solid var(--cobalt);
  border-bottom:2px solid var(--cobalt);
  background:var(--cobalt);
  color:var(--bone);
  overflow:hidden;
  padding:13px 0;
  /* break out of .wrap horizontal padding for full-bleed band */
  margin:0 -56px;
}
.ticker-track{
  display:flex; align-items:center; width:max-content;
  white-space:nowrap;
  animation:ticker 34s linear infinite;
  will-change:transform;
}
.ticker-track span{
  font-family:"JetBrains Mono",monospace;
  font-size:13px; font-weight:500; letter-spacing:.22em; text-transform:uppercase;
  padding:0 20px;
}
.ticker-track .d{
  width:7px; height:7px; flex:none;
  background:var(--mustard); border:1.5px solid var(--bone);
  transform:rotate(45deg);
}
.ticker:hover .ticker-track{ animation-play-state:paused; }
@keyframes ticker{ from{ transform:translate3d(0,0,0); } to{ transform:translate3d(-50%,0,0); } }

/* =========================================================================
   MOTION LAYER — load reveals, scroll reveals, hero entrance, hover
   All gated so a no-JS render shows everything; reduced-motion disables.
   ========================================================================= */

/* Scroll reveals (only when JS is present so no-JS users see content) */
html.js [data-reveal]{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);
  transition-delay:calc(var(--i, 0) * 80ms);
  will-change:opacity, transform;
}
html.js [data-reveal].is-visible{ opacity:1; transform:none; }

/* Hero load sequence (CSS-only; runs regardless of JS) */
.hero .overline{ animation:riseIn .7s ease both .05s; }
.hero h1{ animation:heroWipe .9s cubic-bezier(.2,.7,.2,1) both; }
.hero h1 .amp{ animation:ampPop .55s cubic-bezier(.2,1.5,.4,1) both .9s; }
.hero-cat{ animation:riseIn .7s ease both .66s; }
.tagline{ animation:riseIn .7s ease both .78s; }
.hero-right{ animation:riseIn .7s ease both .9s; }
.hero-stamp{ animation:fadeIn .8s ease both .3s; }
.doodle.smash{ animation:fadeDoodle 1s ease both .42s; }

@keyframes riseIn{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
@keyframes heroWipe{ from{ clip-path:inset(0 0 100% 0); opacity:0; } to{ clip-path:inset(0 0 0 0); opacity:1; } }
@keyframes ampPop{ 0%{ transform:scale(0) rotate(-10deg); opacity:0; } 60%{ transform:scale(1.28) rotate(5deg); opacity:1; } 100%{ transform:scale(1) rotate(0); } }
@keyframes fadeIn{ from{ opacity:0; } to{ opacity:1; } }
@keyframes fadeDoodle{ from{ opacity:0; } to{ opacity:.95; } }

/* Hover micro-interactions (user-initiated) */
.menu-row .num,
.menu-row .name,
.menu-row .leader{ transition:transform .25s ease, border-color .25s ease, color .25s ease; }
.menu-row:hover .name{ transform:translateX(8px); }
.menu-row:hover .num{ transform:translateY(-3px); }
.menu-row:hover .leader{ border-bottom-color:var(--mustard); }

.combo{ transition:transform .3s cubic-bezier(.2,.7,.2,1); }
.combo:hover{ transform:translateY(-6px); }

.grill .item:hover{ background:var(--bone-2); }
.grill .item:hover .num{ transform:translateY(-3px); }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
/* Desktop: frame the content column like a printed menu card */
@media (min-width: 1001px){
  body{ padding:16px; }
  .wrap{ border:2px solid var(--cobalt); }
}

@media (max-width: 1000px){
  .wrap{ padding:0 28px; }
  .topbar nav{ gap:14px; }
  .topbar-right{ gap:12px; }
  .section-head{ flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:48px; }
  .section-head .kicker{ text-align:left; max-width:none; }
  .section-head .kicker .bar{ margin-left:0; }
  .kicker-own{ margin-left:0; }
  .hero-foot{ grid-template-columns: 1fr; gap:24px; }
  .hero-right{ align-items:flex-start; }
  .vol .big{ font-size:56px; }
  .hero-stamp{ right:28px; top:60px; }
  .manifesto{ grid-template-columns: 1fr; gap:20px; }
  .menu-row{ grid-template-columns: 60px 1fr; }
  .menu-row .meta-col{ grid-column: 1 / -1; flex-direction:row; align-items:center; gap:10px 14px; flex-wrap:wrap; padding-left:60px; padding-top:4px; }
  .menu-row .price{ align-self:auto; }
  .menu-row .name-line{ font-size:34px; flex-wrap:wrap; }
  .combos, .grill{ grid-template-columns: 1fr; }
  .grill{ border-left:2px solid var(--cobalt); }
  .featured{ grid-template-columns: 1fr; }
  .cozinha{ grid-template-columns: 1fr; gap:36px; }
  .pedido{ margin:0 -28px; padding:64px 28px 48px; }
  .pedido .grid{ grid-template-columns: 1fr; gap:32px; }
  .contact-row{ flex-wrap:wrap; }
  .ticker{ margin:0 -28px; }
}

@media (max-width: 600px){
  .wrap{ padding:0 20px; }
  .topbar{ flex-wrap:wrap; row-gap:12px; }
  .topbar-right{ order:1; margin-left:auto; }
  .topbar nav{ order:2; flex-basis:100%; gap:18px; }
  .topbar .meta{ display:none; }
  .hero{ padding:40px 0 40px; }
  .hero .overline{ flex-wrap:wrap; gap:8px 12px; margin-bottom:24px; }
  .hero h1{ font-size: clamp(58px, 17vw, 120px); }
  .hero-stamp{ top:36px; right:20px; }
  .hero-stamp .stamp.lg{ font-size:10px; padding:7px 9px 6px; }
  .doodle.smash{ width:130px; right:-8px; top:78px; }
  .section, .manifesto, .cozinha{ padding:60px 0 52px; }
  .section-head{ margin-bottom:40px; }
  .section-head .title{ font-size: clamp(54px, 16vw, 96px); }
  .section-head .kicker{ font-size:11px; }
  .menu-row .name-line{ font-size:30px; }
  .menu-row .desc{ font-size:18px; }
  .combo h3{ font-size:40px; }
  .featured .left, .featured .right{ padding:26px 22px; }
  .cozinha{ gap:28px; }
  .cozinha h2{ font-size: clamp(46px, 13vw, 80px); }
  .pedido{ margin:0 -20px; padding:52px 20px 40px; }
  .pedido h2{ font-size: clamp(60px, 16vw, 120px); }
  .pedido .grid{ margin-top:40px; }
  .contact-row .v{ font-size:28px; }
  .contact-row .k{ min-width:90px; }
  footer{ font-size:10px; gap:12px; }
  .ticker{ margin:0 -20px; }
  .ticker-track span{ font-size:11px; padding:0 15px; letter-spacing:.18em; }
}

/* =========================================================================
   CONTACT MODAL — opened by the "sob consulta" tags
   ========================================================================= */
body.modal-open{ overflow:hidden; }
.price.is-trigger, .combo-price.is-trigger{ cursor:pointer; }
.price.is-trigger:hover{ background:var(--mustard); color:var(--cobalt); }
.combo-price.is-trigger:hover{ background:var(--cobalt); color:var(--mustard); border-color:var(--cobalt); }

.modal{
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.modal[hidden]{ display:none; }
.modal-backdrop{
  position:absolute; inset:0;
  background:rgba(14,26,107,.6);
  animation:fadeIn .3s ease both;
}
.modal-card{
  position:relative; z-index:1;
  width:min(460px, 100%);
  background:var(--bone);
  border:3px solid var(--cobalt);
  padding:34px 32px 30px;
  animation:modalIn .35s cubic-bezier(.2,.7,.2,1) both;
}
.modal-close{
  position:absolute; top:8px; right:12px;
  width:34px; height:34px; line-height:1;
  font-family:"JetBrains Mono",monospace; font-size:26px;
  background:none; border:none; color:var(--cobalt); cursor:pointer; padding:0;
}
.modal-close:hover{ color:var(--mustard); }
.modal-kicker{
  font-family:"JetBrains Mono",monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  margin:0 0 10px;
}
.modal-kicker::before{ content:"§ "; color:var(--mustard); }
.modal-title{
  font-family:"Anton",sans-serif; font-size:clamp(40px,6vw,54px); line-height:.9;
  text-transform:uppercase; letter-spacing:-.01em; margin:0;
}
.modal-svc{
  font-family:"JetBrains Mono",monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  margin:14px 0 0; display:inline-block; padding:6px 10px;
  background:var(--mustard); color:var(--cobalt); border:2px solid var(--cobalt);
}
.modal-svc[hidden]{ display:none; }
.modal-text{
  font-family:"Playfair Display",serif; font-size:19px; line-height:1.35; margin:18px 0 24px;
}
.modal-actions{ display:flex; flex-wrap:wrap; gap:12px; }
.modal-btn{
  font-family:"JetBrains Mono",monospace; font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase;
  text-decoration:none; padding:13px 18px;
  background:var(--cobalt); color:var(--bone); border:2px solid var(--cobalt);
  transition:background .2s ease, color .2s ease;
}
.modal-btn:hover{ background:var(--mustard); color:var(--cobalt); }
.modal-btn.ghost{ background:var(--bone); color:var(--cobalt); }
.modal-btn.ghost:hover{ background:var(--cobalt); color:var(--bone); }
@keyframes modalIn{ from{ opacity:0; transform:translateY(16px) scale(.98); } to{ opacity:1; transform:none; } }

/* =========================================================================
   REDUCED MOTION — honor the user's OS setting; show everything, no movement
   ========================================================================= */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  html.js [data-reveal]{ opacity:1 !important; transform:none !important; }
  .hero .overline, .hero h1, .hero h1 .amp, .hero-cat, .tagline, .hero-right,
  .hero-stamp, .doodle.smash{ animation:none !important; opacity:1 !important; }
  .hero h1{ clip-path:none !important; }
  .hero h1 .amp{ transform:none !important; }
  .doodle.smash{ opacity:.95 !important; }
  .ticker-track{ animation:none !important; transform:none !important; }
  /* parallax is JS-driven and skipped under reduced motion, but reset for safety */
  .hero h1, .hero-stamp, .doodle.smash{ --py:0px !important; }
}
