:root{--red:#ed3724;--teal:#00b4a0;--mint:#bdd1bb;--sand:#eeecdd;--ink:#111;--white:#fff;--yellow:#f5d20b;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--sand);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.6}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.6rem 1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}a{color:inherit}
.site-header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - var(--max))/2));background:#fff;border-bottom:5px solid var(--teal);position:sticky;top:0;z-index:20}.brand img{display:block;width:280px;max-height:72px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:2rem;font-weight:800}.site-header nav>a:not(.button){text-decoration:none;text-underline-offset:6px}.site-header nav>a:not(.button):hover{color:var(--teal);text-decoration:underline}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:.8rem 1.35rem;background:var(--red);color:#fff;text-decoration:none;font-weight:800;border:3px solid var(--ink);border-radius:2px;box-shadow:5px 5px 0 var(--teal);transition:.18s transform,.18s box-shadow}.button:hover{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--teal)}.button-small{min-height:42px;padding:.5rem 1rem}.button-outline{background:#fff;color:var(--ink);box-shadow:5px 5px 0 var(--red)}.button-dark{background:var(--ink);box-shadow:5px 5px 0 #fff}.nav-toggle{display:none;background:none;border:0;padding:10px}.nav-toggle span:not(.sr-only){display:block;width:26px;height:3px;background:var(--ink);margin:4px}
.hero{max-width:var(--max);min-height:680px;margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:4rem;align-items:center;padding:4.5rem 24px}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--teal);font-size:.8rem;margin:0 0 1rem}.hero h1,.section-heading h2,.drinks h2,.story h2,.visit h2{font-family:"League Spartan",sans-serif;text-transform:uppercase;letter-spacing:-.045em;line-height:.91;margin:0}.hero h1{font-size:clamp(4.1rem,7vw,7.2rem)}.hero h1 em{font-style:normal;color:var(--red)}.lede{font-size:1.17rem;max-width:540px;margin:1.8rem 0}.hero-actions{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}.text-link{font-weight:800;text-underline-offset:5px}.hours{margin-top:2.4rem;padding-left:1rem;border-left:7px solid var(--teal);display:grid}.hours span{font-size:.95rem}.hero-visual{margin:0;position:relative}.hero-visual img{width:100%;height:570px;object-fit:cover;border:5px solid var(--ink);box-shadow:14px 14px 0 var(--teal)}.hero-visual figcaption{position:absolute;right:-10px;bottom:18px;background:var(--red);color:#fff;padding:.55rem .9rem;font-weight:800;border:3px solid var(--ink);transform:rotate(-2deg)}
.brand-strip{background:var(--teal);color:#fff;padding:.7rem 1rem;display:flex;gap:1.5rem;justify-content:center;align-items:center;font-weight:800;letter-spacing:.1em;white-space:nowrap;overflow:hidden;border-block:3px solid var(--ink)}.brand-strip img{width:46px;height:30px;object-fit:contain}.brand-strip i{color:var(--yellow)}
.menu-section{max-width:var(--max);margin:auto;padding:7rem 24px}.section-heading{display:grid;grid-template-columns:1fr .75fr;gap:4rem;align-items:end;margin-bottom:3rem}.section-heading h2,.drinks h2,.story h2,.visit h2{font-size:clamp(3rem,5vw,5.2rem)}.section-heading>p{font-size:1.08rem;margin:0}.food-gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:270px 270px;gap:16px;margin-bottom:3rem}.food-photo{margin:0;position:relative;overflow:hidden;border:4px solid var(--ink);background:#fff}.food-photo-large{grid-row:1/3}.food-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.food-photo:hover img{transform:scale(1.025)}.food-photo figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(0,180,160,.94);color:#fff;padding:.75rem 1rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.food-photo figcaption strong{font:1.2rem "League Spartan",sans-serif;text-transform:uppercase}.food-photo figcaption span{font-size:.85rem;text-align:right}
.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.menu-card{min-height:250px;padding:1.65rem;background:#fff;border:3px solid var(--ink);display:flex;flex-direction:column;box-shadow:5px 5px 0 var(--mint)}.menu-card.accent{background:var(--teal);color:#fff;box-shadow:5px 5px 0 var(--red)}.menu-card.accent-red{background:var(--red);color:#fff;box-shadow:5px 5px 0 var(--teal)}.card-kicker{text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:800;margin:0 0 .7rem}.menu-card h3{font:1.8rem "League Spartan",sans-serif;text-transform:uppercase;margin:0;line-height:1.1}.menu-card p:not(.card-kicker){margin:.7rem 0 1rem}.menu-card strong{font-size:1.1rem;margin-top:auto}.menu-actions{display:flex;justify-content:center;gap:1.2rem;margin-top:2.7rem;flex-wrap:wrap}
.drinks{background:var(--mint);border-block:4px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding:6rem max(24px,calc((100vw - var(--max))/2))}.drinks .eyebrow{color:var(--red)}.drinks>div>p:last-child{font-size:1.1rem;max-width:540px}.drinks ul{list-style:none;margin:0;padding:0}.drinks li{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:2px dotted var(--ink);font-size:1.05rem}
.story{max-width:var(--max);margin:auto;padding:7rem 24px;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}.story-photo img{display:block;width:100%;min-height:430px;object-fit:cover;border:4px solid var(--ink);box-shadow:-12px 12px 0 var(--red)}.story-copy p:not(.eyebrow){font-size:1.1rem;max-width:620px}
.visit{background:var(--red);color:#fff;padding:6rem max(24px,calc((100vw - var(--max))/2));display:grid;grid-template-columns:1.2fr .8fr;gap:5rem;align-items:center;border-top:4px solid var(--ink)}.visit .eyebrow{color:var(--yellow)}.visit-details{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;margin:2.6rem 0}.visit-details small{display:block;color:var(--yellow);font-weight:800;letter-spacing:.14em;margin-bottom:.4rem}.visit-details p,.visit-details a{margin:0;text-decoration:none;font-weight:600}.visit-actions{display:flex;gap:1rem;flex-wrap:wrap}.visit .button{background:var(--teal);color:#fff;box-shadow:5px 5px 0 #fff}.visit .button-dark{background:var(--ink)}.map-card{min-height:340px;background:#fff;color:var(--ink);border:4px solid var(--ink);box-shadow:12px 12px 0 var(--teal);display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;position:relative}.map-card img{width:130px;height:150px;object-fit:contain;margin-bottom:1rem}.map-card strong{font:1.35rem "League Spartan";text-transform:uppercase}.map-card small{font-weight:700}.map-arrow{position:absolute;right:1.2rem;top:1rem;font-size:1.8rem}
footer{padding:3rem max(24px,calc((100vw - var(--max))/2));background:#fff;color:var(--ink);border-top:7px solid var(--teal);display:grid;grid-template-columns:auto 1fr auto auto;gap:2rem;align-items:center}.footer-brand img{width:220px;display:block}footer p{margin:0}footer>div{display:flex;gap:1rem}footer>div a{text-underline-offset:4px}.mobile-order{display:none}
@media(max-width:900px){.brand img{width:220px}.site-header{height:82px}.nav-toggle{display:block}.site-header nav{position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:4px solid var(--teal);padding:1.5rem 24px;display:none;flex-direction:column;align-items:stretch;gap:1rem}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:3rem}.hero-visual img{height:500px}.section-heading,.drinks,.story,.visit{grid-template-columns:1fr;gap:2.8rem}.menu-grid{grid-template-columns:repeat(2,1fr)}.visit-details{grid-template-columns:1fr 1fr}.map-card{min-height:280px}footer{grid-template-columns:1fr;text-align:center;justify-items:center}.mobile-order{position:fixed;display:block;left:0;right:0;bottom:0;padding:.65rem 16px;background:rgba(255,255,255,.96);border-top:3px solid var(--teal);z-index:19}.mobile-order .button{width:100%;min-height:46px}body{padding-bottom:70px}}
@media(max-width:600px){.hero{min-height:auto;padding-inline:18px}.hero h1{font-size:3.5rem}.hero-visual img{height:380px}.brand-strip{justify-content:flex-start}.menu-section{padding:5rem 18px}.food-gallery{grid-template-columns:1fr;grid-template-rows:360px 260px 260px}.food-photo-large{grid-row:auto}.food-photo figcaption{align-items:flex-start;flex-direction:column;gap:.1rem}.food-photo figcaption span{text-align:left}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:220px}.drinks,.story,.visit{padding:5rem 18px}.visit-details{grid-template-columns:1fr}.section-heading{gap:1.5rem}.section-heading h2,.drinks h2,.story h2,.visit h2{font-size:2.9rem}.hero-actions .button{width:100%}.site-header{padding-inline:18px}.brand img{width:185px}.story-photo img{min-height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.food-photo img{transition:none}}

/* Brand-aligned hero headline: use the site's DM Sans and logo palette. */
.food-gallery-priced{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;align-items:stretch}
.food-gallery-priced .food-photo{display:flex;flex-direction:column;background:var(--teal)}
.food-gallery-priced .food-photo img{height:auto;aspect-ratio:4/3;object-fit:cover}
.food-gallery-priced .food-photo figcaption{position:static;display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.65rem;background:var(--teal);padding:1.2rem}
.food-gallery-priced .food-photo figcaption span{text-align:left;font-size:1rem}
.food-gallery-priced .food-price{margin-top:auto;font-size:1.15rem}
.food-gallery-priced img[src="pollo-guisado.jpg"],.food-gallery-priced img[src="tres-leches.jpg"]{object-position:center 65%}
@media(max-width:900px){.food-gallery-priced{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.food-gallery-priced{grid-template-columns:1fr;grid-template-rows:none}}
.menu-card-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0 0 1.25rem}
.menu-card-photo[src="pollo-guisado.jpg"]{object-position:center 65%}
.menu-card-photo[src="tres-leches.jpg"]{object-position:center 65%}
.hero h1{font-family:"DM Sans",sans-serif;font-size:clamp(3.6rem,6.3vw,6.5rem);font-weight:800;letter-spacing:-.055em;color:var(--teal)}
.hero h1 em{color:var(--red)}
@media(max-width:600px){.hero h1{font-size:3.15rem}}

/* Balanced homepage alignment: centered invitations, left-aligned details. */
.story-copy{text-align:center;min-width:0}.story-copy p:not(.eyebrow){margin-left:auto;margin-right:auto}.story .story-copy h2{width:100%;max-width:14ch;margin-inline:auto;text-align:center;font-size:clamp(2.2rem,5.8vw,3.6rem);line-height:1.04;letter-spacing:-.025em}.story-copy h2 span{display:block}
.hero-round-logo{display:block;width:180px;height:auto;margin:0 auto 1.5rem;mix-blend-mode:multiply}
@media(max-width:600px){.hero-round-logo{width:150px;margin-bottom:1.5rem}}
.hero-copy{text-align:center}.hero-copy .lede{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-copy .hours{display:inline-grid;text-align:left}
.section-heading{grid-template-columns:1fr;gap:1rem;text-align:center;max-width:760px;margin-left:auto;margin-right:auto}.section-heading>p{max-width:680px;margin-inline:auto}
.drinks>div{text-align:center}.drinks>div>p:last-child{margin-left:auto;margin-right:auto}.visit-copy>h2,.visit-copy>.eyebrow{text-align:center}

/* Dedicated PDF menu page. */
.full-menu-page{max-width:var(--max);margin:auto;padding:4.5rem 24px 7rem}.menu-page-heading{text-align:center;max-width:760px;margin:0 auto 4rem}.menu-page-heading h1,.pdf-menu h2{font-family:"DM Sans",sans-serif;text-transform:uppercase;letter-spacing:-.045em;line-height:.95;margin:0}.menu-page-heading h1{font-size:clamp(3.6rem,7vw,6.5rem);color:var(--teal)}.menu-page-heading>p:not(.eyebrow){font-size:1.1rem}.menu-jump-links{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;margin-top:1.8rem}.pdf-menu{scroll-margin-top:110px;margin-top:4.5rem}.pdf-menu-title{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.25rem}.pdf-menu-title .eyebrow{margin-bottom:.45rem}.pdf-menu h2{font-size:clamp(2.7rem,5vw,4.6rem);color:var(--red)}.pdf-menu object{display:block;width:100%;height:min(82vh,1050px);min-height:680px;background:#fff;border:4px solid var(--ink);box-shadow:10px 10px 0 var(--teal)}
@media(max-width:700px){.full-menu-page{padding:3rem 18px 5rem}.menu-page-heading{margin-bottom:3rem}.pdf-menu-title{align-items:flex-start;flex-direction:column;gap:.65rem}.pdf-menu object{min-height:72vh;box-shadow:7px 7px 0 var(--teal)}}
