
:root { --red:#e52b1a; --yellow:#f6cc19; --cream:#f7f0df; --ink:#1b110d; --green:#718c2d; --white:#fffdf7; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"Trebuchet MS",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }

.topline { min-height:36px; padding:7px clamp(18px,4vw,64px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; background:var(--ink); color:var(--cream); font:800 11px/1.2 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.topline a { justify-self:end; }
.site-header { height:96px; padding:10px clamp(18px,4vw,64px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; border-bottom:2px solid var(--ink); background:var(--cream); position:relative; z-index:10; }
.brand { width:174px; height:74px; overflow:hidden; display:flex; align-items:center; }
.brand img { width:174px; }
.site-header nav { display:flex; gap:32px; font-weight:900; font-size:14px; text-transform:uppercase; letter-spacing:.07em; }
.site-header nav a { padding:12px 2px; border-bottom:3px solid transparent; }
.site-header nav a:hover,.site-header nav a:focus-visible { border-color:var(--red); }
.call-pill { justify-self:end; padding:13px 18px; border:2px solid var(--ink); background:var(--red); color:white; box-shadow:4px 4px 0 var(--ink); font-weight:900; text-transform:uppercase; letter-spacing:.05em; transition:transform .15s ease,box-shadow .15s ease; }
.call-pill:hover { transform:translate(2px,2px); box-shadow:2px 2px 0 var(--ink); }

.hero { min-height:680px; display:grid; grid-template-columns:52% 48%; overflow:hidden; border-bottom:2px solid var(--ink); }
.hero-copy { padding:clamp(66px,8vw,112px) clamp(28px,6vw,90px); background-color:var(--yellow); background-image:radial-gradient(#d6ab0a 1.15px,transparent 1.15px); background-size:18px 18px; display:flex; flex-direction:column; justify-content:center; }
.eyebrow { display:flex; align-items:center; gap:10px; margin:0 0 18px; font:900 12px/1 Arial,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.eyebrow span { width:26px; height:3px; background:var(--red); }
.hero h1,.section-heading h2,.hours-intro h2 { margin:0; font-family:Impact,"Arial Black",sans-serif; font-weight:900; text-transform:uppercase; letter-spacing:-.035em; }
.hero h1 { max-width:720px; font-size:clamp(68px,8.5vw,142px); line-height:.78; }
.hero h1 em { color:var(--red); font-style:normal; text-shadow:4px 4px 0 var(--ink); -webkit-text-stroke:1px var(--ink); }
.hero-lede { max-width:560px; margin:32px 0 0; font-size:clamp(18px,1.7vw,24px); line-height:1.45; font-weight:700; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.button { min-height:52px; padding:0 21px; display:inline-flex; align-items:center; justify-content:center; gap:18px; border:2px solid var(--ink); font:900 13px/1 Arial,sans-serif; letter-spacing:.06em; text-transform:uppercase; box-shadow:4px 4px 0 var(--ink); transition:transform .15s ease,box-shadow .15s ease; }
.button:hover { transform:translate(2px,2px); box-shadow:2px 2px 0 var(--ink); }
.button-dark { background:var(--ink); color:white; }
.button-light { background:var(--cream); }
.quick-facts { display:flex; gap:0; margin-top:48px; border-top:2px solid rgba(27,17,13,.65); }
.quick-facts div { min-width:120px; padding:15px 22px 0 0; margin-right:22px; display:flex; flex-direction:column; border-right:1px solid rgba(27,17,13,.35); }
.quick-facts div:last-child { border:0; }
.quick-facts strong { font:900 20px/1 Impact,sans-serif; text-transform:uppercase; }
.quick-facts span { margin-top:5px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.hero-visual { position:relative; min-height:620px; background:var(--red); overflow:hidden; }
.hero-visual>img { width:100%; height:100%; object-fit:cover; }
.hero-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 60%,rgba(27,17,13,.4)); pointer-events:none; }
.special-card { position:absolute; left:24px; bottom:25px; z-index:2; width:min(310px,calc(100% - 48px)); padding:22px 24px; background:var(--cream); border:2px solid var(--ink); box-shadow:7px 7px 0 var(--ink); transform:rotate(-2deg); }
.special-kicker,.mini-label { display:block; font:900 10px/1 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; color:var(--red); }
.special-card strong { display:block; margin-top:8px; font:900 28px/1 Impact,sans-serif; text-transform:uppercase; }
.special-card p { margin:7px 0 0; font-size:13px; font-weight:700; }
.special-card b { position:absolute; right:-18px; top:-28px; width:75px; height:75px; display:grid; place-items:center; background:var(--yellow); border:2px solid var(--ink); border-radius:50%; font:900 25px/1 Impact,sans-serif; }
.sunburst { position:absolute; top:22px; right:20px; z-index:2; width:66px; height:66px; display:grid; place-items:center; background:var(--red); color:var(--yellow); border:3px solid var(--yellow); border-radius:50%; font:900 44px/1 Impact,sans-serif; transform:rotate(12deg); }
.ticker { overflow:hidden; background:var(--red); color:var(--cream); border-bottom:2px solid var(--ink); }
.ticker div { padding:16px 0; white-space:nowrap; text-align:center; font:900 clamp(18px,2.2vw,30px)/1 Impact,sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.ticker span { color:var(--yellow); margin:0 18px; }

.menu-section { padding:clamp(74px,8vw,120px) clamp(22px,6vw,90px); background:var(--ink); color:var(--cream); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; max-width:1400px; margin:0 auto 54px; }
.section-heading h2 { font-size:clamp(72px,9vw,138px); line-height:.8; color:var(--yellow); }
.menu-heading>p { max-width:470px; margin:0; padding-left:28px; border-left:4px solid var(--red); font-size:17px; line-height:1.6; }
.eyebrow-light { color:var(--cream); }
.menu-special { max-width:1400px; margin:0 auto 30px; padding:25px 30px; display:grid; grid-template-columns:150px 1fr 320px; align-items:center; gap:26px; background:var(--yellow); color:var(--ink); border:2px solid var(--cream); box-shadow:8px 8px 0 var(--red); }
.special-number { font:900 70px/.8 Impact,sans-serif; color:var(--red); -webkit-text-stroke:1px var(--ink); }
.menu-special h3 { margin:7px 0 0; font:900 clamp(24px,2.8vw,40px)/1 Impact,sans-serif; text-transform:uppercase; }
.special-note { font-size:13px; line-height:1.5; font-weight:700; }
.menu-grid { max-width:1400px; margin:46px auto 0; display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.menu-group h3 { margin:0 0 22px; padding-bottom:13px; color:var(--red); border-bottom:2px solid rgba(247,240,223,.25); font:900 30px/1 Impact,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.menu-list { display:grid; gap:25px; }
.menu-item-top { display:flex; align-items:baseline; gap:10px; }
.menu-item h4 { margin:0; font:900 19px/1.1 Arial,sans-serif; text-transform:uppercase; }
.menu-item strong { color:var(--yellow); font:900 18px/1 Arial,sans-serif; white-space:nowrap; }
.dots { flex:1; height:1px; border-bottom:2px dotted rgba(247,240,223,.4); }
.menu-item p { max-width:590px; margin:7px 0 0; color:#cfc5b4; font-size:13px; line-height:1.55; }
.extras-row { max-width:1400px; margin:55px auto 0; padding-top:25px; display:flex; flex-wrap:wrap; gap:12px; border-top:2px solid rgba(247,240,223,.18); }
.extras-row span { padding:11px 14px; border:1px solid rgba(247,240,223,.25); font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
.extras-row b { color:var(--yellow); }

.food-gallery { padding:clamp(70px,8vw,118px) clamp(20px,5vw,72px); display:grid; grid-template-columns:1.05fr .95fr .95fr; grid-template-rows:auto 310px; gap:20px; background:var(--cream); border-bottom:2px solid var(--ink); }
.gallery-title-wrap { padding:10px 30px 28px 0; align-self:end; }
.gallery-title-wrap h2,.about-copy h2,.social-section h2 { margin:0; font:900 clamp(56px,7vw,104px)/.82 Impact,"Arial Black",sans-serif; letter-spacing:-.03em; text-transform:uppercase; }
.gallery-title-wrap h2 em,.about-copy h2 em { color:var(--red); font-style:normal; }
.gallery-title-wrap>p:last-child { max-width:410px; margin:25px 0 0; font-size:17px; line-height:1.55; font-weight:700; }
.gallery-card { position:relative; margin:0; overflow:hidden; border:2px solid var(--ink); background:var(--yellow); box-shadow:6px 6px 0 var(--ink); }
.gallery-card img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.gallery-card:hover img { transform:scale(1.025); }
.gallery-card figcaption { position:absolute; left:12px; bottom:12px; padding:9px 11px; background:var(--yellow); border:2px solid var(--ink); font:900 11px/1 Arial,sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.gallery-tacos { grid-row:1/3; grid-column:2; min-height:650px; }
.gallery-burrito { grid-row:1; grid-column:3; min-height:320px; }
.gallery-nachos { grid-row:2; grid-column:1; }

.location-section { padding:clamp(72px,8vw,120px) clamp(22px,7vw,110px); display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(42px,7vw,100px); align-items:center; background:var(--yellow); border-bottom:2px solid var(--ink); }
.location-copy h2 { margin:0; font:900 clamp(68px,8.5vw,126px)/.8 Impact,"Arial Black",sans-serif; letter-spacing:-.035em; text-transform:uppercase; }
.location-copy h2 em { color:var(--red); font-style:normal; text-shadow:4px 4px 0 var(--ink); -webkit-text-stroke:1px var(--ink); }
.location-lede { max-width:530px; margin:30px 0 0; font-size:clamp(18px,1.6vw,23px); line-height:1.55; font-weight:700; }
.location-address { max-width:540px; margin:28px 0 0; padding:20px 22px; display:flex; flex-direction:column; gap:4px; background:var(--cream); border:2px solid var(--ink); box-shadow:6px 6px 0 var(--red); font-style:normal; }
.location-address span { color:var(--red); font:900 10px/1 Arial,sans-serif; letter-spacing:.15em; text-transform:uppercase; }
.location-address strong { margin-top:5px; font:900 clamp(30px,3.3vw,48px)/1 Impact,sans-serif; text-transform:uppercase; }
.location-address b { font-size:14px; letter-spacing:.08em; text-transform:uppercase; }
.location-actions { margin-top:28px; display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.location-call { font-weight:900; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:5px; }
.map-card { position:relative; min-height:590px; padding:48px 12px 12px; background:var(--ink); border:2px solid var(--ink); box-shadow:10px 10px 0 var(--red); overflow:hidden; }
.map-card-top { position:absolute; top:0; left:0; right:0; height:48px; padding:0 16px; display:flex; justify-content:space-between; align-items:center; color:var(--cream); font:900 10px/1 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.map-card-top span:last-child { color:var(--yellow); }
.map-card iframe { width:100%; height:530px; display:block; border:0; background:#ded7c7; filter:saturate(.9) contrast(1.04); }
.map-label { position:absolute; left:30px; bottom:32px; min-width:250px; padding:14px 16px; display:flex; align-items:center; gap:12px; background:var(--cream); border:2px solid var(--ink); box-shadow:5px 5px 0 var(--red); }
.map-label>span { width:30px; height:30px; display:grid; place-items:center; border-radius:50%; background:var(--red); color:var(--yellow); font-size:16px; }
.map-label div { display:flex; flex-direction:column; gap:4px; }
.map-label strong { font:900 18px/1 Impact,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.map-label b { font-size:10px; letter-spacing:.06em; text-transform:uppercase; }

.hours-section { padding:clamp(72px,8vw,120px) clamp(22px,7vw,110px); display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(45px,8vw,120px); background:var(--red); color:var(--cream); border-bottom:2px solid var(--ink); }
.hours-intro h2 { margin-top:20px; font-size:clamp(80px,10vw,150px); line-height:.76; color:var(--yellow); text-shadow:5px 5px 0 var(--ink); }
.hours-intro>p:not(.eyebrow) { max-width:410px; margin:35px 0; font-size:18px; line-height:1.55; }
.button-yellow { background:var(--yellow); color:var(--ink); }
.hours-card { align-self:center; padding:clamp(25px,4vw,46px); background:var(--cream); color:var(--ink); border:2px solid var(--ink); box-shadow:10px 10px 0 var(--ink); transform:rotate(1deg); }
.hours-card-top { display:flex; justify-content:space-between; margin-bottom:24px; padding-bottom:14px; border-bottom:3px solid var(--ink); font:900 11px/1 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.hours-list { display:grid; }
.hours-row { display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-bottom:1px solid rgba(27,17,13,.2); font-size:clamp(16px,2vw,22px); }
.hours-row span { font-weight:800; }
.hours-row strong { font-family:Arial,sans-serif; }
.hours-card>a { margin-top:22px; display:flex; justify-content:space-between; color:var(--red); font:900 20px/1 Arial,sans-serif; }

.about-section { padding:clamp(72px,9vw,130px) clamp(22px,7vw,110px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(50px,8vw,120px); background:var(--yellow); border-bottom:2px solid var(--ink); }
.about-photo { position:relative; min-height:670px; border:2px solid var(--ink); box-shadow:10px 10px 0 var(--red); overflow:hidden; }
.about-photo img { width:100%; height:100%; object-fit:cover; object-position:center; }
.photo-stamp { position:absolute; right:20px; bottom:20px; width:138px; height:138px; display:grid; place-items:center; padding:15px; text-align:center; border:3px solid var(--yellow); border-radius:50%; background:var(--red); color:white; font:900 12px/1.4 Arial,sans-serif; letter-spacing:.1em; text-transform:uppercase; transform:rotate(-8deg); }
.about-copy { align-self:center; }
.about-copy h2 { font-size:clamp(60px,7.4vw,110px); }
.about-lede { max-width:650px; margin:35px 0 0; font-size:clamp(18px,1.6vw,23px); line-height:1.6; font-weight:700; }
.about-quote { margin:32px 0; padding:20px 0; border-block:2px solid var(--ink); color:var(--red); font:900 clamp(25px,3vw,40px)/1 Impact,sans-serif; text-transform:uppercase; letter-spacing:.03em; }
.team-thumb { display:grid; grid-template-columns:130px 1fr; gap:20px; align-items:center; }
.team-thumb img { width:130px; height:100px; object-fit:cover; border:2px solid var(--ink); }
.team-thumb p { margin:0; line-height:1.5; }

.social-section { padding:clamp(65px,7vw,95px) clamp(22px,7vw,110px); display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:center; background:var(--ink); color:var(--cream); }
.social-section h2 { color:var(--yellow); }
.social-links { display:grid; border-top:1px solid rgba(247,240,223,.25); }
.social-links a { min-height:86px; display:grid; grid-template-columns:120px 1fr auto; gap:18px; align-items:center; border-bottom:1px solid rgba(247,240,223,.25); transition:color .15s ease,padding .15s ease; }
.social-links a:hover { color:var(--yellow); padding-left:8px; }
.social-links span { color:#b8ae9d; font:900 11px/1 Arial,sans-serif; text-transform:uppercase; letter-spacing:.12em; }
.social-links strong { font-size:clamp(15px,1.7vw,22px); }
.social-links b { font-size:28px; color:var(--red); }

.site-footer { min-height:220px; padding:35px clamp(22px,6vw,90px); display:grid; grid-template-columns:1fr auto auto; gap:clamp(35px,7vw,100px); align-items:center; background:var(--cream); }
.footer-brand img { width:220px; }
.footer-brand p { margin:2px 0 0; font-size:13px; font-weight:800; }
.footer-contact,.footer-hours { display:flex; flex-direction:column; gap:9px; }
.footer-contact span,.footer-hours span { font:900 10px/1 Arial,sans-serif; letter-spacing:.13em; text-transform:uppercase; color:#7d7067; }
.footer-contact a { color:var(--red); font:900 clamp(22px,2.8vw,38px)/1 Impact,sans-serif; }
.footer-hours p { margin:0; font-weight:900; line-height:1.5; }

@media (max-width:900px) {
  .topline { grid-template-columns:1fr 1fr; } .topline-center { display:none; }
  .site-header { grid-template-columns:1fr auto; height:86px; } .site-header nav { display:none; }
  .brand,.brand img { width:145px; } .call-pill { font-size:11px; padding:12px; }
  .hero { grid-template-columns:1fr; } .hero-copy { min-height:610px; } .hero-visual { min-height:650px; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .menu-special { grid-template-columns:105px 1fr; } .special-note { grid-column:1/-1; } .special-number { font-size:56px; }
  .menu-grid,.location-section,.hours-section,.about-section,.social-section { grid-template-columns:1fr; } .hours-card { transform:none; }
  .food-gallery { grid-template-columns:1fr 1fr; grid-template-rows:auto 420px 300px; }
  .gallery-title-wrap { grid-column:1/-1; }
  .gallery-tacos { grid-column:1; grid-row:2; min-height:0; }
  .gallery-burrito { grid-column:2; grid-row:2; min-height:0; }
  .gallery-nachos { grid-column:1/-1; grid-row:3; }
  .about-photo { min-height:580px; }
  .site-footer { grid-template-columns:1fr 1fr; } .footer-brand { grid-column:1/-1; }
}
@media (max-width:560px) {
  .topline { font-size:9px; letter-spacing:.1em; } .site-header { padding-inline:14px; } .call-pill span { display:none; }
  .hero-copy { min-height:560px; padding:56px 22px; } .hero h1 { font-size:clamp(58px,20vw,88px); } .hero h1 em { text-shadow:3px 3px 0 var(--ink); }
  .hero-lede { margin-top:25px; } .button { width:100%; }
  .quick-facts { gap:8px; } .quick-facts div { min-width:0; flex:1; margin:0; padding-right:8px; } .quick-facts span { font-size:8px; }
  .hero-visual { min-height:540px; } .special-card { left:16px; bottom:18px; width:calc(100% - 48px); }
  .ticker div { text-align:left; padding-left:16px; }
  .menu-section,.hours-section { padding-inline:18px; } .section-heading h2 { font-size:76px; } .menu-heading>p { padding-left:18px; }
  .menu-special { padding:20px; grid-template-columns:1fr; } .special-note { grid-column:auto; }
  .menu-group h3 { font-size:26px; } .menu-item h4 { font-size:16px; }
  .hours-intro h2 { font-size:84px; } .hours-row { font-size:16px; }
  .food-gallery { grid-template-columns:1fr; grid-template-rows:auto repeat(3,330px); }
  .gallery-title-wrap,.gallery-tacos,.gallery-burrito,.gallery-nachos { grid-column:1; }
  .gallery-title-wrap { grid-row:1; padding-right:0; }
  .gallery-tacos { grid-row:2; } .gallery-burrito { grid-row:3; } .gallery-nachos { grid-row:4; }
  .location-section { padding-inline:18px; } .location-copy h2 { font-size:74px; } .location-copy h2 em { text-shadow:3px 3px 0 var(--ink); }
  .map-card { min-height:470px; padding:44px 8px 8px; box-shadow:6px 6px 0 var(--red); } .map-card iframe { height:418px; }
  .map-label { left:20px; right:20px; bottom:22px; min-width:0; }
  .about-section { padding-inline:18px; } .about-photo { min-height:430px; }
  .team-thumb { grid-template-columns:100px 1fr; } .team-thumb img { width:100px; height:90px; }
  .social-links a { grid-template-columns:84px 1fr auto; gap:10px; } .social-links strong { font-size:13px; }
  .site-footer { grid-template-columns:1fr; } .footer-brand { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; } }
