html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.grain { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E"); }
.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -5px; height: 3px; background: #b71918; transition: right .2s; }
.nav-link:hover::after { right: 0; }
.mobile-link { display: block; border-bottom: 1px solid #d6cdb9; padding: .8rem 0; font-weight: 900; text-transform: uppercase; }
.btn-primary,.btn-secondary { display:inline-flex; align-items:center; justify-content:center; border:3px solid #171512; border-radius:999px; padding:.85rem 1.4rem; font-weight:900; text-transform:uppercase; letter-spacing:.04em; transition:.2s; }
.btn-primary { background:#b71918; color:white; box-shadow:5px 5px 0 #171512; }
.btn-secondary { background:#fff6df; color:#171512; box-shadow:5px 5px 0 #171512; }
.btn-primary:hover,.btn-secondary:hover { transform:translate(-2px,-2px); box-shadow:7px 7px 0 #171512; }
.eyebrow { font-weight:900; letter-spacing:.18em; text-transform:uppercase; color:#b71918; }
.section-title { margin-top:.4rem; font-family:Impact,'Arial Narrow',sans-serif; font-size:clamp(3rem,7vw,5.5rem); line-height:.9; text-transform:uppercase; }
.hero-board { position:relative; width:100%; max-width:35rem; margin-inline:auto; border:4px solid #171512; border-radius:1.25rem; overflow:hidden; background:#fff6df; box-shadow:12px 12px 0 #171512; transform:rotate(1deg); }
.hero-board__topline { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 1.2rem; background:#171512; color:#fff6df; font-size:.78rem; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.hero-board__body { position:relative; padding:2.1rem 1.7rem 1.5rem; background:linear-gradient(135deg,#fff6df 0 55%,#f7ebce 55% 100%); }
.hero-board__kicker { font-weight:900; letter-spacing:.18em; text-transform:uppercase; color:#b71918; }
.hero-board__formula { display:grid; grid-template-columns:1fr auto 1.35fr; align-items:center; gap:.7rem; margin-top:1rem; }
.hero-board__formula div { display:flex; flex-direction:column; }
.hero-board__formula strong { font-family:Impact,'Arial Narrow',sans-serif; font-size:clamp(5rem,11vw,8rem); line-height:.8; color:#b71918; text-shadow:4px 4px 0 #f5a800; }
.hero-board__formula span { margin-top:.45rem; font-family:Impact,'Arial Narrow',sans-serif; font-size:clamp(1.6rem,4vw,2.5rem); line-height:.9; text-transform:uppercase; }
.hero-board__formula b { font-size:2rem; }
.hero-board__bonus { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.8rem; border-top:3px dashed #171512; padding-top:1.1rem; text-transform:uppercase; }
.hero-board__bonus span { font-size:.75rem; font-weight:900; letter-spacing:.12em; }
.hero-board__bonus strong { color:#b71918; font-size:1.1rem; }
.hero-board__footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.3rem; background:#b71918; color:white; }
.hero-board__footer div { display:flex; flex-direction:column; }
.hero-board__footer small { font-size:.65rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; color:#f5a800; }
.hero-board__footer strong { font-size:1.05rem; }
.hero-board__footer a { border-bottom:2px solid #f5a800; font-weight:900; text-transform:uppercase; }
.hero-board__stamp { position:absolute; right:1.1rem; top:3.5rem; display:grid; place-items:center; width:5.5rem; height:5.5rem; border:3px solid #171512; border-radius:50%; background:#f5a800; font-family:Impact,'Arial Narrow',sans-serif; font-size:1.35rem; line-height:.9; text-align:center; text-transform:uppercase; transform:rotate(9deg); }
.tamales-section { position:relative; overflow:hidden; border-block:4px solid #171512; background:#b71918; color:white; }
.tamales-section::before { content:'TAMALES'; position:absolute; right:-1rem; top:1rem; color:rgba(255,255,255,.045); font-family:Impact,'Arial Narrow',sans-serif; font-size:clamp(8rem,25vw,22rem); line-height:.8; letter-spacing:-.04em; pointer-events:none; }
.saturday-badge { position:relative; display:flex; flex-direction:column; min-width:15rem; border:3px solid #171512; border-radius:1rem; padding:1rem 1.25rem; background:#f5a800; color:#171512; box-shadow:6px 6px 0 #171512; transform:rotate(1.5deg); }
.saturday-badge span { font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.saturday-badge strong { font-family:Impact,'Arial Narrow',sans-serif; font-size:2.2rem; line-height:1; text-transform:uppercase; }
.tamales-gallery { position:relative; display:grid; grid-template-columns:1.55fr .7fr; gap:1rem; margin-top:2.5rem; }
.tamales-gallery figure { position:relative; overflow:hidden; border:3px solid #171512; border-radius:1.15rem; background:#171512; box-shadow:7px 7px 0 #171512; }
.tamales-gallery img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.tamales-gallery figure:hover img { transform:scale(1.025); }
.tamales-gallery__main { min-height:31rem; }
.tamales-gallery__side { min-height:31rem; transform:rotate(1deg); }
.tamales-gallery figcaption { position:absolute; left:1rem; right:1rem; bottom:1rem; display:flex; flex-direction:column; border:2px solid #171512; border-radius:.8rem; padding:.8rem 1rem; background:rgba(255,246,223,.94); color:#171512; backdrop-filter:blur(7px); }
.tamales-gallery figcaption span { color:#b71918; font-size:.7rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.tamales-gallery figcaption strong,.tamales-gallery__side figcaption { font-family:Impact,'Arial Narrow',sans-serif; font-size:1.5rem; line-height:1; text-transform:uppercase; }
.price-grid { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.price-card { display:flex; min-height:14rem; flex-direction:column; justify-content:space-between; border:3px solid #171512; border-radius:1rem; padding:1.35rem; background:#fff6df; color:#171512; box-shadow:6px 6px 0 #171512; }
.price-card--featured { background:#f5a800; }
.price-card p { font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.price-card strong { font-family:Impact,'Arial Narrow',sans-serif; font-size:clamp(3.7rem,6vw,6rem); line-height:.8; color:#b71918; }
.price-card sup { margin-right:.12em; font-family:Arial,sans-serif; font-size:.35em; vertical-align:top; }
.price-card span { font-size:.82rem; font-weight:700; color:#665d50; }
.flavors-row { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.5rem; margin-top:2rem; border-top:2px dashed rgba(255,255,255,.55); padding-top:2rem; }
.flavors-row > p { font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.flavors-row ul { display:flex; flex-wrap:wrap; gap:.65rem; }
.flavors-row li { border:2px solid #f5a800; border-radius:999px; padding:.45rem .9rem; font-weight:900; text-transform:uppercase; }
.menu-card { min-height:250px; border:4px solid #171512; border-radius:1rem; padding:1.7rem; box-shadow:7px 7px 0 #f5a800; }
.meals-photo { position:relative; height:clamp(22rem,50vw,36rem); margin-top:2.5rem; overflow:hidden; border:4px solid #171512; border-radius:1.25rem; box-shadow:10px 10px 0 #f5a800; }
.meals-photo img { width:100%; height:100%; object-fit:cover; }
.meals-photo figcaption { position:absolute; left:1.2rem; bottom:1.2rem; display:flex; max-width:26rem; flex-direction:column; border:3px solid #171512; border-radius:.9rem; padding:1rem 1.2rem; background:#fff6df; }
.meals-photo figcaption span { color:#b71918; font-size:.72rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.meals-photo figcaption strong { margin-top:.2rem; font-family:Impact,'Arial Narrow',sans-serif; font-size:clamp(1.8rem,4vw,3rem); line-height:.95; text-transform:uppercase; }
.menu-card h3 { margin-top:2rem; font-family:Impact,'Arial Narrow',sans-serif; font-size:2.2rem; text-transform:uppercase; }
.menu-card p { margin-top:.7rem; font-size:1.05rem; line-height:1.6; }
.menu-number { display:inline-grid; place-items:center; width:2.8rem; height:2.8rem; border:2px solid #171512; border-radius:50%; font-weight:900; }
.branch-card { position:relative; border:2px solid #f5a800; border-radius:1rem; padding:2rem; background:#25211c; }
.branch-card h3 { padding-right:3rem; font-family:Impact,'Arial Narrow',sans-serif; font-size:2rem; text-transform:uppercase; color:#f5a800; }
.branch-card address { min-height:5rem; margin-top:1rem; font-style:normal; line-height:1.6; color:#eee7d7; }
.branch-card a { display:inline-block; margin-top:1.4rem; border-bottom:2px solid #f5a800; font-weight:900; text-transform:uppercase; }
.branch-label { position:absolute; right:1.4rem; top:1.4rem; color:#f5a800; font-weight:900; font-size:1.2rem; }
.contact-link { display:flex; justify-content:space-between; gap:1rem; border-bottom:3px solid #171512; padding:.8rem 0; font-size:1.1rem; text-transform:uppercase; }
@media (max-width: 900px) { .price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .flavors-row { grid-template-columns:1fr; } .tamales-gallery { grid-template-columns:1fr; } .tamales-gallery__main { min-height:25rem; } .tamales-gallery__side { min-height:20rem; transform:none; } }
@media (max-width: 520px) { .contact-link { flex-direction:column; gap:.2rem; } .hero-board__stamp { width:4.6rem; height:4.6rem; font-size:1.05rem; } .hero-board__body { padding-inline:1.15rem; } .price-grid { grid-template-columns:1fr; } .price-card { min-height:11.5rem; } .tamales-gallery__main { min-height:20rem; } .tamales-gallery__side { min-height:17rem; } .meals-photo { height:27rem; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
