/* Mike's Tacos Express — ShopMora Web Studio
   Field: taqueria / taco-truck express window
   Display: Archivo Black · Body: Archivo (self-hosted woff2)
   Palette: red + black, warm paper. Brand maroon/yellow live inside the logo only.
   Contrast verified (all >= 4.5:1): red/paper 5.5 · white/red 6.03 · redBright/ink 5.06
   · paper/ink 17.81 · muted/paper 6.78 · mutedLight/ink 9.12 · paper/maroon 11.4 */

/* Archivo Black is the display face and gates LCP — inlined as a data URI so the
   headline paints with the real font on first paint, no extra round trip.
   Regenerate with build-inline.py after replacing the woff2. */
@font-face{font-family:'Archivo Black';src:url(data:font/woff2;base64,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) format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-latin-600-normal.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap;}

:root{
  --ink:#0D0C0B;
  --ink-2:#171413;
  --ink-3:#241E1D;
  --paper:#F7F4EF;
  --paper-2:#EBE5DC;
  --red:#C4161F;
  --red-deep:#8E1017;
  --maroon:#6B0A15;
  --red-bright:#E8474E;
  --muted:#5C544B;
  --muted-light:#B8B0A6;
  --line:rgba(13,12,11,.16);
  --line-dark:rgba(247,244,239,.16);
  --pad:clamp(72px,9vw,132px);
  --lift:0 20px 44px rgba(13,12,11,.16);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:92px}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,.h2{font-family:'Archivo Black','Archivo',system-ui,sans-serif;font-weight:400;line-height:1.02;letter-spacing:-.025em;margin:0;text-wrap:balance;text-transform:uppercase}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.dark :focus-visible,.footer :focus-visible{outline-color:var(--red-bright)}

.wrap{width:min(1200px,100% - 2.5rem);margin-inline:auto}
.narrow{width:min(780px,100% - 2.5rem);margin-inline:auto}
section{padding-block:var(--pad)}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:11.5px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--red);margin:0 0 18px}
.eyebrow::before{content:"";width:34px;height:3px;background:var(--red);flex:none}
.dark .eyebrow{color:var(--red-bright)}
.dark .eyebrow::before{background:var(--red-bright)}
.h2{font-size:clamp(2.1rem,5.2vw,3.7rem)}
.lede{font-size:clamp(1.05rem,2vw,1.2rem);color:var(--muted);max-width:60ch;margin-top:18px;line-height:1.7}
.dark .lede{color:var(--muted-light)}
.sr-only{position:absolute;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:-9999px;top:0;background:var(--red);color:#fff;padding:12px 20px;z-index:300;font-weight:700}
.skip:focus{left:12px;top:12px}

/* ---------- buttons (square, editorial) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:56px;padding:16px 32px;border-radius:0;
  font-family:'Archivo',sans-serif;font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;border:2px solid transparent;
  transition:transform .2s ease-out,background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out;
}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--red);color:#fff;border-color:var(--red)}
.btn-primary:hover{background:var(--red-deep);border-color:var(--red-deep);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
.dark .btn-ghost,.footer .btn-ghost{color:var(--paper);border-color:rgba(247,244,239,.4)}
.dark .btn-ghost:hover,.footer .btn-ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:200;background:var(--ink);border-bottom:1px solid var(--ink-3)}
.hdr .wrap{display:flex;align-items:center;gap:22px;min-height:86px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--paper)}
.brand img{width:58px;height:58px;flex:none}
.brand .bt{font-family:'Archivo Black',sans-serif;font-size:19px;line-height:1;letter-spacing:-.02em;text-transform:uppercase}
.brand .bs{display:block;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--red-bright);margin-top:5px}
.nav{margin-left:auto;display:flex;align-items:center;gap:30px}
.nav a:not(.btn){text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-light);transition:color .2s ease-out}
.nav a:not(.btn):hover{color:var(--paper)}
.nav .btn{min-height:48px;padding:12px 24px;font-size:13px}
@media(max-width:980px){.nav{gap:18px}.nav a:not(.btn){display:none}}
@media(max-width:420px){.brand .bt{font-size:16px}.brand img{width:48px;height:48px}.hdr .wrap{min-height:74px;gap:12px}}

/* ---------- hero ---------- */
.hero{background:var(--ink);color:var(--paper);padding-block:clamp(56px,7vw,104px);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--red)}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(40px,5vw,84px);align-items:center}
@media(max-width:940px){.hero .wrap{grid-template-columns:1fr;gap:44px}}
.hero-logo{width:clamp(104px,13vw,150px);height:auto;margin-bottom:26px}
.hero h1{font-size:clamp(2.7rem,7vw,5.1rem);color:var(--paper)}
.hero h1 .hl{color:var(--red-bright)}
.hero .lede{margin-top:22px;font-size:clamp(1.06rem,2vw,1.24rem)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.rating{display:flex;align-items:center;gap:13px;margin-top:30px;padding-top:26px;border-top:1px solid var(--line-dark);font-size:14px;color:var(--muted-light);flex-wrap:wrap}
.rating .rv{font-family:'Archivo Black',sans-serif;font-size:30px;color:var(--paper);line-height:1}
.rating .st{display:flex;gap:3px;color:var(--red-bright)}
.rating .st svg{width:16px;height:16px}

/* hero photo, offset red frame */
.hero-fig{position:relative;margin:0}
.hero-fig::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:3px solid var(--red);z-index:0;pointer-events:none}
.hero-fig img{position:relative;z-index:1;width:100%;aspect-ratio:588/784;object-fit:cover;filter:saturate(1.04) contrast(1.03)}
.hero-fig figcaption{position:relative;z-index:2;margin-top:20px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--muted-light)}
@media(max-width:940px){.hero-fig{max-width:440px;margin-inline:auto}.hero-fig::after{inset:14px -14px -14px 14px}}

/* ---------- proof ---------- */
.proof{background:var(--paper-2);padding-block:clamp(48px,6vw,72px)}
.proof-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(24px,3.4vw,50px)}
.proof-item{border-top:3px solid var(--red);padding-top:20px}
.proof-item h3{font-size:1.05rem;margin-bottom:9px;letter-spacing:-.01em}
.proof-item p{font-size:14.5px;color:var(--muted);line-height:1.6}

/* ---------- signature dishes ---------- */
.dish-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,3.4vw,48px);margin-top:clamp(40px,5vw,60px)}
@media(max-width:800px){.dish-grid{grid-template-columns:1fr}}
.dish{margin:0;position:relative}
.dish img{width:100%;aspect-ratio:784/490;object-fit:cover;filter:saturate(1.04) contrast(1.03);transition:transform .35s ease-out}
.dish .imgbox{overflow:hidden;background:var(--ink-2)}
.dish:hover img{transform:scale(1.035)}
.dish figcaption{padding-top:22px;border-top:3px solid var(--ink);margin-top:22px}
.dish h3{font-size:1.5rem;display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.dish h3 .pr{font-family:'Archivo Black',sans-serif;font-size:1.25rem;color:var(--red);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.dish p{margin-top:10px;font-size:15px;color:var(--muted);line-height:1.6}

/* ---------- menu ---------- */
.menu-head{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,60px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
@media(max-width:860px){.menu-head{grid-template-columns:1fr;gap:20px}}
.menu-head .lede{margin-top:0}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(26px,3vw,44px);align-items:start}
.mcard{border-top:3px solid var(--ink);padding-top:24px}
.mcard.feature{background:var(--ink);color:var(--paper);border-top-color:var(--red);padding:28px clamp(22px,2.4vw,30px) 26px}
.mcard h3{font-size:1.3rem;display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.mcard h3 .tag{font-family:'Archivo',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--red);white-space:nowrap;text-transform:uppercase}
.mcard.feature h3 .tag{color:var(--red-bright)}
.mcard .cat-note{font-size:13.5px;color:var(--muted);margin:12px 0 4px;line-height:1.55}
.mcard.feature .cat-note{color:var(--muted-light)}
.item{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.mcard.feature .item{border-bottom-color:var(--line-dark)}
.item:last-child{border-bottom:0}
.item .name{font-weight:600;font-size:15.5px}
.item .desc{display:block;font-weight:400;font-size:13.5px;color:var(--muted);margin-top:4px;line-height:1.55}
.mcard.feature .item .desc{color:var(--muted-light)}
.item .price{font-family:'Archivo Black',sans-serif;font-size:16px;color:var(--red);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.01em}
.mcard.feature .item .price{color:var(--red-bright)}
.menu-foot{margin-top:clamp(38px,5vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:30px}
.menu-foot p{font-size:13.5px;color:var(--muted);max-width:46ch}

/* ---------- dark sections ---------- */
.dark{background:var(--ink);color:var(--paper)}
.dark .h2{color:var(--paper)}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(22px,2.6vw,32px);margin-top:clamp(38px,4.5vw,58px)}
.rev{background:var(--ink-2);border-left:3px solid var(--red);padding:28px 26px;display:flex;flex-direction:column}
.rev .qs{display:flex;gap:3px;color:var(--red-bright);margin-bottom:16px}
.rev .qs svg{width:14px;height:14px}
.rev blockquote{margin:0;font-size:15.5px;line-height:1.65;flex:1}
.rev cite{display:block;margin-top:18px;font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-light)}
.rev-note{margin-top:clamp(32px,4vw,46px);font-size:14px;color:var(--muted-light)}
.rev-note a{color:var(--red-bright);font-weight:700}

/* ---------- visit ---------- */
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,4.5vw,72px);align-items:start}
@media(max-width:860px){.visit-grid{grid-template-columns:1fr}}
.addr{font-size:17px;line-height:1.8;margin:26px 0 0}
.addr .big{font-family:'Archivo Black',sans-serif;font-size:1.15rem;text-transform:uppercase;letter-spacing:-.01em;display:block;margin-bottom:8px}
.addr a{color:var(--red);font-weight:700;text-decoration:none}
.addr a:hover{text-decoration:underline}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 30px}
.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);padding:9px 15px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.chip svg{width:13px;height:13px;color:var(--red)}
.visit-cta{display:flex;flex-wrap:wrap;gap:13px}
.hours{width:100%;border-collapse:collapse}
.hours caption{text-align:left;caption-side:top}
.hours td{padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px;font-variant-numeric:tabular-nums}
.hours td:last-child{text-align:right;font-weight:700}
.hours tr.closed td{color:var(--muted)}

/* ---------- form ---------- */
.form-sec{background:var(--paper-2)}
form.lead{margin-top:34px;display:grid;gap:22px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:640px){.f2{grid-template-columns:1fr}}
.field label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:9px}
.field .opt{color:var(--muted);letter-spacing:.06em}
.field input,.field textarea{
  width:100%;font-family:inherit;font-size:16px;color:var(--ink);background:var(--paper);
  border:1.5px solid var(--line);border-radius:0;padding:15px 16px;min-height:56px;
  transition:border-color .2s ease-out,box-shadow .2s ease-out;
}
.field textarea{min-height:140px;resize:vertical;line-height:1.6}
.field input:hover,.field textarea:hover{border-color:rgba(13,12,11,.4)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(196,22,31,.16)}
.field input:user-invalid,.field textarea:user-invalid{border-color:var(--red-deep)}
.form-note{font-size:13.5px;color:var(--muted);line-height:1.6}
.form-note a{color:var(--red);font-weight:700}

/* ---------- footer ---------- */
.footer{background:var(--ink);color:var(--paper);padding-block:clamp(54px,6vw,80px) 32px;border-top:4px solid var(--red)}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(30px,4vw,60px)}
@media(max-width:800px){.f-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.f-grid{grid-template-columns:1fr}}
.footer .brand{margin-bottom:18px}
.footer .brand img{width:66px;height:66px}
.footer h3{font-size:11.5px;font-family:'Archivo',sans-serif;font-weight:700;letter-spacing:.2em;color:var(--red-bright);margin-bottom:18px}
.footer p,.footer li{font-size:14.5px;color:var(--muted-light);line-height:1.8}
.footer ul{list-style:none;margin:0;padding:0}
.footer a{color:var(--muted-light);text-decoration:none;transition:color .2s ease-out}
.footer a:hover{color:var(--paper);text-decoration:underline}
.f-bot{margin-top:48px;padding-top:24px;border-top:1px solid var(--ink-3);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px;color:#8A8177}
.f-bot a{color:#8A8177}

/* ---------- motion ---------- */
.reveal{opacity:0;transform:translateY(16px)}
.reveal.in{opacity:1;transform:none;transition:opacity .55s ease-out,transform .55s ease-out}
@media(pointer:coarse){
  .footer ul a,.rev-note a,.form-note a,.addr a,.menu-head a,.lede a{display:inline-block;padding-block:11px;min-height:44px;line-height:22px}
}
/* Touch targets for the nav only where the nav links are actually shown. */
@media(pointer:coarse) and (min-width:981px){
  .nav a:not(.btn){min-height:44px;display:inline-flex;align-items:center}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
  .btn:hover,.dish:hover img{transform:none}
}
@media print{.hdr,.hero-cta,.footer{display:none}}

/* Menu CTA card — fills the sixth grid cell instead of leaving dead space. */
.mcard.cta-card{background:var(--red);color:#fff;border-top-color:var(--ink);display:flex;flex-direction:column;padding:28px clamp(22px,2.4vw,30px) 30px}
.mcard.cta-card h3{color:#fff;margin-bottom:14px}
.mcard.cta-card p{font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.94);margin-bottom:auto;padding-bottom:26px}
.btn-bone{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.btn-bone:hover{background:var(--ink);color:var(--paper);border-color:var(--ink);transform:translateY(-2px)}
.mcard.cta-card .tel-alt{display:block;margin-top:16px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;text-decoration:none}
.mcard.cta-card .tel-alt:hover{text-decoration:underline}
.menu-foot{justify-content:flex-start}
