/* Guerrero Mexican Grill, Leeds AL. Palette sampled from the logo file (01-logo-on-file):
   chili #E10D07 (banner red), gold #F5C14F (GUERRERO letters), cream #FBEFB7 (letter face),
   verde #398806 (pepper + ribbon), lime #A1C511 (margarita), ink #080503 (jacket + banner).
   Display: Coustard 900 (echoes the logo's MEXICAN GRILL serif). Labels: Holtwood One SC (wood type).
   Body: Familjen Grotesk. Native scroll only; motion = CSS + one IntersectionObserver. */

@font-face{font-family:"Coustard";src:url(/fonts/coustard-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"Holtwood One SC";src:url(/fonts/holtwood-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Familjen Grotesk";src:url(/fonts/familjen-400-700.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --chili:#e10d07;
  --chili-deep:#a50a06;
  --chili-dark:#5e0603;
  --gold:#f5c14f;
  --gold-soft:#f8d784;
  --cream:#fbefb7;
  --verde:#398806;
  --verde-deep:#2b6a04;
  --lime:#a1c511;
  --ink:#0d0805;
  --ink-2:#170e09;
  --ink-3:#24170f;
  --ink-line:rgba(251,239,183,.14);
  --paper:#f7efdf;
  --paper-2:#efe3c9;
  --paper-line:rgba(36,23,15,.14);
  --text:#24170f;
  --mute:#5c4a3b;
  --fog:#e9dcc2;
  --fog-mute:#c8b89c;
  --white:#fffaf0;
  --display:"Coustard",Georgia,"Times New Roman",serif;
  --wood:"Holtwood One SC",Georgia,serif;
  --body:"Familjen Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --gut:max(clamp(18px,5vw,40px),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));
  --max:1220px;
  --edge:max(var(--gut),calc((var(--vw,100vw) - var(--max)) / 2));
  --hdr-h:68px;
  --r:14px;
  --r-lg:22px;
  --shadow:0 18px 40px -18px rgba(8,5,3,.55);
  --ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--hdr-h) + 16px);-webkit-tap-highlight-color:rgba(245,193,79,.22)}
@media (max-width:1099px){html{scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
a,button,summary,select{touch-action:manipulation}
.town-min strong,.hours strong,.drive dd{font-variant-numeric:tabular-nums}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}
:where(ul,ol)[role="list"]{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:4px}
.t-paper :focus-visible,.pg-paper :focus-visible{outline-color:var(--chili-deep)}
:where(a,button,span,p,li,summary) > svg:where(:not([width])){width:1.15em;height:1.15em;flex:none}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-80px;z-index:200;background:var(--gold);color:var(--ink);padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.nb{white-space:nowrap}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:calc(var(--max) + var(--gut) * 2);margin-inline:auto;padding-inline:var(--gut)}
.sec{position:relative;padding-block:clamp(64px,10vw,124px)}
.sec-tight{padding-block:clamp(44px,7vw,80px)}
.t-ink{background:var(--ink);color:var(--fog)}
.t-ink-2{background:var(--ink-2);color:var(--fog)}
.t-paper{background:var(--paper);color:var(--text)}
.t-paper-2{background:var(--paper-2);color:var(--text)}
.t-chili{background:var(--chili-deep);color:var(--white)}

/* ---------- type ---------- */
.kick{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5em;font-family:var(--wood);font-size:.74rem;letter-spacing:.14em;line-height:1.35;color:var(--chili-deep);text-transform:uppercase;margin-bottom:14px;width:fit-content}
.kick::before{content:"";width:22px;height:3px;border-radius:2px;background:currentColor;flex:none}
.t-ink .kick,.t-ink-2 .kick,.t-chili .kick,.k-light{color:var(--gold)}
.dh{font-family:var(--display);font-weight:900;line-height:1.02;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}
.t-ink .dh,.t-ink-2 .dh,.t-chili .dh{color:var(--cream)}
.h2{font-size:clamp(2rem,1.25rem + 3.6vw,3.6rem)}
.h3{font-size:clamp(1.3rem,1.1rem + .9vw,1.7rem);line-height:1.12}
.ac{color:var(--chili-deep)}
.t-ink .ac,.t-ink-2 .ac,.t-chili .ac{color:var(--gold)}
.lede{font-size:clamp(1.06rem,1rem + .35vw,1.22rem);line-height:1.55;color:var(--mute);max-width:58ch;margin-top:16px}
.t-ink .lede,.t-ink-2 .lede{color:var(--fog-mute)}
.t-chili .lede{color:#ffe9dc}
.prose{max-width:64ch}
.prose p{margin-top:14px;color:var(--mute)}
.prose p:first-child{margin-top:0}
.t-ink .prose p,.t-ink-2 .prose p{color:var(--fog-mute)}
.prose strong{color:var(--text);font-weight:700}
.t-ink .prose strong,.t-ink-2 .prose strong{color:var(--cream)}
.prose a:not(.btn){color:var(--chili-deep);text-underline-offset:3px;text-decoration-thickness:1px;font-weight:600}
.t-ink .prose a:not(.btn),.t-ink-2 .prose a:not(.btn){color:var(--gold)}
.sep{color:var(--gold);padding-inline:.3em}
.t-paper .sep,.t-paper-2 .sep{color:var(--chili-deep)}
.head{display:grid;gap:8px;margin-bottom:clamp(30px,5vw,56px)}
.head .lede{margin-top:6px}

/* ---------- buttons ---------- */
.btn{--bg:var(--chili);--fg:var(--white);display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:14px 24px;border-radius:999px;border:2px solid var(--bg);background:var(--bg);color:var(--fg);font-family:var(--body);font-weight:700;font-size:1.02rem;letter-spacing:.01em;line-height:1.15;text-decoration:none;text-align:center;transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);touch-action:manipulation}
.btn:hover{--bg:#f2241c;transform:translateY(-1px);box-shadow:0 12px 26px -12px rgba(225,13,7,.75)}
.btn:active{transform:translateY(0)}
.btn svg{width:1.15em;height:1.15em}
.btn-ghost{--bg:transparent;--fg:var(--cream);border-color:rgba(251,239,183,.55)}
.btn-ghost:hover{--bg:rgba(251,239,183,.1);border-color:var(--cream);box-shadow:none}
.btn-gold{--bg:var(--gold);--fg:var(--ink)}
.btn-gold:hover{--bg:var(--gold-soft);box-shadow:0 12px 26px -12px rgba(245,193,79,.7)}
.btn-ink{--bg:var(--ink);--fg:var(--cream)}
.btn-ink:hover{--bg:var(--ink-3);box-shadow:var(--shadow)}
.btn-line{--bg:transparent;--fg:var(--ink);border-color:rgba(36,23,15,.35)}
.btn-line:hover{--bg:rgba(36,23,15,.06);border-color:var(--ink);box-shadow:none}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.link{display:inline-flex;align-items:center;gap:.4em;font-weight:700;color:var(--chili-deep);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.link svg{width:1em;height:1em;transition:transform .2s var(--ease)}
.link:hover svg{transform:translateX(3px)}
.t-ink .link,.t-ink-2 .link{color:var(--gold)}

/* ---------- header ---------- */
.hdr{position:fixed;inset:0 0 auto 0;z-index:60;height:calc(var(--hdr-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);transition:background-color .3s var(--ease),transform .35s var(--ease),box-shadow .3s var(--ease)}
.hdr::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,8,5,.72),rgba(13,8,5,0));pointer-events:none;transition:opacity .3s}
.hdr.solid{background:rgba(13,8,5,.96);box-shadow:0 1px 0 var(--ink-line)}
.hdr.solid::before{opacity:0}
.hdr.tuck{transform:translateY(-104%)}
.hdr.tuck:focus-within{transform:none}
.hdr-in{position:relative;height:var(--hdr-h);display:flex;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--cream);flex:none;min-width:0}
.brand img{width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.45))}
.brand-wm{display:grid;line-height:1}
.brand-wm b{font-family:var(--display);font-weight:900;font-size:1.32rem;letter-spacing:.01em;color:var(--gold)}
.brand-wm i{font-style:normal;font-family:var(--wood);font-size:.56rem;letter-spacing:.2em;color:var(--cream);margin-top:5px}
.nav{margin-left:auto;display:none}
.nav ul{display:flex;gap:4px}
.nav a{display:block;padding:10px 14px;border-radius:999px;color:var(--fog);text-decoration:none;font-weight:600;font-size:.98rem;transition:background-color .2s,color .2s}
.nav a:hover,.nav a[aria-current="page"]{color:var(--gold);background:rgba(251,239,183,.08)}
.hdr-call{margin-left:auto;min-height:44px;padding:10px 16px;font-size:.95rem}
.hdr-call .lbl{display:none}
.burger{flex:none;width:46px;height:46px;border-radius:12px;border:1px solid rgba(251,239,183,.3);background:rgba(13,8,5,.35);color:var(--cream);display:grid;place-items:center}
.burger svg{width:22px;height:22px}
@media (min-width:460px){.hdr-call .lbl{display:inline}}
@media (min-width:1100px){
  .nav{display:block}
  .hdr-call{margin-left:8px}
  .burger{display:none}
  .brand img{width:60px;height:60px}
}

/* drawer */
.drawer{position:fixed;inset:0;z-index:90;overscroll-behavior:contain;background:var(--ink);color:var(--fog);display:flex;flex-direction:column;padding:calc(18px + env(safe-area-inset-top,0px)) var(--gut) calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto}
.drawer[hidden]{display:none}
.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.drawer-x{width:48px;height:48px;border-radius:12px;border:1px solid rgba(251,239,183,.3);background:transparent;color:var(--cream);display:grid;place-items:center}
.drawer-x svg{width:22px;height:22px}
.drawer nav{margin-top:26px}
.drawer nav a{display:flex;align-items:center;justify-content:space-between;padding:15px 2px;border-bottom:1px solid var(--ink-line);font-family:var(--display);font-weight:900;font-size:1.6rem;color:var(--cream);text-decoration:none}
.drawer nav a span{font-family:var(--wood);font-size:.62rem;letter-spacing:.14em;color:var(--gold)}
.drawer .btns{margin-top:28px}
.drawer .btn{flex:1 1 220px}
.drawer-info{margin-top:22px;color:var(--fog-mute);font-size:.95rem}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;min-height:max(640px,100svh);display:flex;align-items:center;justify-content:center;background:var(--ink);color:var(--white);overflow:hidden;padding:calc(var(--hdr-h) + env(safe-area-inset-top,0px) + 18px) 0 120px}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.hs{position:absolute;inset:0;opacity:0;animation:hsfade 27s linear infinite}
.hs picture,.hs img{width:100%;height:100%}
.hs img{object-fit:cover;transform-origin:center;animation:kb 27s ease-in-out infinite}
.hs-1{opacity:1;animation:none}
.hs-1 img{object-position:50% 58%}
.hs-2{animation-delay:9s}
.hs-2 img{animation-delay:9s;object-position:50% 70%}
.hs-3{animation-delay:18s}
.hs-3 img{animation-delay:18s;object-position:50% 45%}
@keyframes hsfade{0%{opacity:0}4%{opacity:1}33%{opacity:1}37%{opacity:0}100%{opacity:0}}
@keyframes kb{0%{transform:scale(1.02) translate3d(0,0,0)}50%{transform:scale(1.12) translate3d(-1.2%,-1%,0)}100%{transform:scale(1.02) translate3d(0,0,0)}}
.hs-1 img{animation:kb1 30s ease-in-out infinite}
@keyframes kb1{0%,100%{transform:scale(1.03)}50%{transform:scale(1.13) translate3d(1%,-1.4%,0)}}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 70% 58% at 50% 46%,rgba(13,8,5,.66),rgba(13,8,5,.42) 60%,rgba(13,8,5,.3)),linear-gradient(180deg,rgba(13,8,5,.55) 0%,rgba(13,8,5,.18) 30%,rgba(13,8,5,.5) 72%,rgba(13,8,5,.94) 100%)}
.hero-in{position:relative;width:100%;max-width:900px;margin-inline:auto;padding-inline:var(--gut);text-align:center;display:flex;flex-direction:column;align-items:center}
.hero-logo{width:min(50vw,250px);height:auto;aspect-ratio:1183/1186;filter:drop-shadow(0 14px 30px rgba(0,0,0,.6))}
.pill{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 16px 8px 12px;border-radius:999px;background:rgba(13,8,5,.6);border:1px solid rgba(245,193,79,.5);color:var(--cream);font-weight:600;font-size:.92rem;line-height:1.3;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pill svg{width:16px;height:16px;color:var(--gold)}
.hero h1{margin-top:18px;font-family:var(--display);font-weight:900;color:var(--white);text-shadow:0 3px 24px rgba(0,0,0,.55)}
.h1-k{display:block;font-family:var(--wood);font-weight:400;font-size:clamp(.72rem,.66rem + .3vw,.88rem);letter-spacing:.16em;line-height:1.4;color:var(--gold-soft);text-transform:uppercase;margin-bottom:12px;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.h1-big{display:block;font-size:clamp(2.55rem,1.1rem + 7.2vw,5.9rem);line-height:.98;letter-spacing:-.018em;text-wrap:balance}
.h1-big .ac{color:var(--gold);display:block}
.hero .sub{margin-top:18px;max-width:40ch;font-size:clamp(1.05rem,.98rem + .4vw,1.25rem);line-height:1.5;color:#f4ead6;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.hero .btns{justify-content:center;margin-top:28px}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:24px;color:#efe4cc;font-weight:600;font-size:.95rem}
.trust li{display:inline-flex;align-items:center;gap:7px}
.trust svg{width:17px;height:17px;color:var(--lime)}
@media (min-width:760px){
  .hero-logo{width:min(250px,25svh)}
  .pill{margin-top:12px}
  .hero h1{margin-top:12px}
  .h1-k{margin-bottom:8px}
  .h1-big{font-size:clamp(2.55rem,min(1.1rem + 7.2vw,10svh),5.9rem)}
  .hero .sub{max-width:54ch;margin-top:12px}
  .hero .btns{margin-top:20px}
  .trust{margin-top:18px}
}
.motion-btn{position:absolute;z-index:4;right:max(14px,env(safe-area-inset-right,0px));bottom:14px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(251,239,183,.45);background:rgba(13,8,5,.55);color:var(--cream);display:grid;place-items:center;transition:background-color .2s}
.motion-btn:hover{background:rgba(13,8,5,.85)}
.motion-btn svg{width:16px;height:16px}
.motion-btn .i-play{display:none}
html.motion-off .motion-btn .i-play{display:block}
html.motion-off .motion-btn .i-pause{display:none}
html.motion-off .hs,html.motion-off .hs img,html.motion-off .kb img{animation-play-state:paused!important}
@media (max-width:1099px){.hero .motion-btn{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
.scroll-cue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);color:var(--cream);opacity:.75;display:none}
@media (min-width:1100px){.scroll-cue{display:block}}
.scroll-cue svg{width:26px;height:26px;animation:cue 2.4s ease-in-out 3}
@keyframes cue{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

/* ---------- info strip (ticket) ---------- */
.strip{position:relative;z-index:3;margin-top:-64px}
.strip-in{display:grid;grid-template-columns:minmax(0,1fr);background:var(--cream);color:var(--ink);border-radius:var(--r-lg);box-shadow:0 30px 60px -30px rgba(8,5,3,.6);overflow:hidden;border:1px solid rgba(36,23,15,.12)}
.strip-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 14px;align-items:center;padding:18px 22px;text-decoration:none;color:inherit;border-bottom:1px dashed rgba(36,23,15,.22)}
.strip-item:last-child{border-bottom:0}
.strip-item .ico{grid-row:span 2;width:44px;height:44px;border-radius:12px;background:var(--ink);color:var(--gold);display:grid;place-items:center}
.strip-item .ico svg{width:22px;height:22px}
.strip-item b{font-family:var(--wood);font-weight:400;font-size:.66rem;letter-spacing:.14em;color:var(--chili-deep)}
.strip-item span{font-weight:700;font-size:1.04rem;line-height:1.3;overflow-wrap:anywhere}
a.strip-item:hover span{color:var(--chili-deep)}
@media (min-width:760px){.strip-in{grid-template-columns:repeat(2,minmax(0,1fr))}.strip-item:nth-child(odd){border-right:1px dashed rgba(36,23,15,.22)}.strip-item:nth-last-child(-n+2){border-bottom:0}}
@media (min-width:1100px){.strip-in{grid-template-columns:repeat(4,minmax(0,1fr))}.strip-item{border-bottom:0;border-right:1px dashed rgba(36,23,15,.22)}.strip-item:last-child{border-right:0}}

/* ---------- intro split ---------- */
.duo{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(30px,5vw,72px);align-items:center}
.duo-media{position:relative}
.ph{display:block;position:relative;overflow:hidden;border-radius:var(--r-lg);background:var(--ink-3)}
.ph img{width:100%;height:100%;object-fit:cover}
.r-45{aspect-ratio:4/5}
.r-43{aspect-ratio:4/3}
.r-11{aspect-ratio:1/1}
.r-32{aspect-ratio:3/2}
.r-169{aspect-ratio:16/9}
.cap{position:absolute;left:12px;bottom:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);padding:7px 12px;border-radius:10px;background:rgba(13,8,5,.82);color:var(--cream);font-size:.84rem;font-weight:600;line-height:1.35}
.duo-badge{position:absolute;right:-6px;top:-18px;width:clamp(96px,22vw,140px);height:auto;transform:rotate(8deg);filter:drop-shadow(0 10px 20px rgba(0,0,0,.4))}
.stamp{position:absolute;left:-10px;bottom:22px;display:grid;place-items:center;text-align:center;width:118px;height:118px;border-radius:50%;background:var(--chili);color:var(--white);font-family:var(--wood);font-size:.62rem;letter-spacing:.12em;line-height:1.4;transform:rotate(-10deg);box-shadow:0 0 0 5px var(--paper),0 0 0 7px var(--chili);padding:14px}
.facts{display:grid;gap:10px;margin-top:24px}
.facts li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px;align-items:start;font-weight:600}
.facts svg{width:22px;height:22px;color:var(--verde-deep);margin-top:2px}
.t-ink .facts svg,.t-ink-2 .facts svg{color:var(--lime)}
@media (min-width:960px){
  .duo{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .duo.swap .duo-media{order:2}
  .stamp{left:-34px}
}

/* ---------- menu bento ---------- */
.bento{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.bento > li{display:grid}
.mcard{position:relative;display:grid;grid-template-rows:auto 1fr;border-radius:var(--r-lg);overflow:hidden;background:var(--ink-2);color:var(--fog);text-decoration:none;isolation:isolate;min-height:100%;box-shadow:var(--shadow);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.mcard .ph{border-radius:0;aspect-ratio:4/3}
.mcard .ph img{transition:transform .8s var(--ease)}
.mcard:hover{transform:translateY(-4px);box-shadow:0 30px 50px -24px rgba(8,5,3,.7)}
.mcard:hover .ph img{transform:scale(1.05)}
.mcard-txt{padding:20px 22px 24px;display:grid;gap:8px;align-content:start}
.mcard-n{font-family:var(--wood);font-size:.66rem;letter-spacing:.16em;color:var(--gold)}
.mcard h3{font-family:var(--display);font-weight:900;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);line-height:1.05;color:var(--cream)}
.mcard p{color:var(--fog-mute);font-size:.98rem}
.mcard .go{display:inline-flex;align-items:center;gap:.4em;margin-top:6px;font-weight:700;color:var(--gold)}
.mcard .go svg{width:1em;height:1em;transition:transform .2s}
.mcard:hover .go svg{transform:translateX(4px)}
@media (min-width:760px){
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:760px) and (max-width:1099px){
  .bento > li:nth-child(1){grid-column:span 2}
  .bento > li:nth-child(1) .mcard{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-rows:none}
  .bento > li:nth-child(1) .mcard .ph{aspect-ratio:auto;min-height:300px}
  .bento > li:nth-child(1) .mcard-txt{align-content:center;padding:28px 30px}
}
@media (min-width:1100px){
  .bento{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
  .bento > li:nth-child(1){grid-column:span 7;grid-row:span 2}
  .bento > li:nth-child(2){grid-column:span 5}
  .bento > li:nth-child(3){grid-column:span 5}
  .bento > li:nth-child(4){grid-column:span 6}
  .bento > li:nth-child(5){grid-column:span 6}
  .bento > li:nth-child(1) .mcard .ph{aspect-ratio:auto;min-height:420px}
  .bento > li:nth-child(1) .mcard{grid-template-rows:1fr auto}
  .bento > li:nth-child(2) .mcard .ph,.bento > li:nth-child(3) .mcard .ph{aspect-ratio:16/9}
  .bento > li:nth-child(4) .mcard,.bento > li:nth-child(5) .mcard{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:none}
  .bento > li:nth-child(4) .mcard .ph,.bento > li:nth-child(5) .mcard .ph{aspect-ratio:auto;min-height:260px}
  .bento > li:nth-child(4) .mcard-txt,.bento > li:nth-child(5) .mcard-txt{align-content:center;padding:26px 28px}
}

/* sentence chunks: one sentence per line-block on phones, rejoined on desktop */
.para + .para{margin-top:14px}
.prose .para p{margin-top:0}
.prose .para p + p{margin-top:6px}
@media (min-width:960px){
  .prose .para p{display:inline}
  .prose .para p + p{margin-top:0}
  .prose .para p + p::before{content:" "}
}

/* typographic menu run */
.menu-run{display:grid;gap:0;border-top:1px solid var(--ink-line)}
.run-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:22px 0;border-bottom:1px solid var(--ink-line)}
.run-row h3{font-family:var(--wood);font-weight:400;font-size:.74rem;letter-spacing:.16em;color:var(--gold)}
.run-row p{font-family:var(--display);font-weight:900;font-size:clamp(1.25rem,1rem + 1.2vw,1.9rem);line-height:1.25;color:var(--cream)}
.run-row p span{white-space:normal}
@media (min-width:760px){.run-row p span{white-space:nowrap}}
.run-row i{font-style:normal;color:var(--chili);font-family:var(--body);font-weight:700}
.menu-run + .btns{margin-top:30px}
@media (min-width:960px){.run-row{grid-template-columns:220px minmax(0,1fr);gap:30px;align-items:baseline}}
.main-col{min-width:0}
.duo-txt{min-width:0}

/* ---------- signature: la loteria ---------- */
.lot{background:var(--ink);color:var(--fog);overflow:clip}
.lot::before{content:"";position:absolute;inset:0;display:none;background:radial-gradient(circle at 15% 10%,rgba(225,13,7,.16),transparent 40%),radial-gradient(circle at 90% 80%,rgba(57,136,6,.14),transparent 45%);pointer-events:none}
.lot-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.lot-fig{position:sticky;top:calc(var(--hdr-h) + 8px);z-index:2;align-self:start;padding:10px 0 12px;background:var(--ink)}
.hdr.tuck:not(:focus-within) ~ main .lot-fig{top:8px}
.tabla{position:relative;width:min(100%,330px);margin-inline:auto;padding:10px;border-radius:16px;background:#f3e3b6;box-shadow:0 0 0 3px var(--chili),0 0 0 7px #f3e3b6,0 24px 50px -20px rgba(0,0,0,.8)}
.tabla ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.lc{position:relative;aspect-ratio:5/7;border-radius:7px;background:var(--cream);border:2px solid var(--ink);overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto}
.lc-n{position:absolute;left:4px;top:3px;z-index:2;font-family:var(--wood);font-size:.6rem;line-height:1;color:var(--ink);background:var(--cream);padding:2px 3px;border-radius:3px}
.lc .lc-img{overflow:hidden;margin:4px 4px 0;border-radius:3px;background:var(--ink-3);min-height:0}
.lc .lc-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.25) brightness(.7) sepia(.2);transition:filter .6s var(--ease)}
.lc-name{font-family:var(--wood);font-size:.42rem;letter-spacing:.04em;line-height:1.1;color:var(--ink);text-align:center;padding:4px 2px 5px;white-space:nowrap;overflow:hidden;text-overflow:clip}
.bean{position:absolute;left:50%;top:44%;z-index:3;width:44%;height:auto;transform:translate(-50%,-160%) rotate(-30deg) scale(.4);opacity:0;transition:transform .45s cubic-bezier(.3,1.6,.5,1),opacity .2s}
.lc.on .lc-img img,.lc.hit .lc-img img{filter:none}
.lc.hit .bean{opacity:1;transform:translate(-50%,-50%) rotate(-18deg) scale(1)}
.lc.on{box-shadow:0 0 0 3px var(--gold);z-index:2}
.lot-stamp{position:absolute;left:50%;top:50%;z-index:5;transform:translate(-50%,-50%) rotate(-12deg) scale(1.6);opacity:0;pointer-events:none;font-family:var(--display);font-weight:900;font-size:clamp(2.2rem,9vw,3.4rem);line-height:1;color:var(--chili);background:var(--cream);padding:10px 18px 12px;border:4px solid var(--chili);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.45);transition:opacity .25s,transform .4s cubic-bezier(.3,1.5,.5,1);white-space:nowrap}
.tabla.done .lot-stamp{opacity:1;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}
.lot-read{margin-top:12px;text-align:center;font-family:var(--wood);font-size:.68rem;letter-spacing:.14em;color:var(--gold);min-height:1.4em}
.lot-steps{display:grid;gap:0}
.lot-step{min-height:62vh;display:flex;align-items:center;padding-block:28px}
.lot-card{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:100%;padding:16px;border-radius:var(--r-lg);background:var(--ink-2);border:1px solid var(--ink-line);transition:border-color .4s,background-color .4s,opacity .4s;opacity:.72}
.lot-step.on .lot-card{opacity:1;border-color:rgba(245,193,79,.55);background:#1d120b}
.lot-card .ph{aspect-ratio:3/2;border-radius:12px}
.lot-call{font-family:var(--wood);font-size:.68rem;letter-spacing:.14em;color:var(--gold)}
.lot-card h3{font-family:var(--display);font-weight:900;font-size:clamp(1.55rem,1.25rem + 1.3vw,2.2rem);line-height:1.04;color:var(--cream);margin-top:6px}
.lot-card h3 small{display:block;font-family:var(--body);font-weight:600;font-size:.95rem;letter-spacing:0;color:var(--fog-mute);margin-top:6px;line-height:1.35}
.lot-card p{margin-top:10px;color:var(--fog-mute)}
.lot-card .link{margin-top:14px}
.lot-end{min-height:52vh}
.lot-end .lot-card{opacity:1;text-align:left;background:var(--chili-deep);border-color:transparent}
.lot-end .lot-card p{color:#ffe9dc}
.lot-end .btns{margin-top:18px}
@media (max-width:599px){
  .tabla{width:min(100%,264px);padding:8px}
  .tabla ol{gap:6px}
  .lc-name{display:none}
  .lc{grid-template-rows:minmax(0,1fr)}
  .lc .lc-img{margin:4px}
}
@media (max-width:959px){
  .lot-step a{scroll-margin-top:calc(var(--hdr-h) + 470px)}
  .lot-step{min-height:auto;padding-block:16px}
  .lot-step:first-child{padding-top:4px}
  .lot-card{grid-template-columns:96px minmax(0,1fr);align-items:start}
  .lot-card .ph{aspect-ratio:1/1}
  .lot-end .lot-card{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:960px){
  .lot::before{display:block}
  .lot-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px)}
  .lot-fig{top:calc(var(--hdr-h) + 40px);padding:0;background:transparent}
  .tabla{width:min(100%,470px,calc((100svh - var(--hdr-h) - 150px) / 1.5));padding:14px}
  .tabla ol{gap:10px}
  .lc-n{font-size:.78rem;left:6px;top:5px}
  .lc-name{font-size:.6rem;padding:6px 3px 7px}
  .lot-card{padding:20px}
  .lot-read{font-size:.78rem}
}
@media (min-width:1200px){.lc-name{font-size:.66rem}}

/* ---------- photo moment ---------- */
.moment{position:relative;isolation:isolate;min-height:clamp(440px,72vh,720px);display:flex;align-items:flex-end;color:var(--white);overflow:hidden;background:var(--ink)}
.moment .kb{position:absolute;inset:0;z-index:-2}
.moment .kb picture,.moment .kb img{width:100%;height:100%}
.moment .kb img{object-fit:cover;animation:kb1 30s ease-in-out infinite}
.moment::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,8,5,.12) 0%,rgba(13,8,5,.2) 40%,rgba(13,8,5,.88) 100%)}
.moment-in{padding-block:clamp(80px,12vw,140px) 84px;max-width:780px}
.moment .dh{color:var(--white);font-size:clamp(2.3rem,1.3rem + 5vw,4.6rem);text-shadow:0 3px 20px rgba(0,0,0,.5)}
.moment .dh .ac{color:var(--gold)}
.moment p{margin-top:14px;max-width:46ch;color:#f4ead6;font-size:1.1rem;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.moment .kick{color:var(--gold-soft);text-shadow:0 2px 8px rgba(0,0,0,.6)}
.moment .motion-btn{bottom:auto;top:calc(var(--hdr-h) * .3)}
.credit{margin-top:12px;font-size:.8rem;color:#e6dac0;opacity:.9}

/* ---------- groups / list chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.chips li{padding:9px 14px;border-radius:999px;border:1px solid rgba(36,23,15,.24);background:var(--white);font-weight:600;font-size:.94rem;line-height:1.25}
.t-ink .chips li,.t-ink-2 .chips li{background:rgba(251,239,183,.06);border-color:var(--ink-line);color:var(--cream)}
.ribbon{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:center;margin-top:clamp(40px,6vw,70px);padding:22px 24px;border-radius:var(--r-lg);background:var(--ink);color:var(--fog);position:relative;overflow:hidden}
.ribbon::before{content:"";position:absolute;inset:0 auto 0 0;width:8px;background:linear-gradient(180deg,var(--verde) 33%,var(--cream) 33% 66%,var(--chili) 66%)}
.ribbon b{display:block;font-family:var(--display);font-weight:900;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);color:var(--gold);line-height:1.05}
.ribbon p{color:var(--fog-mute);margin-top:6px}
.ribbon .btn{justify-self:start}
@media (min-width:760px){.ribbon{grid-template-columns:minmax(0,1fr) auto;padding:28px 34px 28px 40px}}

/* ---------- areas ---------- */
.areas-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.town-list{display:grid;gap:0;border-top:1px solid var(--paper-line)}
.town-list li{border-bottom:1px solid var(--paper-line)}
.town-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center;padding:16px 4px;text-decoration:none;color:var(--text);transition:background-color .2s,padding .2s}
.town-row:hover{background:rgba(36,23,15,.04);padding-inline:12px 8px}
.town-name{font-family:var(--display);font-weight:900;font-size:1.3rem;line-height:1.1}
.town-sub{grid-column:1;font-size:.92rem;color:var(--mute)}
.town-min{grid-row:1 / span 2;grid-column:2;display:grid;justify-items:end;font-family:var(--wood);font-size:.66rem;letter-spacing:.12em;color:var(--chili-deep);text-align:right}
.town-min strong{font-family:var(--display);font-weight:900;font-size:1.6rem;letter-spacing:0;color:var(--ink);line-height:1}
.map-card{border-radius:var(--r-lg);overflow:hidden;background:var(--ink);box-shadow:var(--shadow)}
.map-card iframe{display:block;width:100%;height:clamp(300px,52vw,440px);border:0;filter:saturate(.9)}
.map-card .map-txt{padding:18px 22px;color:var(--fog);display:grid;gap:6px}
.map-card .map-txt b{font-family:var(--display);font-weight:900;font-size:1.25rem;color:var(--cream)}
.map-card .map-txt a{color:var(--gold);font-weight:700}
@media (min-width:960px){.areas-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ---------- faq ---------- */
.faq{display:grid;gap:12px;max-width:860px}
.faq details{border-radius:var(--r);background:var(--white);border:1px solid var(--paper-line);overflow:hidden}
.t-ink .faq details,.t-ink-2 .faq details{background:var(--ink-2);border-color:var(--ink-line)}
.faq summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:16px;align-items:center;padding:18px 20px;font-weight:700;font-size:1.06rem;line-height:1.35;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:24px;height:24px;color:var(--chili-deep);transition:transform .25s var(--ease)}
.t-ink .faq summary svg{color:var(--gold)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq .ans{padding:0 20px 20px;color:var(--mute)}
.t-ink .faq .ans,.t-ink-2 .faq .ans{color:var(--fog-mute)}
.faq .ans p + p{margin-top:10px}

/* ---------- cta band ---------- */
.cta-band{position:relative;isolation:isolate;overflow:hidden;background:var(--chili-deep);color:var(--white)}
.cta-band::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(135deg,rgba(0,0,0,.05) 0 14px,transparent 14px 28px),radial-gradient(circle at 85% 20%,rgba(245,193,79,.25),transparent 45%)}
.cta-in{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:center}
.cta-band .dh{color:var(--white);font-size:clamp(2.1rem,1.3rem + 3.6vw,3.6rem)}
.cta-band .dh .ac{color:var(--gold)}
.cta-band p{margin-top:12px;color:#ffe9dc;max-width:48ch}
.cta-logo{width:clamp(120px,26vw,200px);height:auto;justify-self:center;filter:drop-shadow(0 14px 26px rgba(0,0,0,.45))}
@media (min-width:960px){.cta-in{grid-template-columns:auto minmax(0,1fr) auto;gap:44px}.cta-band .btns{margin-top:0;flex-direction:column}}

/* ---------- forms ---------- */
.form-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
form.leadForm{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:clamp(20px,4vw,34px);border-radius:var(--r-lg);background:var(--white);color:var(--text);box-shadow:var(--shadow);border:1px solid var(--paper-line)}
form.leadForm h3{font-family:var(--display);font-weight:900;font-size:1.6rem;color:var(--ink);line-height:1.1}
form.leadForm p{color:var(--text)}
form.leadForm .fine{color:var(--mute);font-size:.9rem}
.fld{display:grid;gap:6px;min-width:0}
.fld label{font-weight:700;font-size:.95rem;color:var(--text)}
.fld label .opt{font-weight:500;color:var(--mute)}
.fld input,.fld select,.fld textarea{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(36,23,15,.28);background-color:#fffdf7;color:var(--text);font-size:1rem;transition:border-color .2s,box-shadow .2s}
.fld textarea{min-height:120px;resize:vertical}
.fld select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--chili-deep);box-shadow:0 0 0 3px rgba(165,10,6,.2);background-color:#fff}
.fld input[aria-invalid="true"]{border-color:var(--chili-deep)}
.err{color:var(--chili-deep);font-size:.88rem;font-weight:600;min-height:0}
.err:empty{display:none}
.row2{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
@media (min-width:560px){.row2{grid-template-columns:repeat(2,minmax(0,1fr))}}
form.leadForm button[type="submit"]{width:100%;white-space:normal}
.hp-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-msg{padding:14px 16px;border-radius:12px;font-weight:600;line-height:1.45}
.form-msg[hidden]{display:none}
.form-msg.ok{background:#e8f3dc;color:#1f4a05;border:1px solid #9cc47a}
.form-msg.bad{background:#fde4e1;color:#7a0703;border:1px solid #e9a39b}
.form-msg a{color:inherit;font-weight:800}
.contact-list{display:grid;gap:14px;margin-top:24px}
.contact-list li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center}
.contact-list .ico{width:44px;height:44px;border-radius:12px;background:var(--ink);color:var(--gold);display:grid;place-items:center}
.contact-list .ico svg{width:20px;height:20px}
.contact-list b{display:block;font-family:var(--wood);font-weight:400;font-size:.64rem;letter-spacing:.14em;color:var(--chili-deep)}
.t-ink .contact-list b,.t-ink-2 .contact-list b{color:var(--gold)}
.contact-list a,.contact-list span{font-weight:700;font-size:1.05rem;text-decoration:none;overflow-wrap:anywhere}
.contact-list a:hover{color:var(--chili-deep)}
.hours{margin-top:8px;display:grid;gap:4px;font-size:.98rem}
.hours div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px dotted rgba(36,23,15,.2);padding:4px 0}
.t-ink .hours div,.t-ink-2 .hours div{border-color:var(--ink-line)}
@media (min-width:960px){.form-wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}

/* ---------- inner pages ---------- */
.phero{position:relative;isolation:isolate;min-height:clamp(480px,74svh,700px);display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink);color:var(--white);overflow:hidden;padding-top:calc(var(--hdr-h) + env(safe-area-inset-top,0px) + 30px)}
.phero-media{position:absolute;inset:0;z-index:-2}
.phero-media picture,.phero-media img{width:100%;height:100%}
.phero-media img{object-fit:cover;animation:kb1 30s ease-in-out infinite}
.phero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,8,5,.55) 0%,rgba(13,8,5,.3) 30%,rgba(13,8,5,.82) 70%,rgba(13,8,5,.96) 100%)}
.phero-in{padding-top:40px;padding-bottom:clamp(44px,7vw,80px)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:.88rem;font-weight:600;color:#efe4cc;margin-bottom:14px;width:fit-content}
.crumbs a{color:var(--gold-soft);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs span[aria-hidden]{opacity:.6}
.phero h1{font-family:var(--display);font-weight:900;color:var(--white);max-width:18ch;text-shadow:0 3px 20px rgba(0,0,0,.5)}
.phero .h1-k{text-align:left}
.phero h1{max-width:none}
.phero .h1-big{font-size:clamp(2.2rem,1.3rem + 3.9vw,4.1rem);max-width:17ch}
.phero .sub{margin-top:14px;max-width:46ch;font-size:1.1rem;color:#f4ead6;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.phero .btns{margin-top:22px}
.phero .motion-btn{top:calc(var(--hdr-h) + env(safe-area-inset-top,0px) + 12px);bottom:auto}
@media (max-width:759px){
  .phero{display:block;min-height:0;padding:0 0 44px;background:var(--ink)}
  .phero-media{position:relative;height:clamp(230px,62vw,330px);margin-top:calc(var(--hdr-h) + env(safe-area-inset-top,0px));overflow:hidden}
  .phero-media::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(180deg,rgba(13,8,5,0),var(--ink))}
  .phero-scrim{display:none}
  .phero-in{padding-top:6px;padding-bottom:0}
  .phero .motion-btn{top:calc(var(--hdr-h) + env(safe-area-inset-top,0px) + 12px)}
  .phero h1,.phero .sub,.crumbs{text-shadow:none}
}
@media (min-width:760px){.phero-scrim{background:linear-gradient(90deg,rgba(13,8,5,.92) 0%,rgba(13,8,5,.78) 42%,rgba(13,8,5,.3) 80%,rgba(13,8,5,.2) 100%),linear-gradient(180deg,rgba(13,8,5,.5),rgba(13,8,5,0) 30%)}}
@media (min-width:760px) and (max-width:1199px){.phero-scrim{background:linear-gradient(90deg,rgba(13,8,5,.92) 0%,rgba(13,8,5,.84) 70%,rgba(13,8,5,.5) 100%)}}

.body-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(36px,5vw,72px)}
.side{display:grid;gap:18px;align-content:start}
.side-card{border-radius:var(--r-lg);padding:22px;background:var(--ink);color:var(--fog)}
.side-card h3{font-family:var(--display);font-weight:900;font-size:1.35rem;color:var(--cream);line-height:1.1}
.side-card p{color:var(--fog-mute);margin-top:8px;font-size:.98rem}
.side-card .btn{width:100%;margin-top:14px}
.side-card ul{margin-top:12px;display:grid;gap:2px}
.side-card ul a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--ink-line);color:var(--fog);text-decoration:none;font-weight:600}
.side-card ul a:hover{color:var(--gold)}
.side-card ul a span{color:var(--gold);font-family:var(--wood);font-size:.6rem;letter-spacing:.1em;align-self:center}
@media (min-width:1100px){.body-grid{grid-template-columns:minmax(0,1fr) 340px}.side{position:sticky;top:calc(var(--hdr-h) + 24px)}}
.block + .block{margin-top:clamp(38px,5vw,56px)}
.block h2{font-family:var(--display);font-weight:900;font-size:clamp(1.7rem,1.25rem + 1.9vw,2.5rem);line-height:1.06;color:var(--ink);margin-bottom:14px}
.t-ink .block h2,.t-ink-2 .block h2{color:var(--cream)}
.dishes{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:22px}
.dish{display:grid;grid-template-columns:minmax(0,1fr);border-radius:var(--r-lg);overflow:hidden;background:var(--white);border:1px solid var(--paper-line);box-shadow:0 14px 30px -24px rgba(8,5,3,.6)}
.dish .ph{border-radius:0;aspect-ratio:4/3}
.dish-txt{padding:18px 20px 22px}
.dish-txt b{display:block;font-family:var(--wood);font-weight:400;font-size:.64rem;letter-spacing:.14em;color:var(--chili-deep)}
.dish-txt h3{font-family:var(--display);font-weight:900;font-size:1.4rem;line-height:1.08;color:var(--ink);margin-top:6px}
.dish-txt p{margin-top:8px;color:var(--mute)}
@media (min-width:760px){.dishes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.related{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:18px}
.rel-card{display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:center;padding:10px;border-radius:var(--r);background:var(--white);border:1px solid var(--paper-line);text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s}
.rel-card:hover{border-color:var(--chili-deep);transform:translateY(-2px)}
.rel-card .ph{aspect-ratio:1/1;border-radius:10px}
.rel-card b{font-family:var(--display);font-weight:900;font-size:1.12rem;line-height:1.1;color:var(--ink)}
.rel-card span{display:block;font-size:.88rem;color:var(--mute);margin-top:3px}
@media (min-width:760px){.related{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1100px){.related.r3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.drive{display:grid;grid-template-columns:minmax(0,1fr);gap:0;margin-top:18px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--paper-line);background:var(--white)}
.drive div{padding:16px 18px;border-bottom:1px dashed var(--paper-line)}
.drive div:last-child{border-bottom:0}
.drive dt{font-family:var(--wood);font-size:.62rem;letter-spacing:.14em;color:var(--chili-deep)}
.drive dd{font-weight:700;font-size:1.06rem;margin-top:4px;line-height:1.35}
@media (min-width:760px){.drive{grid-template-columns:repeat(3,minmax(0,1fr))}.drive div{border-bottom:0;border-right:1px dashed var(--paper-line)}.drive div:last-child{border-right:0}}
.town-photo{margin-top:22px}
.town-photo figcaption{margin-top:8px;font-size:.84rem;color:var(--mute)}
.town-photo figcaption a{color:inherit}
.marks{display:grid;gap:10px;margin-top:16px}
.marks li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start}
.marks svg{width:20px;height:20px;color:var(--chili-deep);margin-top:3px}
.marks b{color:var(--text)}
.marks span{color:var(--mute)}

/* about */
.about-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.about-photos .ph:first-child{grid-column:span 2}

/* menu hub */
.cat{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(22px,4vw,48px);align-items:center;padding-block:clamp(34px,5vw,60px);border-bottom:1px solid var(--paper-line)}
.cat:last-child{border-bottom:0}
.cat .ph{aspect-ratio:4/3}
.cat .dh{font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem)}
.cat-n{font-family:var(--wood);font-size:.7rem;letter-spacing:.16em;color:var(--chili-deep)}
@media (min-width:960px){.cat{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.cat:nth-child(even) .ph{order:2}}

/* ---------- footer ---------- */
.ftr{background:var(--ink);color:var(--fog-mute);padding:clamp(56px,8vw,90px) 0 calc(110px + env(safe-area-inset-bottom,0px));font-size:.96rem}
.ftr-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:34px}
.ftr-brand img{width:120px;height:120px;object-fit:contain}
.ftr-brand p{margin-top:14px;max-width:34ch}
.ftr h2{font-family:var(--wood);font-weight:400;font-size:.7rem;letter-spacing:.16em;color:var(--gold);margin-bottom:14px}
.ftr ul{display:grid;gap:2px}
.ftr a{color:var(--fog);text-decoration:none}
.ftr li a{display:inline-block;padding:6px 0}
.ftr a:hover{color:var(--gold)}
.nap{font-style:normal;display:grid;gap:6px;margin-top:4px}
.nap a{font-weight:700;color:var(--cream)}
.ftr-base{margin-top:42px;padding-top:22px;border-top:1px solid var(--ink-line);display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;font-size:.86rem}
.flag{display:block;height:5px;margin-bottom:clamp(40px,6vw,64px);background:linear-gradient(90deg,var(--verde) 33.3%,var(--cream) 33.3% 66.6%,var(--chili) 66.6%)}
@media (min-width:760px){.ftr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ftr-brand{grid-column:1 / -1}}
@media (min-width:1100px){.ftr-grid{grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr))}.ftr-brand{grid-column:auto}.ftr{padding-bottom:40px}}

/* ---------- mobile action bar ---------- */
.actbar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px max(10px,env(safe-area-inset-left,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-right,0px));background:rgba(13,8,5,.96);border-top:1px solid var(--ink-line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.actbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:54px;border-radius:12px;text-decoration:none;font-weight:700;font-size:.84rem;color:var(--cream);background:rgba(251,239,183,.07)}
.actbar a svg{width:20px;height:20px}
.actbar a.go-call{background:var(--chili);color:var(--white)}
@media (min-width:1100px){.actbar{display:none}}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .rv.is-in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.08s}
.js .rv.d2{transition-delay:.16s}

/* 404 */
.nf{min-height:80svh;display:grid;place-items:center;text-align:center;padding:calc(var(--hdr-h) + 40px) var(--gut) 60px;background:var(--ink);color:var(--fog)}
.nf .dh{color:var(--cream);font-size:clamp(2.4rem,1.4rem + 5vw,4.4rem)}
.nf img{width:180px;height:auto;margin:0 auto 18px}
.nf .btns{justify-content:center}

/* ---------- pass 1: papel picado, dish parade, ¡Salud! seal, live hours ----------
   Their dining room hangs papel picado; the garland is drawn SVG in the logo's colours (no imagery). */
.pp-defs{position:absolute;width:0;height:0;overflow:hidden}
.picado{--fw:34px;--sag:12px;position:absolute;left:0;right:0;top:calc(var(--hdr-h) + env(safe-area-inset-top,0px) - 2px);height:calc(var(--sag) + var(--fw) * 1.24 + 8px);pointer-events:none}
.pp-set{position:absolute;inset:0;display:none}
.pp-set.s-ph{display:block}
.pp-str{position:absolute;left:0;top:0;width:100%;height:var(--sag);overflow:visible}
.pp-str path{fill:none;stroke:rgba(251,239,183,.8);stroke-width:1.5}
.pf{position:absolute;left:calc(var(--x) * 100%);top:calc(var(--sag) * var(--k) - 1px);width:var(--fw);margin-left:calc(var(--fw) / -2)}
.pf svg{display:block;width:100%;height:auto;aspect-ratio:100/124;opacity:.94;transform-origin:50% 0;will-change:transform;animation:pp-sway 5.2s ease-in-out infinite;animation-delay:calc(var(--i) * -.7s);filter:drop-shadow(0 6px 6px rgba(0,0,0,.3))}
.pf.c0{color:var(--chili)}
.pf.c1{color:var(--gold)}
.pf.c2{color:var(--lime)}
.pf.c3{color:var(--cream)}
.pf.c4{color:var(--verde)}
@keyframes pp-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(3.6deg)}75%{transform:rotate(-3.6deg)}}
html.motion-off .pf svg{animation-play-state:paused}
@media (min-width:760px){.picado{--fw:44px;--sag:16px}.pp-set.s-ph{display:none}.pp-set.s-tb{display:block}}
@media (min-width:1100px){.picado{--fw:50px;--sag:22px}.pp-set.s-tb{display:none}.pp-set.s-dk{display:block}}
/* hero: phones hang the full garland above the logo; wider screens leave the centre clear and the logo covers the string */
@media (max-width:759px){
  .hero{padding-top:calc(var(--hdr-h) + env(safe-area-inset-top,0px) + 60px)}
  .hero-logo{width:min(44vw,250px)}
}
.pp-page{right:64px}
.pp-cta{top:0}
/* CTA band has no pause button, so its garland sways once (<5s) when it scrolls into view */
.pp-cta .pf svg{animation-duration:4.4s;animation-iteration-count:1}
.js .pp-cta .pf svg{animation-play-state:paused}
.js .pp-cta.is-in .pf svg{animation-play-state:running}
.pp-cta .pf.c0{color:var(--white)}
.cta-band.sec-tight{padding-top:calc(clamp(44px,7vw,80px) + 46px)}
@media (min-width:760px){.cta-band.sec-tight{padding-top:calc(clamp(44px,7vw,80px) + 52px)}}

/* the parade: dish names and their own plates rolling into the menu */
.parade{position:relative;isolation:isolate;overflow:clip;background:var(--ink);color:var(--cream);padding-block:clamp(44px,7vw,88px) clamp(56px,8vw,104px)}
.parade::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 60% 80% at 18% 30%,rgba(225,13,7,.24),transparent 62%),radial-gradient(ellipse 50% 70% at 86% 82%,rgba(161,197,17,.13),transparent 62%)}
.pr-row{overflow:hidden}
.pr-track{display:flex;align-items:center;width:max-content;animation:pr-marq 48s linear infinite}
.pr-a .pr-track > *{margin-right:clamp(18px,2.4vw,36px)}
.pr-i{flex:none;display:flex;align-items:center;gap:clamp(10px,1.2vw,18px)}
.pr-a .pr-star{width:clamp(22px,1rem + 1.6vw,42px);height:auto;aspect-ratio:1;color:var(--chili)}
.pr-w{font-family:var(--display);font-weight:900;font-size:clamp(3rem,1.6rem + 7vw,8.2rem);line-height:1.1;letter-spacing:-.02em;color:var(--cream);white-space:nowrap;padding-inline:.04em}
.pr-o{color:transparent;-webkit-text-stroke:2px var(--gold)}
.pr-ph{flex:none;display:block;width:clamp(104px,6rem + 7vw,224px);aspect-ratio:4/3;border-radius:999px;overflow:hidden;transform:rotate(-5deg);border:3px solid var(--cream);box-shadow:0 14px 30px -12px rgba(0,0,0,.75);background:var(--ink-3)}
.pr-tl{transform:rotate(5deg);border-color:var(--gold)}
.pr-ph img{width:100%;height:100%;object-fit:cover}
.pr-b{margin:clamp(28px,4vw,50px) -4% 0;padding-block:14px;background:var(--chili);transform:rotate(-2.2deg);box-shadow:0 18px 40px -20px rgba(0,0,0,.85)}
.pr-b .pr-track{animation-duration:40s;animation-direction:reverse}
.pr-b .pr-track > *{margin-right:22px}
.pr-t{font-family:var(--wood);font-size:clamp(.9rem,.8rem + .5vw,1.2rem);letter-spacing:.12em;line-height:1.3;text-transform:uppercase;color:var(--cream);white-space:nowrap}
.pr-star{flex:none;width:18px;height:18px;color:var(--gold)}
@keyframes pr-marq{to{transform:translate3d(-50%,0,0)}}
.js .parade .pr-track{animation-play-state:paused}
.js .parade.pr-on .pr-track{animation-play-state:running}
@media (hover:hover){.parade:hover .pr-track,.js .parade.pr-on:hover .pr-track{animation-play-state:paused}}
html.motion-off .parade .pr-track{animation-play-state:paused!important}
.parade .motion-btn{top:12px;bottom:auto}

/* ¡Salud! seal on the margarita band */
.seal{position:absolute;z-index:2;top:clamp(22px,5vw,64px);left:var(--gut);width:clamp(108px,5rem + 6vw,190px);aspect-ratio:1;pointer-events:none;filter:drop-shadow(0 14px 24px rgba(0,0,0,.5))}
@media (min-width:760px){.seal{left:auto;right:calc(var(--edge) + 64px);top:clamp(28px,2.6vw,40px);width:clamp(140px,5rem + 6vw,176px)}}
.seal-ring{position:absolute;inset:0;width:100%;height:100%;animation:seal-spin 26s linear infinite}
.seal-bg{fill:var(--chili)}
.seal-in{fill:var(--ink)}
.seal text{font-family:var(--wood);font-size:15px;fill:var(--cream)}
.seal img{position:absolute;left:50%;top:50%;width:54%;height:auto;transform:translate(-50%,-50%)}
@keyframes seal-spin{to{transform:rotate(360deg)}}
html.motion-off .seal-ring{animation-play-state:paused}

/* live hours chip (hero trust row; JS fills it from the Google hours, Central time) */
.trust li[hidden]{display:none}
.trust .live{color:#fff}
.live i{flex:none;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.live.is-open i{background:var(--lime);animation:live-pulse 2.4s ease-out infinite}
@keyframes live-pulse{0%{box-shadow:0 0 0 0 rgba(161,197,17,.7)}70%,100%{box-shadow:0 0 0 9px rgba(161,197,17,0)}}
html.motion-off .live i{animation:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .hs{animation:none!important;opacity:0}
  .hs-1{opacity:1}
  .js .rv{opacity:1;transform:none}
}
@media print{.hdr,.actbar,.motion-btn,.drawer{display:none!important}}
