/* ===== INLINED @font-face (from fonts.css) ===== */
/* latin-ext */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/anton-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/anton-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/barlow-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/barlow-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/barlow-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/barlow-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/barlow-700-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/barlow-700-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face{font-family:"Cucciolo";src:url("/fonts/cucciolo-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

/* ============ TACO CAIMÁN — Design System ============ */
:root{
  /* primitives */
  --chili-600:#BC3517; --chili-500:#D14A28; --terracotta:#D9633F;
  --corn:#F3B01C; --masa-100:#F5ECD6; --masa-200:#EAD9B6;
  --charcoal-900:#2B2017; --charcoal-800:#3A2C1E; --agave-600:#218B7A; --agave-400:#3DB7A6;
  /* semantic (light base) */
  --bg:var(--masa-100); --surface:#fff; --surface-alt:var(--masa-200);
  --text:var(--charcoal-900); --text-muted:#6b5f54;
  --primary:var(--chili-600); --primary-hover:var(--chili-500);
  --secondary:var(--terracotta); --accent:var(--agave-600); --focus:var(--agave-600);
  /* scale */
  --r-sm:6px; --r-md:12px; --r-lg:20px; --pill:999px;
  --sh-sm:0 1px 2px rgba(26,23,21,.06); --sh-md:0 6px 18px rgba(26,23,21,.10); --sh-lg:0 16px 40px rgba(26,23,21,.16);
  --ease:cubic-bezier(.22,1,.36,1); --maxw:1180px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Barlow",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:"Cucciolo","Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;line-height:1.02;letter-spacing:.01em}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}
.narrow{max-width:720px}
.center{text-align:center}
.muted{color:var(--text-muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}
.skip-link{position:absolute;left:-999px;top:0;background:var(--primary);color:#fff;padding:10px 16px;z-index:200;border-radius:0 0 var(--r-sm) 0}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;font-family:"Barlow";font-weight:700;font-size:1rem;padding:14px 26px;border-radius:var(--pill);border:2px solid transparent;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);min-height:48px;text-align:center}
.btn:hover{transform:translateY(-1px) scale(1.02);box-shadow:var(--sh-md)}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-hover)}
.btn-ghost{background:transparent;color:var(--text);border-color:rgba(26,23,21,.25)}
.btn-ghost:hover{border-color:var(--text);background:rgba(26,23,21,.04)}
.btn-ghost-light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.4)}
.btn-lg{padding:17px 34px;font-size:1.05rem}
.btn-sm{padding:10px 20px;min-height:42px;font-size:.95rem}

/* ---- header ---- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .25s var(--ease),box-shadow .25s var(--ease)}
.site-header.scrolled{background:rgba(252,247,238,.92);backdrop-filter:blur(10px);box-shadow:var(--sh-sm)}
.header-inner{display:flex;align-items:center;gap:18px;height:68px}
.brand{display:flex;align-items:center;gap:9px;font-family:"Cucciolo","Anton";font-size:1.5rem;text-transform:uppercase;color:var(--text);letter-spacing:.02em}
.brand-glyph{color:var(--primary);display:flex}
.site-header:not(.scrolled) .brand,.site-header:not(.scrolled) .nav a{color:#fff}
.site-header:not(.scrolled) .brand-glyph{color:var(--corn)}
.nav{display:flex;gap:26px;margin-left:auto;font-weight:600;font-size:1rem}
.nav a{position:relative;padding:4px 0;transition:color .2s}
.nav a:hover{color:var(--primary)}
.site-header:not(.scrolled) .nav a:hover{color:var(--corn)}
.header-cta{margin-left:4px}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.nav-toggle span{width:26px;height:3px;background:#fff;border-radius:2px;transition:.25s}
.site-header.scrolled .nav-toggle span{background:var(--text)}
.mobile-nav{display:none;flex-direction:column;gap:4px;background:var(--surface);padding:14px 22px 22px;box-shadow:var(--sh-md)}
.mobile-nav a{padding:13px 0;font-weight:600;font-size:1.1rem;border-bottom:1px solid var(--surface-alt)}
.mobile-nav .btn{margin-top:10px;border-bottom:0}

/* ---- hero ---- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:#fff;padding:90px 0 60px}
.hero-bg{position:absolute;inset:0;z-index:0;background:
  radial-gradient(120% 90% at 80% 0%, rgba(226,57,43,.55), transparent 55%),
  radial-gradient(100% 80% at 0% 100%, rgba(31,122,90,.5), transparent 60%),
  linear-gradient(160deg,#231c16 0%,#3a1714 55%,#5a1b16 100%)}
.papel{position:absolute;top:0;left:0;right:0;height:34px;z-index:1;
  background:repeating-linear-gradient(90deg,var(--corn) 0 26px,var(--chili-500) 26px 52px,var(--agave-400) 52px 78px,var(--terracotta) 78px 104px);
  -webkit-mask:repeating-linear-gradient(90deg,#000 0 18px,transparent 18px 26px) , linear-gradient(#000,#000);
  mask:repeating-linear-gradient(90deg,#000 0 18px,transparent 18px 26px);
  clip-path:polygon(0 0,100% 0,100% 60%,96% 100%,92% 60%,88% 100%,84% 60%,80% 100%,76% 60%,72% 100%,68% 60%,64% 100%,60% 60%,56% 100%,52% 60%,48% 100%,44% 60%,40% 100%,36% 60%,32% 100%,28% 60%,24% 100%,20% 60%,16% 100%,12% 60%,8% 100%,4% 60%,0 100%);
  opacity:.92}
.hero-inner{position:relative;z-index:2;max-width:820px}
.kicker{font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.82rem;color:var(--corn);margin:0 0 18px}
.hero-title{font-size:clamp(2.9rem,9vw,6rem);margin:0 0 22px}
.hero-title .hl{color:var(--corn)}
.hero-sub{font-size:clamp(1.05rem,2.2vw,1.35rem);max-width:620px;color:rgba(255,255,255,.9);margin:0 0 30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.hero-meta{font-weight:600;color:rgba(255,255,255,.78);font-size:.98rem;margin:0}

/* ---- sections ---- */
.section{padding:clamp(56px,9vw,110px) 0}
.section-head{max-width:680px;margin:0 0 44px}
.section-title{font-size:clamp(2rem,5vw,3.4rem);margin:.2em 0 .3em}
.eyebrow{font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--primary);margin:0}
.eyebrow.light{color:var(--corn)}
.lead{font-size:1.18rem}
.grid-2{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center}

/* ---- placeholders (Foto-Platzhalter, bewusst gestaltet) ---- */
.ph{position:relative;border-radius:var(--r-lg);min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;text-align:center;overflow:hidden;box-shadow:var(--sh-md)}
.ph::after{content:attr(data-label);position:absolute;top:12px;left:14px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;opacity:.85}
.ph-name{font-family:"Cucciolo","Anton";text-transform:uppercase;font-size:1.5rem;line-height:1.05;padding:0 14px;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.ph-tag{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.ph-tall{min-height:420px;background:linear-gradient(150deg,#3a1714,#7a1f17 60%,#1f7a5a)}
.grad-1{background:linear-gradient(150deg,#b3160f,#E2392B 55%,#FFC95B)}
.grad-2{background:linear-gradient(150deg,#5a1b16,#D71919)}
.grad-3{background:linear-gradient(150deg,#7a3a14,#E2725B)}
.grad-4{background:linear-gradient(150deg,#155b43,#1F7A5A 60%,#25BCC0)}
.grad-5{background:linear-gradient(120deg,#262019,#5a1b16 70%,#E2725B)}

/* ---- bento ---- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.dish-card{background:var(--surface);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.dish-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.dish-card .ph{border-radius:0;min-height:200px}
.dish-card .ph .ph-name{font-size:1.3rem}
.bento-lg{grid-row:span 2}
.bento-lg .ph{min-height:340px}
.bento-wide{grid-column:span 2}
.dish-body{padding:18px 20px 22px}
.dish-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.dish-row h3{font-size:1.25rem;margin:0}
.price{font-weight:700;color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap}
.dish-body p{margin:.5em 0 0;color:var(--text-muted);font-size:.96rem}
.badge{display:inline-block;margin-top:12px;font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:var(--pill)}
.badge-hot{background:#ffe7e3;color:var(--chili-600)}
.badge-veg{background:#dff3ea;color:var(--agave-600)}
.center{margin-top:38px}

/* ---- menu ---- */
.menu{background:var(--surface-alt)}
.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 60px}
.menu-cat{font-size:1.5rem;color:var(--primary);margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid rgba(215,25,25,.2)}
.menu-list{list-style:none;margin:0;padding:0}
.menu-list li{display:flex;align-items:baseline;gap:8px;padding:8px 0;font-size:1.04rem}
.menu-list em{color:var(--text-muted);font-style:normal;font-size:.85em}
.menu-list .dots{flex:1;border-bottom:2px dotted rgba(26,23,21,.22);transform:translateY(-4px)}
.menu-list span:last-child{font-weight:700;font-variant-numeric:tabular-nums}
.student-deal{margin-top:18px;background:var(--corn);color:#3a2a00;padding:12px 16px;border-radius:var(--r-md);font-size:.95rem}

/* ---- gallery ---- */
.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:repeat(2,200px);gap:16px}
.gallery .g1{grid-row:span 2;background:linear-gradient(150deg,#262019,#5a1b16)}
.gallery .g2{background:linear-gradient(150deg,#7a1f17,#E2392B)}
.gallery .g3{background:linear-gradient(150deg,#155b43,#25BCC0)}

/* ---- waitlist (dark) ---- */
.waitlist{background:linear-gradient(160deg,#231c16,#4a1714);color:#fff}
.section-title.light{color:#fff}
.waitlist-sub{font-size:1.12rem;color:rgba(255,255,255,.88);margin:.4em 0 26px}
.waitlist-form{max-width:520px;margin:0 auto}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.field{display:flex;gap:10px;flex-wrap:wrap}
.field input[type=email]{flex:1;min-width:200px;padding:15px 18px;border-radius:var(--pill);border:2px solid transparent;font-size:1rem;font-family:"Barlow"}
.field .btn{flex-shrink:0}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.86rem;color:rgba(255,255,255,.78);text-align:left}
.consent input{margin-top:3px;width:18px;height:18px;flex-shrink:0;accent-color:var(--corn)}
.form-msg{margin:14px 0 0;font-weight:600;min-height:1.2em}
.form-msg.ok{color:var(--corn)}
.form-msg.err{color:#ffb3a8}
.waitlist-proof{margin-top:22px;font-weight:600;color:rgba(255,255,255,.8)}

/* ---- contact ---- */
.address{font-size:1.15rem;line-height:1.7}
.hours{border-collapse:collapse;margin:18px 0;font-size:1.05rem}
.hours th{text-align:left;padding:6px 28px 6px 0;font-weight:700}
.hours td{font-variant-numeric:tabular-nums;color:var(--text-muted)}
.contact-note{font-size:.9rem;color:var(--text-muted)}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.map-facade{background:linear-gradient(150deg,var(--surface-alt),#e7dcc7);border-radius:var(--r-lg);min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-align:center;border:2px dashed rgba(26,23,21,.18);transition:border-color .2s}
.map-facade:hover{border-color:var(--accent)}
.map-pin{font-size:2.4rem}
.map-hint{font-size:.85rem;color:var(--text-muted);font-weight:600}
.map-facade iframe{width:100%;height:100%;min-height:320px;border:0;border-radius:var(--r-lg)}

/* ---- footer ---- */
.site-footer{background:var(--charcoal-900);color:rgba(255,255,255,.82);padding:54px 0 28px}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.footer-brand{font-family:"Cucciolo","Anton";font-size:1.7rem;color:#fff;text-transform:uppercase}
.footer-tag{color:rgba(255,255,255,.6);margin:.3em 0 0;font-size:.95rem}
.footer-col p{margin:.2em 0}
.footer-col a{display:block;padding:5px 0;color:rgba(255,255,255,.82)}
.footer-col a:hover{color:var(--corn)}
.footer-legal{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.85rem;color:rgba(255,255,255,.55)}

/* ---- mobile sticky cta ---- */
.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:90;display:none;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(26,23,21,.94);backdrop-filter:blur(8px)}
.mobile-cta .btn{flex:1;min-height:52px}

/* ---- reveal ---- */
.reveal{opacity:0;transform:translateY(40px) scale(.984);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ---- responsive ---- */
@media(max-width:900px){
  .grid-2{grid-template-columns:1fr}
  .bento{grid-template-columns:repeat(2,1fr)}
  .bento-lg{grid-row:span 1}.bento-lg .ph{min-height:200px}
  .bento-wide{grid-column:span 2}
  .gallery{grid-template-columns:1fr;grid-template-rows:repeat(3,180px)}
  .gallery .g1{grid-row:span 1}
}
@media(max-width:760px){
  .nav,.header-cta,.header-phone{display:none}
  .nav-toggle{display:flex}
  .mobile-nav{display:none}
  .mobile-nav.open{display:flex}
  .menu-grid{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr}
  .mobile-cta{display:flex}
  body{padding-bottom:74px}
  .bento{grid-template-columns:1fr}
  .bento-wide{grid-column:span 1}
}
/* ---- hero phone ---- */
.hero-phone{margin:0 0 14px;font-size:1rem;color:rgba(255,255,255,.82)}
.hero-phone a{color:#fff;font-weight:700;border-bottom:2px solid var(--corn);padding-bottom:1px}
.hero-phone a:hover{color:var(--corn)}

/* ---- reservation box ---- */
.reserve-box{display:flex;flex-direction:column;gap:2px;margin:20px 0 8px;padding:14px 20px;background:var(--surface);border:2px solid rgba(215,25,25,.18);border-radius:var(--r-md);width:fit-content;box-shadow:var(--sh-sm)}
.reserve-label{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}
.reserve-phone{font-family:"Cucciolo","Anton";font-size:clamp(1.6rem,4vw,2rem);color:var(--primary);letter-spacing:.02em}
.reserve-phone:hover{color:var(--primary-hover)}

/* ---- cookie banner ---- */
.cookie-banner{position:fixed;z-index:120;left:16px;right:auto;bottom:16px;max-width:520px;background:var(--charcoal-900);color:#fff;border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:16px 18px;border:1px solid rgba(255,255,255,.08)}
.cookie-inner{display:flex;flex-direction:column;gap:12px}
.cookie-text{margin:0;font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.85)}
.cookie-text a{color:var(--corn);text-decoration:underline}
.cookie-actions{display:flex;gap:10px;justify-content:flex-end}
.cookie-banner .btn-ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.cookie-banner .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
@media(max-width:760px){.cookie-banner{left:8px;right:8px;bottom:82px;max-width:none}}

/* ---- reservation ---- */
.section.reserve{background:var(--surface-alt,#F3E9D8)}
.section.reserve .muted a.inline-tel{color:var(--primary);font-weight:700;white-space:nowrap}
.reserve-form{margin-top:26px;background:var(--surface,#fff);border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:clamp(18px,4vw,32px);box-shadow:0 8px 28px rgba(26,23,21,.10)}
.reserve-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.rfield{display:flex;flex-direction:column;gap:5px}
.rfield-full{grid-column:1/-1}
.rfield label{font-size:.82rem;font-weight:600;color:var(--text-muted,#5b5048)}
.rfield .opt{font-weight:400;opacity:.7}
.rfield input,.rfield select,.rfield textarea{font:inherit;font-size:1rem;padding:12px 13px;border:1.5px solid rgba(0,0,0,.14);border-radius:10px;background:#fff;color:var(--text,#1A1715);width:100%;min-height:48px;max-width:100%}
.rfield textarea{min-height:64px;resize:vertical}
.rfield input:focus-visible,.rfield select:focus-visible,.rfield textarea:focus-visible{outline:2px solid var(--accent,#1F7A5A);outline-offset:1px;border-color:transparent}
.reserve-form .consent{display:flex;gap:9px;align-items:flex-start;margin:16px 0 0;font-size:.85rem;color:var(--text-muted,#5b5048);text-align:left}
.reserve-form .consent input{flex:0 0 auto;width:18px;height:18px;min-height:0;margin-top:2px}
.reserve-form .consent span{min-width:0}
.reserve-form .consent a{color:var(--accent,#1F7A5A)}
.reserve-submit{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.reserve-fine{font-size:.8rem;color:var(--text-muted,#5b5048);margin-top:10px}
@media(max-width:560px){.reserve-grid{grid-template-columns:1fr}.reserve-submit .btn{flex:1 1 auto;text-align:center}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* ---- Foto-Slots: Platzhalter wird zum echten Foto, sobald hochgeladen ---- */
.ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:0}
.ph .ph-name,.ph .ph-tag{position:relative;z-index:1}
.ph.has-img .ph-name,.ph.has-img .ph-tag{opacity:0;visibility:hidden}
.ph.has-img::after{content:none}

/* ---- Taco Ad (Signature, editorial bleed) ---- */
.taco-ad{position:relative;background:#16110f;color:var(--masa-100);overflow:hidden;isolation:isolate;min-height:min(88vh,760px);display:flex;align-items:center}
.taco-ad .taco-ad-photo{margin:0;position:absolute;inset:0 0 0 auto;width:64%;min-height:0;border-radius:0;box-shadow:none;background:linear-gradient(150deg,#2a0f0c,#140a09);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 36%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 36%,#000 100%)}
.taco-ad .taco-ad-photo .ph-img{transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}
.taco-ad:hover .taco-ad-photo .ph-img{transform:scale(1.045)}
.taco-ad .taco-ad-photo::after{content:none}
.grain::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.15;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.taco-ad-content{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;width:100%;padding:clamp(60px,9vw,110px) 22px}
.taco-ad-kicker{font:700 .8rem/1 "Barlow";letter-spacing:.26em;text-transform:uppercase;color:var(--corn);margin:0 0 20px}
.taco-ad-head{font-family:"Cucciolo","Anton";font-weight:400;text-transform:uppercase;line-height:.9;letter-spacing:-.015em;font-size:clamp(3.4rem,8.5vw,8rem);margin:0;color:var(--masa-100)}
.taco-ad-head .bleed{display:block;color:var(--corn);margin-left:-.04em}
.taco-ad-desc{font:400 clamp(1.04rem,1.25vw,1.22rem)/1.62 "Barlow";color:rgba(252,247,238,.8);max-width:36ch;margin:28px 0 26px}
.taco-ad-link{position:relative;display:inline-block;font:700 1.06rem/1 "Barlow";letter-spacing:.01em;color:var(--masa-100);padding-bottom:12px;transition:color .2s}
.taco-ad-link .ul{position:absolute;left:0;bottom:0;width:100%;height:11px;color:var(--corn);overflow:visible}
.taco-ad-link:hover{color:var(--corn)}
.taco-ad-chit{position:absolute;z-index:4;right:6%;bottom:10%;transform:rotate(-4deg);background:var(--masa-100);color:#16110f;padding:12px 18px 10px;border:1.6px dashed rgba(22,17,15,.85);box-shadow:0 12px 30px rgba(0,0,0,.45);display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}
.taco-ad-chit .chit-no{font:700 .58rem/1 "Barlow";letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.taco-ad-chit .chit-name{font-family:"Cucciolo","Anton";font-size:1.25rem;text-transform:uppercase;line-height:1}
.taco-ad-chit .chit-price{font:700 1.04rem/1 "Barlow";font-variant-numeric:tabular-nums;color:var(--chili-600)}
@media(max-width:860px){
  .taco-ad{min-height:0}
  .taco-ad .taco-ad-photo{inset:auto 0 0 0;width:100%;height:46%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 44%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,#000 44%,#000 100%)}
  .taco-ad-content{padding-bottom:46vw}
  .taco-ad-chit{right:6%;bottom:auto;top:7%}
}
@media(prefers-reduced-motion:reduce){.taco-ad:hover .taco-ad-photo .ph-img{transform:none}}


/* ---- Catering & Gruppen (editorial order-sheet) ---- */
.catering{position:relative;background:var(--masa-200);color:var(--charcoal-900);overflow:hidden;isolation:isolate}
.catering>.container{position:relative;z-index:3}
.catering-head{position:relative}
.catering-intro{max-width:900px;padding-right:clamp(0px,10vw,150px)}
.catering-title{font-family:"Cucciolo","Anton";font-weight:400;text-transform:uppercase;line-height:.86;letter-spacing:-.01em;font-size:clamp(2.6rem,7vw,6rem);margin:.12em 0 0;color:var(--charcoal-900)}
.catering-title .bleed{display:block;color:var(--chili-600);margin-left:-.02em}
.catering-lead{font-size:clamp(1.05rem,1.35vw,1.22rem);line-height:1.6;max-width:50ch;margin:24px 0 18px;color:#4a4038}
.catering-uses{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.catering-uses li{font:700 .8rem/1 "Barlow";letter-spacing:.04em;text-transform:uppercase;color:var(--charcoal-900);background:rgba(215,25,25,.07);border:1.5px solid rgba(215,25,25,.22);border-radius:var(--pill);padding:9px 15px}
.catering-stamp{position:absolute;top:-4px;right:0;font-family:"Cucciolo","Anton";text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.3rem,2.6vw,2.2rem);color:transparent;-webkit-text-stroke:2px rgba(215,25,25,.45);transform:rotate(7deg);border:3px solid rgba(215,25,25,.3);border-radius:8px;padding:6px 16px;opacity:.75;pointer-events:none}
.catering-body{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(26px,4vw,56px);align-items:start;margin-top:38px}
.catering-offers{display:grid;grid-template-columns:1fr;gap:14px}
.cat-card{position:relative;background:#fff;border:1.5px dashed rgba(26,23,21,.26);border-radius:var(--r-md);padding:20px 22px 22px;box-shadow:var(--sh-sm)}
.cat-card .cat-no{font:700 .72rem/1 "Barlow";letter-spacing:.16em;text-transform:uppercase;color:var(--chili-600)}
.cat-card h3{font-size:1.5rem;margin:.35em 0 .3em}
.cat-card p{margin:0;color:var(--text-muted);font-size:.97rem;line-height:1.5}
.cat-form{margin-top:0}
.cat-form-title{font-family:"Cucciolo","Anton";text-transform:uppercase;letter-spacing:.02em;font-size:1.3rem;color:var(--chili-600);margin:0 0 16px}
@media(max-width:860px){
  .catering-intro{padding-right:0}
  .catering-stamp{font-size:1.4rem;top:-2px}
  .catering-body{grid-template-columns:1fr;gap:26px}
}
@media(max-width:520px){
  .catering-head{display:flex;flex-direction:column}
  .catering-stamp{position:static;display:inline-block;transform:rotate(-3deg);margin:14px 0 0;align-self:flex-start}
}


/* ---- Hero (editorial rebuild) ---- */
.hero{isolation:isolate;padding:96px 0 76px}
.hero-photo{position:absolute;inset:0 0 0 auto;width:56%;margin:0;z-index:1;background:linear-gradient(150deg,#3a1714,#5a1b16 58%,#7a1f17);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 44%,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 44%,#000 100%)}
.hero-photo .ph-img{width:100%;height:100%;object-fit:cover;display:block}
.hero .papel{z-index:5}
.hero-inner{position:relative;z-index:3;max-width:900px}
.hero-title{font-size:clamp(2.9rem,11vw,7.4rem);line-height:.97;letter-spacing:-.005em;margin:0 0 26px}
.hero-sub{max-width:34ch}
.hero-ticket{position:absolute;z-index:3;right:5%;bottom:8%;transform:rotate(-4deg);background:var(--masa-100);color:#16110f;padding:11px 17px 9px;border:1.5px dashed rgba(22,17,15,.8);box-shadow:0 14px 32px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:1px;text-align:center}
.hero-ticket .ticket-no{font:700 .56rem/1 "Barlow";letter-spacing:.16em;text-transform:uppercase;opacity:.6}
.hero-ticket .ticket-name{font-family:"Cucciolo","Anton";font-size:1.2rem;text-transform:uppercase;line-height:1}
.hero-ticket .ticket-meta{font:700 .62rem/1.1 "Barlow";letter-spacing:.05em;text-transform:uppercase;color:var(--chili-600);margin-top:3px}
@media(max-width:860px){
  .hero{flex-direction:column;align-items:stretch;padding:92px 0 36vh}
  .hero-photo{inset:auto 0 0 0;width:100%;height:34vh;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 55%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,#000 55%,#000 100%)}
  .hero-inner{max-width:none}
  .hero-ticket{position:relative;z-index:3;right:auto;left:auto;top:auto;bottom:auto;margin:22px 22px 0;align-self:flex-start;transform:rotate(-3deg)}
}


/* ============ GO-ALL-IN: texture, locality, more elements ============ */

/* paper texture on light sections (subtle, warm, never blocks clicks) */
.story, .signature, .menu, .faq, .contact, .infostrip-sec{position:relative;isolation:isolate}
.story>.container, .signature>.container, .menu>.container, .faq>.container, .contact>.container, .infostrip-sec>.container{position:relative;z-index:1}
.story::after, .signature::after, .menu::after, .faq::after, .contact::after, .infostrip-sec::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)'/%3E%3C/svg%3E")}

/* nicer empty photo placeholders (texture + depth, less "blank block") */
.ph:not(.has-img)::before{content:"";position:absolute;inset:0;z-index:0;opacity:.55;pointer-events:none;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 2px,transparent 2px 10px)}
.hero-photo, .taco-ad-photo, .birria-photo{background-image:repeating-linear-gradient(45deg,rgba(255,201,91,.05) 0 2px,transparent 2px 14px),linear-gradient(150deg,#3a1714,#5a1b16 58%,#7a1f17)!important}

/* marquee ticker */
.marquee{overflow:hidden;background:var(--charcoal-900);color:var(--masa-100);border-top:3px solid var(--corn);border-bottom:3px solid var(--corn)}
.marquee-track{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform;animation:elc-marquee 32s linear infinite;padding:13px 0}
.marquee-track span{font-family:"Cucciolo","Anton";text-transform:uppercase;font-size:1.45rem;letter-spacing:.02em;padding:0 20px}
.marquee-track .dot{color:var(--corn);font-size:1rem;padding:0}
@keyframes elc-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none}}

/* local info strip */
.infostrip-sec{padding:clamp(34px,5vw,54px) 0}
.infostrip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.info-card{display:flex;flex-direction:column;gap:7px;background:var(--surface);border:1.5px solid rgba(26,23,21,.1);border-radius:var(--r-lg);padding:22px 20px;box-shadow:var(--sh-sm);transition:transform .2s var(--ease),box-shadow .2s var(--ease),border-color .2s}
a.info-card{cursor:pointer}
a.info-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--primary)}
.info-ico{font-size:1.7rem;line-height:1}
.info-k{font:700 .72rem/1 "Barlow";letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
.info-v{font-size:1rem;line-height:1.45;color:var(--text)}
.info-cta{margin-top:auto;padding-top:4px;font-weight:700;font-size:.9rem;color:var(--accent)}
.info-cta.muted-cta{color:var(--text-muted);font-weight:600}
@media(max-width:860px){.infostrip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.infostrip{grid-template-columns:1fr}}

/* craft strip (dark) */
.craft{background:var(--charcoal-900);color:var(--masa-100)}
.craft .eyebrow.light{margin-bottom:26px}
.craft-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.craft-item{padding:4px 28px;border-left:1px solid rgba(255,255,255,.14)}
.craft-item:first-child{border-left:0;padding-left:0}
.craft-no{font-family:"Cucciolo","Anton";font-size:1.05rem;color:var(--corn)}
.craft-item h3{font-size:2rem;margin:.18em 0 .35em;color:var(--masa-100)}
.craft-item p{margin:0;color:rgba(252,247,238,.72);font-size:.98rem;line-height:1.55}
@media(max-width:860px){.craft-grid{grid-template-columns:repeat(2,1fr);gap:30px 26px}.craft-item{border-left:0;padding:0}}
@media(max-width:520px){.craft-grid{grid-template-columns:1fr}}

/* dish badges */
.badge-warm{background:#ffe9d6;color:#a8521b}
.badge-neutral{background:var(--masa-200);color:var(--text-muted)}

/* Birria feature (mirror of taco-ad: photo left, text right) */
.birria{position:relative;background:#120d0c;color:var(--masa-100);overflow:hidden;isolation:isolate;min-height:min(80vh,680px);display:flex;align-items:center}
.birria .birria-photo{margin:0;position:absolute;inset:0 auto 0 0;width:60%;min-height:0;border-radius:0;box-shadow:none;-webkit-mask-image:linear-gradient(270deg,transparent 0,#000 40%,#000 100%);mask-image:linear-gradient(270deg,transparent 0,#000 40%,#000 100%)}
.birria .birria-photo::after{content:none}
.birria-content{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;width:100%;padding:clamp(60px,9vw,110px) 22px;display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.birria-head{font-family:"Cucciolo","Anton";font-weight:400;text-transform:uppercase;line-height:.9;letter-spacing:-.015em;font-size:clamp(3rem,8vw,7rem);margin:0;color:var(--masa-100)}
.birria-head .bleed{display:block;color:var(--corn)}
.birria .taco-ad-desc{max-width:36ch;text-align:right}
.birria .taco-ad-link{align-self:flex-end}
.birria-chit{left:6%;right:auto;bottom:10%;background:var(--corn);color:#16110f;border-color:rgba(22,17,15,.6)}
.birria-chit .chit-price{color:var(--chili-600)}
@media(max-width:860px){
  .birria{min-height:0}
  .birria .birria-photo{inset:auto 0 0 0;width:100%;height:44%;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 46%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,#000 46%,#000 100%)}
  .birria-content{align-items:flex-start;text-align:left;padding-bottom:48vw}
  .birria .taco-ad-desc{text-align:left}
  .birria .taco-ad-link{align-self:flex-start}
  .birria-chit{left:auto;right:6%;bottom:auto;top:7%}
}

/* FAQ accordion (details/summary, CSS only) */
.faq-list{margin-top:8px;border-top:1px solid rgba(26,23,21,.14)}
.faq-item{border-bottom:1px solid rgba(26,23,21,.14)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-family:"Barlow",system-ui,sans-serif;font-weight:700;font-size:1.12rem;color:var(--text)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-x{position:relative;width:18px;height:18px;flex-shrink:0}
.faq-x::before,.faq-x::after{content:"";position:absolute;background:var(--primary);transition:transform .25s var(--ease)}
.faq-x::before{top:8px;left:0;width:18px;height:2px}
.faq-x::after{left:8px;top:0;width:2px;height:18px}
.faq-item[open] .faq-x::after{transform:scaleY(0)}
.faq-item p{margin:-2px 0 20px;color:var(--text-muted);font-size:1.02rem;line-height:1.6;max-width:62ch}
.faq-item a{color:var(--primary);font-weight:700}

/* contact: local-first layout */
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,56px);align-items:start}
.addr-card{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border-radius:var(--r-lg);padding:20px 22px;box-shadow:var(--sh-sm);border:1.5px solid rgba(26,23,21,.08)}
.addr-pin{font-size:1.8rem;line-height:1}
.reserve-box-lg{width:auto;margin:18px 0;padding:18px 22px;gap:3px;background:var(--charcoal-900);border:0;box-shadow:var(--sh-md)}
.reserve-box-lg .reserve-label{color:var(--corn)}
.reserve-box-lg .reserve-phone{color:#fff}
.reserve-box-lg .reserve-phone:hover{color:var(--corn)}
.reserve-sub{font-size:.92rem;color:rgba(255,255,255,.8);margin-top:6px}
.reserve-sub a{color:var(--corn);font-weight:700}
.hours-card{background:var(--surface);border-radius:var(--r-lg);padding:22px 26px;box-shadow:var(--sh-md);border:1.5px solid rgba(26,23,21,.08);margin-bottom:18px}
.hours-card-title{font-family:"Cucciolo","Anton";text-transform:uppercase;font-size:1.3rem;color:var(--primary);margin:0 0 6px}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* papel-picado divider (footer top) */
.papel-divider{height:20px;background:repeating-linear-gradient(90deg,var(--corn) 0 22px,var(--chili-500) 22px 44px,var(--agave-400) 44px 66px,var(--terracotta) 66px 88px);-webkit-mask:repeating-linear-gradient(90deg,#000 0 15px,transparent 15px 22px);mask:repeating-linear-gradient(90deg,#000 0 15px,transparent 15px 22px);opacity:.9}

/* richer footer */
.footer-inner{grid-template-columns:1.7fr 1fr 1fr .8fr;padding-top:46px}
.footer-h{font-family:"Cucciolo","Anton";text-transform:uppercase;font-size:1.05rem;color:#fff;margin:0 0 12px;letter-spacing:.02em}
.footer-fam{color:rgba(255,255,255,.5);font-size:.9rem;margin:.6em 0 0;max-width:32ch}
@media(max-width:760px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand-col{grid-column:1/-1}}
@media(max-width:480px){.footer-inner{grid-template-columns:1fr}}

/* ---- looping video slot (behaves like .ph-img) ---- */
.ph-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;display:block}


/* ============ menu enhancements + deals ============ */
.menu-cat-sub{font-family:"Barlow";font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:none;letter-spacing:0;margin-left:6px}
.menu-list .sp{font-size:.82em;white-space:nowrap}
.menu-list em{color:var(--text-muted);font-style:normal;font-size:.82em}
.menu-col-feature{align-self:start;background:var(--surface);border:1.6px solid rgba(215,25,25,.2);border-radius:var(--r-lg);padding:18px 22px 20px;box-shadow:var(--sh-sm)}
.menu-col-feature .menu-cat{color:var(--chili-600);border-bottom-color:rgba(215,25,25,.25)}
.menu-legend{grid-column:1/-1;border-top:1.6px dashed rgba(26,23,21,.22);padding-top:16px;margin-top:6px}
.menu-legend-keys{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0 0 8px;font-weight:700;font-size:.9rem}
.menu-legend-allerg{margin:0;font-size:.84rem;color:var(--text-muted);line-height:1.55;max-width:82ch}

.deals{background:var(--charcoal-900);color:var(--masa-100)}
.deals .eyebrow{color:var(--corn)}
.deals .section-title{color:#fff}
.deals .muted{color:rgba(252,247,238,.72)}
.deals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:6px}
.deal-card{position:relative;display:flex;flex-direction:column;gap:6px;background:rgba(255,255,255,.04);border:1.5px solid rgba(255,201,91,.25);border-radius:var(--r-lg);padding:22px 22px 24px;transition:transform .2s var(--ease),border-color .2s}
.deal-card:hover{transform:translateY(-3px);border-color:rgba(255,201,91,.6)}
.deal-ico{font-size:1.7rem;line-height:1}
.deal-card h3{font-size:1.4rem;margin:.2em 0 .1em;color:var(--masa-100)}
.deal-card p{margin:0;color:rgba(252,247,238,.78);font-size:.96rem;line-height:1.5}
.deal-price{font-family:"Cucciolo","Anton";font-size:1.9rem;color:var(--corn);margin-top:auto;padding-top:10px;line-height:1}
.deal-card-feature{background:linear-gradient(150deg,#7a1f17,#b3160f 90%);border-color:rgba(255,201,91,.5)}
.deal-card-feature .btn{margin-top:14px;align-self:flex-start}
@media(max-width:860px){.deals-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.deals-grid{grid-template-columns:1fr}}

/* ---- curation: breathing room ---- */
.section{padding:clamp(72px,10vw,132px) 0}
.section-head{margin-bottom:clamp(40px,5vw,56px)}


/* ============ workflow pass A: trust strip, agave band, polish ============ */
/* trust strip (Crocodiles credibility, directly under hero) */
.trust{background:var(--charcoal-900);color:var(--masa-100);border-bottom:3px solid var(--corn)}
.trust-inner{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;padding:20px 22px}
.trust-lead{font:600 1.05rem/1.45 "Barlow";margin:0;max-width:48ch}
.trust-lead strong{color:var(--corn)}
.trust-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px;margin:0;padding:0}
.trust-chips li{font:700 .74rem/1 "Barlow";letter-spacing:.04em;text-transform:uppercase;color:var(--masa-100);background:rgba(255,201,91,.12);border:1.5px solid rgba(255,201,91,.32);border-radius:var(--pill);padding:8px 13px}
@media(max-width:760px){.trust-inner{flex-direction:column;align-items:flex-start}}

/* Agave Bar band (agave-green, type-driven, no photo) */
.agave{position:relative;background:linear-gradient(150deg,#0d241d,#155b43 75%,#1f7a5a);color:var(--masa-100);overflow:hidden;isolation:isolate;min-height:min(62vh,520px);display:flex;align-items:center}
.agave-content{position:relative;z-index:3;max-width:var(--maxw);margin:0 auto;width:100%;padding:clamp(56px,8vw,104px) 22px}
.agave-head{font-family:"Cucciolo","Anton";font-weight:400;text-transform:uppercase;line-height:.9;letter-spacing:-.015em;font-size:clamp(3rem,8vw,7rem);margin:0;color:var(--masa-100)}
.agave-head .bleed{display:block;color:var(--corn)}
.agave .taco-ad-desc{max-width:44ch}
.agave-chit{right:6%;bottom:12%;background:var(--corn);color:#0d241d;border-color:rgba(13,36,29,.5)}
.agave-chit .chit-price{color:var(--agave-600)}
@media(max-width:860px){.agave{min-height:0}.agave-chit{position:static;display:inline-flex;margin-top:26px;transform:rotate(-3deg)}}

/* P2-1 quiet the two inert info cards (non-links) */
.info-card:not(a){box-shadow:none;background:var(--masa-200);border-style:dashed}
/* P2-4 menu inline link */
.menu .menu-link, .menu-link{color:var(--primary);font-weight:700;text-decoration:underline;text-underline-offset:2px}


/* ============ pass B: motion + de-emoji refinement ============ */
/* staggered grid reveals */
.bento>.reveal:nth-child(2),.deals-grid>.reveal:nth-child(2),.craft-grid>.reveal:nth-child(2),.infostrip>.reveal:nth-child(2){transition-delay:.06s}
.bento>.reveal:nth-child(3),.deals-grid>.reveal:nth-child(3),.craft-grid>.reveal:nth-child(3),.infostrip>.reveal:nth-child(3){transition-delay:.12s}
.bento>.reveal:nth-child(4),.deals-grid>.reveal:nth-child(4),.craft-grid>.reveal:nth-child(4),.infostrip>.reveal:nth-child(4){transition-delay:.18s}
.bento>.reveal:nth-child(n+5),.deals-grid>.reveal:nth-child(n+5){transition-delay:.24s}
/* slow ken-burns on the hero + birria stills */
@keyframes elc-kb{0%{transform:scale(1.012)}100%{transform:scale(1.085)}}
.hero-photo .ph-img,.birria-photo .ph-img{transform-origin:60% 50%}
/* dish-card 3d tilt base */
.dish-card{transform-style:preserve-3d;will-change:transform}
/* hover lift on remaining cards/chips */
.cat-card,.menu-col-feature,.info-card{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .2s}
.cat-card:hover,.menu-col-feature:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.trust-chips li{transition:transform .2s var(--ease)}
.trust-chips li:hover{transform:translateY(-2px)}
/* clean text tags (replace spice/vegan emoji) */
.menu-list .sp{display:inline-block;font:700 .56rem/1 "Barlow";letter-spacing:.09em;text-transform:uppercase;color:var(--chili-600);border:1px solid rgba(215,25,25,.42);border-radius:var(--pill);padding:3px 7px 2px;white-space:nowrap;vertical-align:2px;margin-left:3px}
.menu-list .sp.veg{color:var(--agave-600);border-color:rgba(31,122,90,.42)}
.menu-legend-keys span{font-weight:700;color:var(--text)}
/* deal cards: editorial top-accent instead of emoji */
.deal-card{padding-top:26px}
.deal-card::before{content:"";position:absolute;top:0;left:22px;width:36px;height:3px;background:var(--corn);border-radius:0 0 2px 2px}
.deal-ico{display:none}
/* address card: corn left-rule instead of the pin emoji */
.addr-card{border-left:3px solid var(--corn)}
.addr-pin{display:none}
.map-pin{color:var(--accent);line-height:0;margin-bottom:6px}
@media(prefers-reduced-motion:reduce){.hero-photo .ph-img,.birria-photo .ph-img{animation:none}}


/* ============ product gallery (the menu in pictures) ============ */
.fg-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.fg-item{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1/1;box-shadow:var(--sh-sm);background:#16110f}
.fg-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s var(--ease)}
.fg-item:hover img{transform:scale(1.06)}
.fg-item figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:flex-end;gap:8px;padding:34px 14px 12px;background:linear-gradient(0deg,rgba(15,11,9,.92),rgba(15,11,9,.45) 55%,transparent);color:var(--masa-100)}
.fg-name{font-family:"Cucciolo","Anton";text-transform:uppercase;font-size:1rem;line-height:1.05;letter-spacing:.01em}
.fg-price{font:700 .95rem/1 "Barlow";color:var(--corn);font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:1024px){.fg-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.fg-grid{grid-template-columns:repeat(2,1fr);gap:10px}.fg-name{font-size:.92rem}}

/* a11y (BDC): inline content links distinguished beyond colour */
.lead a,.subprose a,.faq-item a,.reserve-sub a,.contact-note a,.muted a,.waitlist-sub a,.menu-legend-allerg a,.footer-fam a,.crumb a,.address a,.section p a{text-decoration:underline;text-underline-offset:2px}
.btn,.nav a,.mobile-nav a,.footer-col a,.info-cta,.taco-ad-link,.fg-item figcaption a{text-decoration:none}

/* ===== Cucciolo display system: Rough on big statement type, clean Cucciolo on small ===== */
h1,h2,.section-title,.footer-brand{font-family:"Cucciolo","Anton",Impact,sans-serif;letter-spacing:0}
.deal-price,.menu-price{font-family:"Barlow",system-ui,sans-serif;font-weight:800;letter-spacing:0}

/* ===================== FIESTA THEME v2 — light, colour-block, papel-picado ===================== */
:root{--maxw:1140px}
body{background:var(--masa-100);color:var(--charcoal-900)}

/* --- Cucciolo across the UI --- */
.nav a,.mobile-nav a{font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;letter-spacing:.02em;font-size:1.02rem}
.btn{font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;letter-spacing:.03em;font-weight:400}
.eyebrow{font-family:"Cucciolo","Anton",sans-serif;font-weight:400;letter-spacing:.07em;font-size:1.05rem;color:var(--chili-600)}

/* --- oversized display --- */
.hero-title{font-size:clamp(3.4rem,13vw,8.4rem);line-height:.88;letter-spacing:-.01em;margin:0 0 .34em;color:var(--charcoal-900)}
.section-title{font-size:clamp(2.3rem,6vw,4.1rem);line-height:.95}
.feature-head{font-size:clamp(2.7rem,7.5vw,5.4rem);line-height:.92;margin:.05em 0 .26em}

/* --- colour-block sections (theme layer wins over legacy section bg) --- */
.sec{position:relative;padding:clamp(58px,8.5vw,116px) 0;overflow:hidden}
.sec>.container{position:relative;z-index:2}
.sec.sec-cream{background:var(--masa-100)!important;color:var(--charcoal-900)}
.sec.sec-mustard{background:var(--corn)!important;color:#3a2410}
.sec.sec-vermilion{background:var(--chili-600)!important;color:var(--masa-100)}
.sec.sec-teal{background:var(--agave-600)!important;color:var(--masa-100)}
.sec.sec-dark{background:var(--charcoal-900)!important;color:var(--masa-100)}
.sec.sec-vermilion .section-title,.sec.sec-teal .section-title,.sec.sec-vermilion .feature-head,.sec.sec-teal .feature-head,.sec.sec-mustard .section-title{color:inherit}

/* --- heavy grain on every block --- */
.sec::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.18;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='nf'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23nf)'/%3E%3C/svg%3E")}
.sec.sec-vermilion::after,.sec.sec-teal::after,.sec.sec-dark::after{mix-blend-mode:overlay;opacity:.16}

/* --- papel-picado bunting --- */
.papel-top::before{content:"";position:absolute;top:0;left:0;right:0;height:19px;z-index:4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='66' height='19'%3E%3Cpolygon points='0,0 22,0 11,19' fill='%23C53A1C'/%3E%3Cpolygon points='22,0 44,0 33,19' fill='%23F3B01C'/%3E%3Cpolygon points='44,0 66,0 55,19' fill='%23218B7A'/%3E%3C/svg%3E");background-size:66px 19px;background-repeat:repeat-x}

/* --- buttons on colour sections --- */
.btn-cream{background:var(--masa-100);color:var(--chili-600);border:none}
.btn-cream:hover{background:#fff;transform:translateY(-2px)}
.btn-outline{background:transparent;color:currentColor;border:2.5px solid currentColor}
.btn-outline:hover{background:currentColor}
.sec-cream .btn-outline:hover,.contact .btn-outline:hover{color:var(--masa-100)}

/* --- eyebrow colour by section --- */
.sec.sec-cream .eyebrow,.sec.sec-mustard .eyebrow{color:var(--chili-600)}
.sec.sec-vermilion .eyebrow,.sec.sec-teal .eyebrow,.sec.sec-dark .eyebrow{color:var(--corn)}

/* --- hero --- */
.hero-grid{display:grid;grid-template-columns:1.05fr .92fr;gap:clamp(26px,5vw,56px);align-items:center}
.hero-figure{margin:0;border-radius:20px;overflow:hidden;aspect-ratio:4/5;box-shadow:0 26px 64px rgba(43,32,23,.3)}
.hero-figure img{width:100%;height:100%;object-fit:cover;display:block}
.hero-title .hl{color:var(--chili-600)}
.hero-sub{font-size:1.15rem;line-height:1.6;max-width:46ch;margin:0 0 30px;color:var(--text-muted)}
.hero2 .kicker{color:var(--agave-600);font-weight:700}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.hero-figure{aspect-ratio:16/11}}

/* --- feature bands --- */
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,62px);align-items:center}
.feature-rev .feature-media{order:2}
.feature-media{margin:0;border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 22px 54px rgba(43,32,23,.34)}
.feature-media img,.feature-media video{width:100%;height:100%;object-fit:cover;display:block}
.feature-desc{font-size:1.12rem;line-height:1.6;margin:.2em 0 28px;max-width:46ch}
@media(max-width:780px){.feature-grid{grid-template-columns:1fr}.feature-rev .feature-media{order:0}}

/* --- deal cards on cream --- */
.sec-cream .deal-card{background:#fff;border:1px solid rgba(43,32,23,.12);color:var(--charcoal-900);box-shadow:0 8px 22px rgba(43,32,23,.06)}
.sec-cream .deal-card h3{color:var(--charcoal-900)}
.sec-cream .deal-price{color:var(--chili-600)}
.sec-cream .deal-card-feature{background:var(--chili-600);border:none;color:var(--masa-100)}
.sec-cream .deal-card-feature h3,.sec-cream .deal-card-feature p{color:var(--masa-100)}

/* --- waitlist block (the one dark moment, inside cream deals) --- */
.waitlist-block{margin:clamp(38px,5vw,60px) auto 0;max-width:660px;text-align:center;background:var(--charcoal-900);color:var(--masa-100);padding:clamp(28px,4vw,46px);border-radius:18px;position:relative;z-index:2}
.waitlist-h{font-family:"Cucciolo","Anton",sans-serif;font-size:clamp(1.9rem,4.5vw,2.8rem);margin:.08em 0 .3em;text-transform:uppercase;color:var(--masa-100)}
.waitlist-block .eyebrow{color:var(--corn)}
.waitlist-block .waitlist-sub{color:rgba(245,236,214,.86);margin:0 auto 18px;max-width:48ch}
.waitlist-block .field{justify-content:center}

/* --- gallery captions on mustard --- */
.sec-mustard .fg-item figcaption{color:#3a2410}
.sec-mustard .muted,.sec-mustard .menu-link{color:#5a3c1a}

/* --- catering / contact cards stay light & legible --- */
.sec-cream .cat-card{background:#fff;border:1px solid rgba(43,32,23,.12);color:var(--charcoal-900)}

/* ---- light-section text fix (legacy CSS defaulted text to light for dark sections) ---- */
.sec-cream h1,.sec-cream h2,.sec-cream h3,.sec-cream h4,.sec-cream p,.sec-cream li,.sec-cream td,.sec-cream th,.sec-cream label,.sec-cream summary,.sec-cream figcaption,.sec-cream .address,.sec-cream .lead,.sec-cream .section-title,.sec-cream .feature-head,.sec-cream .hours-card-title{color:var(--charcoal-900)}
.sec-cream .muted,.sec-cream .opt,.sec-cream .menu-cat-sub,.sec-cream .reserve-label,.sec-cream .reserve-fine,.sec-cream .contact-note,.sec-cream .menu-legend-allerg,.sec-cream .reserve-sub{color:var(--text-muted)}
.sec-cream .reserve-phone,.sec-cream .deal-price{color:var(--chili-600)}
.sec-mustard h2,.sec-mustard h3,.sec-mustard p,.sec-mustard li,.sec-mustard figcaption,.sec-mustard .section-title{color:#3a2410}

/* ---- media containment fix (.ph-img is position:absolute from the photo-slot system) ---- */
.hero-figure,.feature-media{position:relative}
.hero-figure .ph-img,.feature-media .ph-img,.feature-media .ph-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;max-width:none}

/* ---- redesign header + grain perf ---- */
.site-header{background:var(--masa-100)}
.site-header .brand,.site-header .brand-word,.site-header .nav a{color:var(--charcoal-900)}
.site-header .brand-glyph{color:var(--chili-600)}
.sec::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='ng'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23ng)'/%3E%3C/svg%3E");background-size:140px 140px;background-repeat:repeat}

/* ===================== PALETTE v3 — vivid, colour-dominant, more teal, heavy grain ===================== */
:root{
  --chili-600:#E5452A; --chili-500:#F0613C;     /* vivid orange-red */
  --corn:#F4B61E;                                /* golden mustard */
  --masa-100:#F7EFDC; --masa-200:#EDDCBC;        /* warm cream */
  --agave-600:#15786B; --agave-400:#23B5A2;      /* deep teal / bright teal */
  --charcoal-900:#2A1E14; --charcoal-800:#3A2A1C;/* warm espresso */
}
body{background:var(--masa-100);color:var(--charcoal-900)}

/* --- HEADER: always solid + dark text (fixes disappear-on-scroll) --- */
.site-header{background:var(--masa-100)!important;box-shadow:0 1px 0 rgba(42,30,20,.07),0 6px 18px rgba(42,30,20,.05);border-bottom:1px solid rgba(42,30,20,.06)}
.site-header .brand,.site-header .brand-word,.site-header .nav a,.site-header:not(.scrolled) .brand,.site-header:not(.scrolled) .brand-word,.site-header:not(.scrolled) .nav a{color:var(--charcoal-900)!important}
.site-header .brand-glyph,.site-header:not(.scrolled) .brand-glyph{color:var(--chili-600)!important}
.site-header:not(.scrolled) .nav a:hover{color:var(--chili-600)!important}

/* --- UNIFORM BUTTONS: espresso primary + outline, one height --- */
.btn{font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;letter-spacing:.04em;font-weight:400;min-height:54px;padding:0 30px;font-size:1.05rem;border-radius:var(--pill);border:2.5px solid transparent;line-height:1}
.btn-lg{min-height:60px;padding:0 40px;font-size:1.16rem}
.btn-sm{min-height:46px;padding:0 22px;font-size:.98rem}
.btn-primary,.btn-cream{background:var(--charcoal-900);color:var(--masa-100);border-color:var(--charcoal-900)}
.btn-primary:hover,.btn-cream:hover{background:#17100a;transform:translateY(-2px);box-shadow:0 10px 24px rgba(42,30,20,.28)}
.btn-outline,.btn-ghost,.btn-ghost-light{background:transparent;color:currentColor;border-color:currentColor}
.btn-outline:hover,.btn-ghost:hover,.btn-ghost-light:hover{background:currentColor;transform:translateY(-2px)}
.sec-cream .btn-outline:hover,.sec-mustard .btn-outline:hover{color:var(--masa-100)}
.sec-teal .btn-outline:hover,.sec-vermilion .btn-outline:hover{color:var(--charcoal-900)}

/* --- SECTION FIELDS v3 (dark text on bright fields, cream on teal) --- */
.sec.sec-mustard{background:var(--corn)!important;color:#3a2410}
.sec.sec-vermilion{background:var(--chili-600)!important;color:#2c1106}
.sec.sec-teal{background:var(--agave-600)!important;color:var(--masa-100)}
.sec.sec-cream{background:var(--masa-100)!important;color:var(--charcoal-900)}

.sec-vermilion h1,.sec-vermilion h2,.sec-vermilion h3,.sec-vermilion p,.sec-vermilion li,.sec-vermilion .section-title,.sec-vermilion .feature-head,.sec-vermilion .feature-desc{color:#2c1106}
.sec-vermilion .eyebrow{color:#2c1106}
.sec-mustard h1,.sec-mustard h2,.sec-mustard h3,.sec-mustard p,.sec-mustard li,.sec-mustard .section-title,.sec-mustard .feature-head,.sec-mustard .feature-desc,.sec-mustard figcaption,.sec-mustard .muted{color:#3a2410}
.sec-mustard .eyebrow{color:#8a2d10}
.sec-teal,.sec-teal h2,.sec-teal h3,.sec-teal p,.sec-teal li,.sec-teal td,.sec-teal th,.sec-teal .section-title,.sec-teal .feature-head,.sec-teal .feature-desc,.sec-teal figcaption,.sec-teal .address,.sec-teal .muted,.sec-teal .contact-note{color:var(--masa-100)}
.sec-teal .eyebrow{color:var(--corn)}
.sec-cream .eyebrow{color:var(--charcoal-900)}

/* hero on mustard */
.hero2 .kicker{color:#8a2d10;font-weight:700}
.hero2 .hero-title{color:#2a1e14}
.hero2 .hero-title .hl{color:#0f5e53}
.hero2 .hero-sub{color:#4a3420}

/* --- HEAVIER, GRITTIER GRAIN --- */
.sec::after{opacity:.26;mix-blend-mode:multiply}
.sec-vermilion::after,.sec-teal::after{mix-blend-mode:soft-light;opacity:.34}
.sec-mustard::after{opacity:.22}

/* --- papel-picado: teal-forward --- */
.papel-top::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='19'%3E%3Cpolygon points='0,0 22,0 11,19' fill='%2315786B'/%3E%3Cpolygon points='22,0 44,0 33,19' fill='%23E5452A'/%3E%3Cpolygon points='44,0 66,0 55,19' fill='%23F4B61E'/%3E%3Cpolygon points='66,0 88,0 77,19' fill='%2323B5A2'/%3E%3C/svg%3E");background-size:88px 19px}

/* deal cards readable on mustard */
.sec-mustard .deal-card{background:#fffaf0;border:1px solid rgba(58,36,16,.14);color:#3a2410}
.sec-mustard .deal-card h3{color:#3a2410}
.sec-mustard .deal-price{color:var(--chili-600)}
.sec-mustard .deal-card-feature{background:var(--charcoal-900);color:var(--masa-100)}
.sec-mustard .deal-card-feature h3,.sec-mustard .deal-card-feature p{color:var(--masa-100)}

/* contact-min layout */
.contact-min{align-items:center;gap:clamp(28px,5vw,60px)}
.contact-min .address{font-size:1.18rem;line-height:1.5;margin:0 0 6px}
.contact-min .hours{margin:14px 0 26px}
.sec-teal .hours th,.sec-teal .hours td{color:var(--masa-100);border-color:rgba(247,239,220,.18)}
.sec-teal .map-facade{background:rgba(247,239,220,.08);border:2px dashed rgba(247,239,220,.34)}
.sec-teal .map-facade p,.sec-teal .map-hint,.sec-teal .map-pin{color:var(--masa-100)}

/* Lenis smooth scroll */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* ===================== PIXEL + SCROLL FIX ===================== */
/* crisp text rendering on fractional-DPR Windows */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

/* grain: bitmap noise (scales smoothly at any DPR) — replaces the feTurbulence that pixelated */
.sec::after{background-image:url("/grain.png")!important;background-size:256px 256px;background-repeat:repeat;mix-blend-mode:overlay;opacity:.5}
.sec-mustard::after,.sec-vermilion::after,.sec-teal::after,.sec-cream::after{mix-blend-mode:overlay;opacity:.5}

/* more compact spacing */
.sec{padding:clamp(40px,5.5vw,78px) 0}
.section-head{margin-bottom:clamp(22px,3vw,38px)}
.hero-grid{gap:clamp(22px,4vw,48px)}

/* Al Pastor / Agave (orange) bands: cream text on a slightly deeper orange = readable */
.sec.sec-vermilion{background:#D43F1C!important;color:var(--masa-100)}
.sec-vermilion h1,.sec-vermilion h2,.sec-vermilion h3,.sec-vermilion p,.sec-vermilion li,.sec-vermilion .section-title,.sec-vermilion .feature-head,.sec-vermilion .feature-desc{color:var(--masa-100)}
.sec-vermilion .eyebrow{color:var(--corn)}
.sec-vermilion .btn-cream,.sec-vermilion .btn-primary{background:var(--masa-100);color:#D43F1C;border-color:var(--masa-100)}
.sec-vermilion .btn-cream:hover,.sec-vermilion .btn-primary:hover{background:#fff}

/* papel-picado: smaller, finer, more refined (less kid-friendly) */
.papel-top::before{height:11px;background-size:40px 11px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='11'%3E%3Cpolygon points='0,0 20,0 10,11' fill='%2315786B'/%3E%3Cpolygon points='20,0 40,0 30,11' fill='%23D43F1C'/%3E%3C/svg%3E")}

/* ===================== DISPLAY-FONT SIZE FIX ===================== */
/* Cucciolo is a display face — only crisp BIG. Small UI -> Barlow (clean, hinted, sharp at any size). */
.nav a,.mobile-nav a,.btn,.eyebrow,.brand,.brand-word,.footer-brand,.footer-h,
h3,.deal-card h3,.cat-card h3,.dish-card h3,.reserve-phone,.cat-form-title,.hours-card-title,
.ph-name,.fg-name,.cookie-text,.consent{font-family:"Barlow",system-ui,sans-serif !important}
.nav a,.mobile-nav a{font-weight:700;letter-spacing:.04em;font-size:.9rem}
.btn{font-weight:800;letter-spacing:.035em}
.eyebrow{font-weight:700;letter-spacing:.15em;font-size:.8rem}
.brand-word{font-weight:800;letter-spacing:.005em;font-size:1.42rem}
.footer-brand{font-weight:800;letter-spacing:.01em}
h3,.deal-card h3,.cat-card h3{font-weight:800;letter-spacing:.005em}
.reserve-phone{font-weight:800}
/* keep Cucciolo only where it's large + sharp; bump the borderline ones so they never go rough */
.menu-cat{font-family:"Cucciolo","Anton",sans-serif !important;font-size:clamp(1.55rem,2.6vw,2.05rem)}
.waitlist-h{font-size:clamp(2.2rem,4.5vw,3rem)}

/* more compact */
.sec{padding:clamp(32px,4.6vw,66px) 0}
.section-head{margin-bottom:clamp(16px,2.4vw,30px)}
.feature-desc{margin-bottom:20px}

/* gallery: unified rounded frames so photos read as part of the site, not pasted on */
.fg-item{border-radius:12px;overflow:hidden;box-shadow:0 8px 22px rgba(20,10,4,.22)}
.fg-item img{display:block;width:100%;height:100%;object-fit:cover}
.fg-grid{gap:clamp(10px,1.4vw,16px)}

/* ===================== CREATIVE PASS — more Mexican, bigger, blended ===================== */
/* richer papel-picado bunting hanging at each section top (blends colour blocks + very Mexican) */
.papel-top::before{height:40px;background-size:168px 40px;background-position:top center;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27168%27%20height%3D%2740%27%3E%3Crect%20width%3D%27168%27%20height%3D%273%27%20fill%3D%27%25236b4423%27%2F%3E%3Cpath%20d%3D%27M2%2C4%20H54%20V28%20l-6.5%2C9%20l-6.5%2C-9%20l-6.5%2C9%20l-6.5%2C-9%20l-6.5%2C9%20l-6.5%2C-9%20l-6.5%2C9%20l-6.5%2C-9%20Z%27%20fill%3D%27%252315786B%27%2F%3E%3Ccircle%20cx%3D%2715%27%20cy%3D%2715%27%20r%3D%272.6%27%20fill%3D%27%2523F7EFDC%27%2F%3E%3Ccircle%20cx%3D%2728%27%20cy%3D%2715%27%20r%3D%272.6%27%20fill%3D%27%2523F7EFDC%27%2F%3E%3Ccircle%20cx%3D%2741%27%20cy%3D%2715%27%20r%3D%272.6%27%20fill%3D%27%2523F7EFDC%27%2F%3E%3Cpath%20d%3D%27M58%2C4%20H110%20V28%20l-6.5%2C9%20l-6.5%2C-9%20l-6.5%2C9%20l-6.5%2C-9%20l-6.5%2C9%20l-6.5%2C-9%20l-6.5%2C9%20l-6.5%2C-9%20Z%27%20fill%3D%27%2523D43F1C%27%2F%3E%3Ccircle%20cx%3D%2771%27%20cy%3D%2715%27%20r%3D%272.6%27%20fill%3D%27%2523F7EFDC%27%2F%3E%3Ccircle%20cx%3D%2784%27%20cy%3D%2715%27%20r%3D%272.6%27%20fill%3D%27%2523F7EFDC%27%2F%3E%3Ccircle%20cx%3D%2797%27%20cy%3D%2715%27%20r%3D%272.6%27%20fill%3D%27%2523F7EFDC%27%2F%3E%3Cpath%20d%3D%27M114%2C4%20H166%20V28%20l-6.5%2C9%20l-6.5%2C-9%20l-6.5%2C9%20l-6.5%2C-9%20l-6.5%2C9%20l-6.5%2C-9%20l-6.5%2C9%20l-6.5%2C-9%20Z%27%20fill%3D%27%2523F4B61E%27%2F%3E%3Ccircle%20cx%3D%27127%27%20cy%3D%2715%27%20r%3D%272.6%27%20fill%3D%27%2523F7EFDC%27%2F%3E%3Ccircle%20cx%3D%27140%27%20cy%3D%2715%27%20r%3D%272.6%27%20fill%3D%27%2523F7EFDC%27%2F%3E%3Ccircle%20cx%3D%27153%27%20cy%3D%2715%27%20r%3D%272.6%27%20fill%3D%27%2523F7EFDC%27%2F%3E%3C%2Fsvg%3E")}

/* bigger, more expressive display type */
.hero-title{font-size:clamp(3.8rem,14vw,9.6rem);line-height:.86}
.section-title{font-size:clamp(2.6rem,6.5vw,4.8rem)}
.feature-head{font-size:clamp(3rem,8vw,6.2rem)}

/* stronger, more tactile grain */
.sec::after{opacity:.62}
.sec-cream::after{opacity:.5}

/* reservation line + auto-loading map */
.reserve-line{font-family:"Barlow",sans-serif;font-weight:700;font-size:1.05rem;margin:0 0 12px;opacity:.92}
.map-embed{border-radius:16px;overflow:hidden;box-shadow:0 14px 36px rgba(20,10,4,.3);aspect-ratio:16/11;background:#0d3b34}
.map-embed iframe{width:100%;height:100%;border:0;display:block;filter:saturate(.95)}

/* ===================== SERAPE DIVIDER (blends colour blocks, very Mexican) ===================== */
.papel-top::before{
  content:"";position:absolute;top:0;left:0;right:0;height:15px;z-index:4;background-image:none;
  background:repeating-linear-gradient(90deg,
    #B23A1E 0 5px,#D43F1C 5px 10px,#E8702A 10px 15px,#F4B61E 15px 22px,#F7EFDC 22px 26px,
    #38B49E 26px 31px,#15786B 31px 37px,#F4B61E 37px 42px,#D43F1C 42px 48px,#F7EFDC 48px 52px);
  box-shadow:inset 0 -2px 4px rgba(0,0,0,.12),0 2px 5px rgba(0,0,0,.12)
}
/* stronger, more present grain */
.sec::after{opacity:.72}
.sec-cream::after{opacity:.58}

/* ===================== VINYL TEXTURE + LOGO ===================== */
.brand-svg{height:23px;width:auto;display:block}
.site-header .brand-svg{color:var(--charcoal-900)}
.sec::after{opacity:.9}
.sec-cream::after{opacity:.72}
.hero-textlink{display:inline-block;margin-top:14px;font-family:"Barlow",sans-serif;font-weight:700;font-size:1rem;color:#8a2d10;text-decoration:underline;text-underline-offset:3px}
.hero-textlink:hover{color:var(--chili-600)}
.reserve-line strong{color:var(--corn)}

/* ===================== BAND ART + WAITLIST MOVE ===================== */
/* hand-drawn illustrations replace band photos */
.feature-art{aspect-ratio:4/3;display:grid;place-items:center;background:transparent;box-shadow:none;border-radius:0;color:var(--masa-100)}
.feature-art svg{width:84%;height:auto;max-height:104%;filter:drop-shadow(0 8px 18px rgba(20,8,2,.28))}
@media(max-width:780px){.feature-art{aspect-ratio:5/4}.feature-art svg{width:70%}}
/* waitlist as its own conversion section (teal so it stands out) */
.waitlist-sec .waitlist-block{background:var(--charcoal-900);margin-top:0}

/* ===================== BOTANICAL PRINT band art ===================== */
.feature-print{background:transparent;box-shadow:none;display:grid;place-items:center;aspect-ratio:auto;padding:8px 0}
.feature-print img{max-height:450px;width:auto;max-width:90%;background:#f6eeda;padding:16px 16px 20px;border-radius:4px;border:1px solid rgba(30,15,6,.28);box-shadow:0 24px 50px rgba(20,8,2,.44);transform:rotate(-1.8deg)}
.feature-rev .feature-print img{transform:rotate(1.8deg)}
@media(max-width:780px){.feature-print img{max-height:330px}}

/* ===================== FINAL HERO (waitlist-first, mobile-first) ===================== */
.hero-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:"Barlow",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:#8a2d10;margin:0 0 16px}
.hero-dot{width:9px;height:9px;border-radius:50%;background:var(--chili-600);box-shadow:0 0 0 4px rgba(197,58,28,.18);flex:none}
.hero2 .hero-title{font-size:clamp(2.3rem,6vw,3.9rem);line-height:1.0;letter-spacing:-.01em;margin:0 0 .18em;color:#2a1e14}
.hero-brandline{font-family:"Cucciolo","Anton",sans-serif;font-size:clamp(1.35rem,3.4vw,2.2rem);line-height:1;letter-spacing:.01em;margin:0 0 .7em;color:#2a1e14}
.hero-brandline .hl{color:#0f5e53}
.hero2 .hero-sub{font-size:clamp(1.02rem,1.7vw,1.18rem);line-height:1.55;max-width:46ch;color:#4a3420;margin:0 0 22px}

.hero-offer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--charcoal-900);color:var(--masa-100);border-radius:13px;padding:13px 16px;margin:0 0 20px;max-width:520px;font-size:.98rem;line-height:1.4;box-shadow:0 10px 26px rgba(42,30,20,.22)}
.hero-offer-tag{flex:none;font-family:"Barlow",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;background:var(--corn);color:#3a2410;padding:5px 10px;border-radius:7px}
.hero-offer strong{color:var(--corn)}

.hero-form{max-width:520px;margin:0}
.hero-form .field{display:flex;gap:10px}
.hero-form input[type="email"]{flex:1;min-width:0;min-height:56px;padding:0 16px;border-radius:13px;border:2px solid rgba(42,30,20,.16);background:#fff;font-family:"Barlow",sans-serif;font-size:1.05rem;color:#2a1e14}
.hero-form input[type="email"]:focus{outline:none;border-color:var(--chili-600);box-shadow:0 0 0 4px rgba(197,58,28,.15)}
.hero-form .btn{min-height:56px;flex:none;white-space:nowrap}
.hero-form .consent{display:flex;gap:9px;align-items:flex-start;margin:12px 0 0;font-size:.82rem;line-height:1.35;color:#4a3420;cursor:pointer;max-width:520px}
.hero-form .consent input{margin-top:2px;flex:none;width:17px;height:17px;accent-color:var(--chili-600)}
.hero-form .consent a{color:#8a2d10;text-decoration:underline}
.hero-micro{font-size:.78rem;color:#7a5a34;margin:8px 0 0}
.hero-form .form-msg{margin:10px 0 0;font-size:.92rem}
.hero-form .form-msg.ok{color:#0f5e53;font-weight:700}
.hero-form .form-msg.err{color:#a12414;font-weight:700}

.hero-trust{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:9px 18px;font-size:.82rem;color:#3a2410;font-weight:600}
.hero-trust li{display:flex;align-items:center;gap:7px}
.hero-trust li::before{content:"";width:15px;height:15px;flex:none;border-radius:50%;background:var(--agave-600);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat}
.hero2 .hero-textlink{display:inline-block;margin:18px 0 0;font-weight:700;color:#8a2d10;text-decoration:underline;text-underline-offset:3px}

/* mobile-first: photo on top (appetite), compact; form stacks full-width */
@media(max-width:820px){
  .hero-grid{display:flex;flex-direction:column;gap:22px}
  .hero-figure{order:-1;aspect-ratio:16/10;max-height:40vh}
}
@media(max-width:520px){
  .hero-form .field{flex-direction:column}
  .hero-form .btn{width:100%}
}

/* ===================== HERO header-clear + mobile photo ===================== */
#hero{padding-top:clamp(92px,13vw,120px)}
@media(max-width:820px){
  .hero2 .hero-grid{display:flex;flex-direction:column;gap:20px;align-items:stretch}
  .hero2 .hero-figure{order:-1;aspect-ratio:16/10;max-height:44vh;width:100%}
  .hero-offer,.hero-form,.hero-form .consent{max-width:none}
}

/* ===================== HERO POLISH PASS ===================== */
/* more vertical air */
#hero{padding-top:clamp(96px,13vw,126px);padding-bottom:clamp(48px,7vw,82px)}
.hero2 .hero-grid{gap:clamp(30px,5vw,64px)}

.hero-eyebrow{font-size:.8rem;letter-spacing:.12em;margin:0 0 22px}

/* H1: dramatic but lighter — more line-height, open tracking, max contrast, a touch smaller */
.hero2 .hero-title{font-size:clamp(2.35rem,5vw,3.7rem);line-height:1.08;letter-spacing:.006em;margin:0 0 .26em;color:#241812}
.hero-brandline{font-size:clamp(1.3rem,3.1vw,2rem);margin:0 0 .9em;color:#3a2410;letter-spacing:.015em}

/* sub: bigger, darker, more readable */
.hero2 .hero-sub{font-size:clamp(1.15rem,1.9vw,1.3rem);line-height:1.62;color:#3a2410;font-weight:500;max-width:44ch;margin:0 0 30px}

/* offer strip: instant scan */
.hero-offer{padding:15px 18px;border-radius:15px;margin:0 0 28px;gap:13px;align-items:center;box-shadow:0 12px 30px rgba(42,30,20,.24)}
.hero-offer-tag{font-size:.7rem;padding:6px 11px;letter-spacing:.06em}
.hero-offer-body{font-size:1.03rem;line-height:1.5}
.hero-offer-body strong{color:var(--corn);font-weight:800}
.hero-offer-note{color:rgba(245,236,214,.6);font-weight:400}

/* form: breathing room + affordance */
.hero-form input[type="email"]{min-height:62px;padding:0 20px;border-radius:15px;font-size:1.1rem;box-shadow:0 6px 16px rgba(42,30,20,.1)}
.hero-form .field{gap:12px}
.hero-form .btn{min-height:62px;padding:0 38px;font-size:1.13rem;letter-spacing:.04em;border-radius:15px;box-shadow:0 14px 32px rgba(30,18,10,.34);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}
.hero-form .btn:hover{transform:translateY(-2px);box-shadow:0 20px 44px rgba(30,18,10,.46)}
.hero-form .btn:active{transform:translateY(0)}
.hero-form .consent{margin-top:16px;font-size:.85rem;line-height:1.45}
.hero-micro{margin-top:12px;font-size:.8rem;color:#7a5a34}
.hero-trust{margin-top:26px;gap:11px 20px;font-size:.85rem}

/* image: richer, more intentional */
.hero-figure{border-radius:22px;box-shadow:0 34px 72px -14px rgba(28,14,4,.55),0 10px 26px rgba(28,14,4,.3)}
.hero-figure img{object-position:50% 58%}

@media(max-width:820px){
  #hero{padding-top:clamp(84px,20vw,108px);padding-bottom:40px}
  .hero2 .hero-title{font-size:clamp(2.25rem,8.2vw,2.95rem);line-height:1.07}
  .hero2 .hero-sub{font-size:1.16rem}
  .hero2 .hero-figure{aspect-ratio:16/11;max-height:42vh;border-radius:18px;box-shadow:0 22px 48px -10px rgba(28,14,4,.5)}
  .hero-offer-body{font-size:1rem}
}

/* H1 balance: clean 3-line stack, no orphan */
.hero2 .hero-title{font-size:clamp(2.3rem,4.6vw,3.5rem);line-height:1.05}
@media(max-width:820px){.hero2 .hero-title{font-size:clamp(2.2rem,8vw,2.9rem);line-height:1.04}}

/* ===================== CONSISTENCY PASS: hero QA + waitlist section ===================== */

/* --- Hero QA --- */
/* 4. consent: less visual dominance, better spacing */
.hero-form .consent{margin-top:18px;font-size:.8rem;line-height:1.5;color:#6b4f30}
.hero-form .consent a{color:#8a2d10;font-weight:600}
/* 5. trust chips: bigger, easier to scan */
.hero-trust{gap:12px 22px;font-size:.9rem}
.hero-trust li::before{width:17px;height:17px}
/* 2. field stacks below wide-desktop so the input is never cramped in the narrow 2-col zone */
@media(max-width:1200px){.hero-form .field{flex-direction:column}.hero-form .field .btn{width:100%}}
/* 2. H1 guard: forced breaks never overflow the narrow tablet/small-desktop column */
@media(min-width:821px) and (max-width:1200px){.hero2 .hero-title{font-size:clamp(2.3rem,4.4vw,3.2rem)}}
/* 1 & 3: mobile readability — bigger sub + bigger offer values */
@media(max-width:820px){
  .hero2 .hero-sub{font-size:1.22rem;line-height:1.56;margin:0 0 22px}
  .hero-offer-body{font-size:1.06rem;line-height:1.5}
  .hero-form .consent{font-size:.82rem}
  .hero-trust{font-size:.88rem}
}

/* --- Waitlist section: match hero form treatment (adapted for the dark card) --- */
.waitlist-block{border-radius:22px;box-shadow:0 30px 66px -16px rgba(20,10,4,.5)}
.waitlist-block .waitlist-form{max-width:560px}
.waitlist-block .field{display:flex;gap:12px;justify-content:center;flex-wrap:nowrap}
.waitlist-block .field input[type=email]{flex:1;min-width:0;min-height:62px;padding:0 20px;border-radius:15px;border:2px solid rgba(255,255,255,.14);background:#fff;font-family:"Barlow",sans-serif;font-size:1.1rem;color:#2a1e14;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.waitlist-block .field input[type=email]::placeholder{color:#8a7a63}
.waitlist-block .field input[type=email]:focus{outline:none;border-color:var(--corn);box-shadow:0 0 0 4px rgba(244,182,30,.32)}
.waitlist-block .btn-primary{min-height:62px;flex:none;padding:0 34px;font-size:1.13rem;letter-spacing:.04em;border-radius:15px;background:var(--corn);color:#2a1e14;border-color:var(--corn);white-space:nowrap;box-shadow:0 14px 32px rgba(0,0,0,.32);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}
.waitlist-block .btn-primary:hover{background:#ffc637;transform:translateY(-2px);box-shadow:0 20px 44px rgba(0,0,0,.42)}
.waitlist-block .btn-primary:active{transform:translateY(0)}
.waitlist-block .consent{display:flex;gap:9px;align-items:flex-start;max-width:440px;margin:16px auto 0;font-size:.8rem;line-height:1.5;color:rgba(245,236,214,.58);text-align:left;cursor:pointer}
.waitlist-block .consent input{margin-top:2px;flex:none;width:17px;height:17px;accent-color:var(--corn)}
.waitlist-block .consent a{color:rgba(245,236,214,.85);text-decoration:underline}
.waitlist-block .form-msg{margin:12px 0 0;font-size:.92rem;min-height:1.2em;font-weight:700}
.waitlist-block .form-msg.ok{color:var(--corn)}
.waitlist-block .form-msg.err{color:#ffb3a8}
.waitlist-micro{font-size:.8rem;color:rgba(245,236,214,.5);margin:12px auto 0}
@media(max-width:560px){
  .waitlist-block .field{flex-direction:column}
  .waitlist-block .btn-primary{width:100%}
}

/* ===================== DECISION-PAGE PASS ===================== */
/* quick info bar */
.infobar{background:var(--charcoal-900);color:var(--masa-100);position:relative;z-index:2;padding:13px 0}
.infobar-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;font-family:"Barlow",sans-serif;font-size:.92rem;color:rgba(245,236,214,.82)}
.ib-item{display:flex;align-items:center;gap:9px}
.ib-item::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--chili-500);flex:none}
.ib-item b{color:var(--corn);font-weight:700}
.ib-item a{color:var(--corn);text-decoration:none;font-weight:700}
.ib-item a:hover{text-decoration:underline}

/* warum checks */
.why-checks{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:13px;font-size:1.06rem;line-height:1.45}
.why-checks li{display:flex;gap:12px;align-items:flex-start}
.why-checks li::before{content:"";width:20px;height:20px;flex:none;margin-top:2px;border-radius:50%;background:var(--corn);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat}
.why-fam{font-size:.98rem;opacity:.88;max-width:46ch;margin:0}

/* perks strip (folded deals) */
.perks{margin:28px auto 0;max-width:820px;text-align:center}
.perks-title{font-family:"Barlow",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.09em;font-size:.76rem;color:#8a2d10;margin:0 0 12px}
.perks-row{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;padding:0;margin:0}
.perks-row li{background:#fffaf0;border:1px solid rgba(58,36,16,.16);border-radius:12px;padding:10px 14px;font-family:"Barlow",sans-serif;font-size:.9rem;color:#3a2410;box-shadow:0 4px 12px rgba(42,30,20,.08)}
.perks-row strong{color:#3a2410;font-weight:800;margin-right:4px}
.perks-row b{color:var(--chili-600);font-weight:800}

/* menu extras */
.menu-firsttime{margin:10px 0 0;font-size:1.02rem;color:#3a2410}
.menu-firsttime strong{color:var(--chili-600)}
.sp.rec{background:var(--agave-600);color:#fff}

/* sticky bar: two actions, primary dominant */
.mobile-cta .btn{font-size:.95rem;padding:0 10px}
.mobile-cta .btn-primary{flex:1.5}

@media(max-width:560px){
  .infobar-row{font-size:.86rem;gap:7px 18px}
  .why-checks{font-size:1rem}
  .perks-row li{font-size:.86rem;padding:9px 12px}
}

/* waitlist-block on mustard: keep the dark card's light text (sec-mustard color rules would darken it) */
.sec-mustard .waitlist-block .waitlist-h{color:var(--masa-100)}
.sec-mustard .waitlist-block p,.sec-mustard .waitlist-block .waitlist-sub{color:rgba(245,236,214,.88)}
.sec-mustard .waitlist-block .eyebrow{color:var(--corn)}
.sec-mustard .waitlist-block .consent{color:rgba(245,236,214,.6)}
.sec-mustard .waitlist-block .waitlist-micro{color:rgba(245,236,214,.5)}
.sec-mustard .waitlist-block .form-msg.ok{color:var(--corn)}
.sec-mustard .waitlist-block .form-msg.err{color:#ffb3a8}

/* why-checks inline-flow fix: strong+text must wrap as one line, not as flex columns */
.why-checks li{display:block;position:relative;padding-left:33px}
.why-checks li::before{position:absolute;left:0;top:2px;margin-top:0}

/* ===================== SIMPLICITY PASS ===================== */
/* FIX: rotated botanical print + its shadow were clipped by the parent's overflow:hidden
   + border-radius (inherited from .feature-media) -> glitched, hard-edged shadow. */
.feature-print{overflow:visible;border-radius:0}
.feature-print img{box-shadow:0 16px 36px -8px rgba(20,8,2,.38),0 4px 10px rgba(20,8,2,.18)}

/* hero: fewer elements, more air */
.hero2 .hero-title{margin:0 0 .34em}
.hero2 .hero-sub{margin:0 0 26px;max-width:42ch}
.hero-form{margin-top:2px}

/* newsletter (bottom) */
.sec.sec-dark{background:var(--charcoal-900)!important;color:var(--masa-100)}
.sec-dark::after{mix-blend-mode:overlay;opacity:.3}
.newsletter{padding:clamp(64px,9vw,110px) 0}
.newsletter .container{position:relative;z-index:2}
.news-print{margin:0 auto 26px;width:110px;transform:rotate(2.2deg)}
.news-print img{width:100%;background:#f6eeda;padding:8px 8px 11px;border-radius:3px;border:1px solid rgba(30,15,6,.3);box-shadow:0 14px 30px -6px rgba(0,0,0,.5)}
.newsletter .eyebrow{color:var(--corn)}
.news-h{font-family:"Cucciolo","Anton",sans-serif;font-size:clamp(2.1rem,5vw,3.2rem);line-height:1.04;margin:.1em 0 .35em;color:var(--masa-100);text-transform:uppercase}
.news-sub{font-family:"Barlow",sans-serif;font-size:1.08rem;line-height:1.6;color:rgba(245,236,214,.85);max-width:52ch;margin:0 auto 28px}
.news-form{max-width:560px;margin:0 auto}
.news-form .field{display:flex;gap:12px}
.news-form input[type=email]{flex:1;min-width:0;min-height:62px;padding:0 20px;border-radius:15px;border:2px solid rgba(255,255,255,.14);background:#fff;font-family:"Barlow",sans-serif;font-size:1.1rem;color:#2a1e14;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.news-form input[type=email]::placeholder{color:#8a7a63}
.news-form input[type=email]:focus{outline:none;border-color:var(--corn);box-shadow:0 0 0 4px rgba(244,182,30,.32)}
.news-form .btn-primary{min-height:62px;flex:none;padding:0 34px;font-size:1.13rem;letter-spacing:.04em;border-radius:15px;background:var(--corn);color:#2a1e14;border-color:var(--corn);white-space:nowrap;box-shadow:0 14px 32px rgba(0,0,0,.32);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}
.news-form .btn-primary:hover{background:#ffc637;transform:translateY(-2px);box-shadow:0 20px 44px rgba(0,0,0,.42)}
.news-form .btn-primary:active{transform:translateY(0)}
.news-form .consent{display:flex;gap:9px;align-items:flex-start;max-width:460px;margin:16px auto 0;font-size:.8rem;line-height:1.5;color:rgba(245,236,214,.6);text-align:left;cursor:pointer}
.news-form .consent input{margin-top:2px;flex:none;width:17px;height:17px;accent-color:var(--corn)}
.news-form .consent a{color:rgba(245,236,214,.85);text-decoration:underline}
.news-form .form-msg{margin:12px 0 0;font-size:.92rem;min-height:1.2em;font-weight:700}
.news-form .form-msg.ok{color:var(--corn)}
.news-form .form-msg.err{color:#ffb3a8}
.news-micro{font-size:.8rem;color:rgba(245,236,214,.5);margin:12px 0 0}
@media(max-width:560px){
  .news-form .field{flex-direction:column}
  .news-form .btn-primary{width:100%}
  .news-print{width:92px}
}

/* hero field always stacked: side-by-side can't fit the long CTA next to a usable input */
.hero-form{max-width:480px}
.hero-form .field{flex-direction:column;gap:12px}
.hero-form .field .btn{width:100%}

/* ===================== POLISH-2 PASS ===================== */
/* anchor nav must clear the sticky header (was tucking section titles under it) */
.sec[id],section[id]{scroll-margin-top:88px}

/* menu: consistent, premium — no odd card, crisper red hairline, more air */
.menu-col-first{background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.menu-grid{gap:40px 64px}
.menu .menu-cat{color:var(--charcoal-900);border-bottom:2px solid rgba(197,58,28,.42);padding-bottom:10px;margin-bottom:16px}
.menu-list li{padding:9px 0}
.menu-firsttime{margin-top:8px}

/* ===================== HERO REDO PASS ===================== */
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:6px}
.hero-actions .hero-textlink{margin:0}
@media(min-width:821px){.hero2 .hero-grid{align-items:center}}
@media(max-width:520px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .hero-actions .hero-textlink{text-align:center;margin-top:2px}
}

/* ===================== CHECKLIST IMPLEMENT ===================== */
/* persistent desktop phone in header */
.header-phone{margin-left:auto;font-family:"Barlow",sans-serif;font-weight:700;font-size:.98rem;color:var(--charcoal-900);text-decoration:none;white-space:nowrap;letter-spacing:.01em;display:inline-flex;align-items:center;gap:7px}
.header-phone::before{content:"";width:15px;height:15px;flex:none;background:var(--chili-600);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.6 15.6 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.4c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.3 1z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.6 15.6 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.4c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.3 1z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat}
.header-phone:hover{color:var(--chili-600)}
.header-cta{margin-left:0}

/* tap-target: enlarge hero text link hit area to >=44px */
.hero-actions .hero-textlink{padding:11px 2px}
@media(max-width:520px){.hero-actions .hero-textlink{padding:13px 2px}}

/* header-phone mobile hide: desktop-only; mobile uses the sticky Anrufen */
@media(max-width:760px){.header-phone{display:none}}

/* ===================== READABILITY + BRAND PASS ===================== */
/* Anton = readable display for ALL headings (Cucciolo cramped letters -> "S" read as "G") */
h1,h2,h3,.section-title,.feature-head,.menu-cat,.news-h,.waitlist-h,.hero-title,
.fg-name,.hours-card-title,.footer-h,.menu-cat-sub{
  font-family:"Anton","Barlow Condensed","Barlow",sans-serif !important;
}
h1,h2,h3,.section-title,.feature-head,.hero-title{letter-spacing:.014em;line-height:1.02}
.menu-cat{letter-spacing:.02em}
/* UI text = clean Barlow (was Cucciolo) */
.nav a,.mobile-nav a{font-family:"Barlow",sans-serif !important;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.btn{font-family:"Barlow",sans-serif !important;font-weight:800;letter-spacing:.03em}
.eyebrow{font-family:"Barlow",sans-serif !important;font-weight:800;letter-spacing:.13em;font-size:.82rem}
.menu-cat-sub{font-weight:600 !important;letter-spacing:0}
/* brand wordmark stays Cucciolo — the signature */
.brand,.footer-brand,.brand-word{font-family:"Cucciolo","Anton",sans-serif !important}

/* BRAND EVERYWHERE: the caimán mark before every section eyebrow (adapts to the eyebrow colour) */
.eyebrow{display:inline-flex;align-items:center;gap:.5em}
.eyebrow::before{content:"";width:1.15em;height:1.15em;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 20c4-1 7-4 11-4s6 2 10 1c2-.4 4-1.6 5-3-.3 3-2.4 5.6-5 7-4 2.2-8 1-12 1-3 0-6 .4-9-.4-1.6-.5-2.6-1.4-1-1.2Z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 20c4-1 7-4 11-4s6 2 10 1c2-.4 4-1.6 5-3-.3 3-2.4 5.6-5 7-4 2.2-8 1-12 1-3 0-6 .4-9-.4-1.6-.5-2.6-1.4-1-1.2Z' fill='%23000'/%3E%3C/svg%3E") center/contain no-repeat}
.section-head.center .eyebrow,.center .eyebrow{justify-content:center}

/* allergen codes replace the price column: muted, not bold */
.menu-list .mi-alg{font-weight:600 !important;font-size:.82rem;color:var(--text-muted);letter-spacing:.05em;white-space:nowrap;font-variant-numeric:normal}
.sec-cream .menu-list .mi-alg{color:#8a6a3a}

/* soon-badge: marks items that are coming after opening (menu is expanding) */
.soon{display:inline-block;font:800 .6rem/1 "Barlow",sans-serif;text-transform:uppercase;letter-spacing:.08em;
  background:var(--corn);color:#2c1106;border-radius:999px;padding:3px 8px 2px;vertical-align:middle;margin-left:4px}
.why-checks .soon{margin-left:2px}

/* ===================== RESTORE MEXICAN DISPLAY FONT (Cucciolo) ===================== */
/* Cucciolo IS the brand's Mexican character. Bring it back everywhere; fix readability with
   generous letter-spacing (opens the cramped letters) instead of swapping to a generic font. */
h1,h2,h3,.section-title,.feature-head,.hero-title,.menu-cat,.news-h,.waitlist-h,
.fg-name,.hours-card-title,.footer-h,.nav a,.mobile-nav a,.btn,.eyebrow,
.brand,.footer-brand,.brand-word,.menu-firsttime strong{
  font-family:"Cucciolo","Anton",Impact,sans-serif !important;
}
h1,h2,.section-title,.feature-head,.hero-title,.news-h,.waitlist-h{letter-spacing:.035em}
.menu-cat{letter-spacing:.075em}
.fg-name{letter-spacing:.055em}
.footer-h,.hours-card-title{letter-spacing:.05em}
.nav a,.mobile-nav a{letter-spacing:.05em}
.btn{letter-spacing:.06em}
.eyebrow{letter-spacing:.14em;font-size:.95rem}

/* ===================== IMMERSIVE HERO v3 ===================== */
.hero3{position:relative;min-height:min(90vh,780px);display:flex;align-items:flex-end;overflow:hidden;background:#1a0e06;isolation:isolate}
.hero3-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 52%;z-index:0}
.hero3-scrim{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(18,9,3,.94) 0%,rgba(18,9,3,.78) 34%,rgba(18,9,3,.28) 66%,rgba(18,9,3,0) 100%),
  linear-gradient(0deg,rgba(18,9,3,.72) 0%,rgba(18,9,3,0) 46%)}
.hero3-inner{position:relative;z-index:2;color:var(--masa-100);padding-top:clamp(120px,16vw,168px);padding-bottom:clamp(46px,6vw,84px);width:100%}
.hero3-kicker{display:inline-flex;align-items:center;gap:.55em;font-family:"Barlow",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem;color:var(--corn);margin:0 0 20px}
.hero3-mark{width:1.35em;height:1.35em;flex:none;background:var(--corn);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 20c4-1 7-4 11-4s6 2 10 1c2-.4 4-1.6 5-3-.3 3-2.4 5.6-5 7-4 2.2-8 1-12 1-3 0-6 .4-9-.4-1.6-.5-2.6-1.4-1-1.2Z' fill='%23F4B61E'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 20c4-1 7-4 11-4s6 2 10 1c2-.4 4-1.6 5-3-.3 3-2.4 5.6-5 7-4 2.2-8 1-12 1-3 0-6 .4-9-.4-1.6-.5-2.6-1.4-1-1.2Z' fill='%23F4B61E'/%3E%3C/svg%3E") center/contain no-repeat}
.hero3-title{font-family:"Cucciolo","Anton",Impact,sans-serif;text-transform:uppercase;font-size:clamp(3.2rem,10vw,7.4rem);line-height:.92;letter-spacing:.02em;color:var(--masa-100);margin:0 0 .28em;text-shadow:0 4px 40px rgba(0,0,0,.4)}
.hero3-sub{font-family:"Barlow",sans-serif;font-size:clamp(1.12rem,1.7vw,1.4rem);line-height:1.55;color:rgba(245,236,214,.92);max-width:46ch;margin:0 0 32px;text-shadow:0 2px 20px rgba(0,0,0,.5)}
.hero3-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px}
.hero3-actions .btn{box-shadow:0 16px 40px rgba(0,0,0,.4)}
.hero3-link{font-family:"Barlow",sans-serif;font-weight:800;font-size:1.02rem;color:var(--masa-100);text-decoration:none;border-bottom:2px solid rgba(244,182,30,.6);padding-bottom:2px;white-space:nowrap;transition:border-color .2s,color .2s}
.hero3-link:hover{color:var(--corn);border-color:var(--corn)}
.hero3-trust{font-family:"Barlow",sans-serif;font-size:.92rem;color:rgba(245,236,214,.7);margin:26px 0 0}
.hero3-trust strong{color:var(--masa-100);font-weight:700}
@media(max-width:640px){
  .hero3{min-height:88vh}
  .hero3-bg{object-position:60% 45%}
  .hero3-scrim{background:linear-gradient(0deg,rgba(18,9,3,.92) 8%,rgba(18,9,3,.55) 46%,rgba(18,9,3,.2) 100%)}
  .hero3-actions{flex-direction:column;align-items:stretch}
  .hero3-actions .btn{width:100%}
  .hero3-link{align-self:center;margin-top:6px}
}

/* hero3 CTA pop: bright corn button on the dark hero (funnel/conversion) */
.hero3-actions .btn-primary{background:var(--corn);color:#2c1106;border-color:var(--corn);box-shadow:0 16px 40px rgba(0,0,0,.45),0 4px 14px rgba(244,182,30,.3)}
.hero3-actions .btn-primary:hover{background:#ffc637;color:#2c1106;transform:translateY(-2px)}

/* ===================== CURATED PALETTE (base + accents) ===================== */
/* gallery tiles on cream: lift them so the dark food photos read like a lookbook */
.sec-cream .foodgallery .fg-item,.foodgallery .fg-item{border-radius:16px;overflow:hidden;box-shadow:0 12px 30px -8px rgba(30,15,6,.28)}
/* contact on dark: map frame + address/hours already light via sec-dark; keep the call button warm */

/* ===================== CURATED FIX ===================== */
/* gallery captions sit ON the dark image tiles -> always light, regardless of section bg */
.foodgallery .fg-name{color:var(--masa-100) !important}
.foodgallery .fg-price{color:var(--corn) !important}
/* contact call button: sec-dark + contact are the SAME element -> compound selector; make it corn */
.contact .btn-cream,.contact .btn-primary{background:var(--corn) !important;color:#2c1106 !important;border-color:var(--corn) !important}
.contact .btn-cream:hover,.contact .btn-primary:hover{background:#ffc637 !important}
.contact .map-embed{box-shadow:0 20px 50px rgba(0,0,0,.45)}

/* ===================== NEWSLETTER = FUNNEL CLIMAX (corn band) ===================== */
/* the one online conversion: lift it out of the dark run so it reads as the moment, not the footer */
.sec.sec-dark.newsletter{background:radial-gradient(130% 120% at 50% -20%,#F8C23A 0%,#F1AE12 55%,#E39A0C 100%)!important;color:#2c1106}
.newsletter::after{mix-blend-mode:soft-light;opacity:.22}
.newsletter .eyebrow{color:#7a2c0c!important}
.newsletter .news-h{color:#2c1106}
.newsletter .news-sub{color:rgba(44,17,6,.82)}
.newsletter .news-print img{background:#fbf3df;border-color:rgba(44,17,6,.32);box-shadow:0 16px 34px -8px rgba(60,25,6,.4)}
/* white field pops on gold; dark focus ring instead of corn-on-corn */
.newsletter .news-form input[type=email]{border-color:rgba(44,17,6,.16);box-shadow:0 8px 20px rgba(90,45,10,.16)}
.newsletter .news-form input[type=email]:focus{border-color:#2c1106;box-shadow:0 0 0 4px rgba(44,17,6,.22)}
/* CTA: dark espresso pill on gold — highest-contrast action on the page */
.newsletter .news-form .btn-primary{background:#2c1106!important;color:var(--corn)!important;border-color:#2c1106!important;box-shadow:0 14px 30px rgba(60,25,6,.34)}
.newsletter .news-form .btn-primary:hover{background:#41200c!important;box-shadow:0 20px 44px rgba(60,25,6,.44)}
.newsletter .news-form .consent{color:rgba(44,17,6,.66)}
.newsletter .news-form .consent a{color:#2c1106;text-decoration:underline}
.newsletter .news-form .consent input{accent-color:#2c1106}
.newsletter .news-form .form-msg.ok{color:#2c1106}
.newsletter .news-form .form-msg.err{color:#8a1c0c}
.newsletter .news-micro{color:rgba(44,17,6,.55)}

/* ===================== FAQ: contained premium card (breaks the gallery→FAQ cream adjacency) ===================== */
/* one warm step deeper than the gallery's cream, so the section boundary reads */
.sec.sec-cream.faq{background:#F1E7CB!important}
/* accordion lives in a white module — distinct from the gallery's edge-to-edge dark tiles */
.faq .faq-list{background:#fff;border:1px solid rgba(43,32,23,.10);border-top:1px solid rgba(43,32,23,.10);border-radius:20px;padding:2px 28px;margin-top:30px;box-shadow:0 22px 54px -20px rgba(43,32,23,.24)}
.faq .faq-item:last-child{border-bottom:none}
.faq .faq-item summary{padding:23px 6px}
.faq .faq-item p{padding:0 6px}

/* ===================== RESERVATION: floating button + popup (low-friction "call to reserve") ===================== */
.resv-fab{position:fixed;z-index:95;right:22px;bottom:22px;display:inline-flex;align-items:center;gap:9px;
  padding:14px 22px 13px;border:0;border-radius:var(--pill);cursor:pointer;
  font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;letter-spacing:.04em;font-size:1.06rem;line-height:1;
  background:var(--chili-600);color:#fff;
  box-shadow:0 16px 36px -8px rgba(188,53,23,.62),0 4px 14px rgba(0,0,0,.28);
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease)}
.resv-fab:hover{background:var(--chili-500);transform:translateY(-2px);box-shadow:0 22px 46px -8px rgba(188,53,23,.72),0 6px 16px rgba(0,0,0,.3)}
.resv-fab:active{transform:translateY(0)}
.resv-fab-ic{flex:none;margin-top:-1px}
@media(max-width:760px){.resv-fab{display:none}} /* mobile uses the sticky bar's "Tisch reservieren" */

.resv-backdrop{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(20,12,6,.64);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
  opacity:0;transition:opacity .22s var(--ease)}
.resv-backdrop.open{opacity:1}
.resv-backdrop[hidden]{display:none}
.resv-lock{overflow:hidden}
.resv-card{position:relative;width:100%;max-width:440px;background:var(--masa-100);color:var(--charcoal-900);
  border-radius:22px;padding:38px 32px 30px;text-align:center;border:1px solid rgba(0,0,0,.06);
  box-shadow:0 40px 90px -20px rgba(0,0,0,.6);
  transform:translateY(16px) scale(.975);transition:transform .24s var(--ease)}
.resv-backdrop.open .resv-card{transform:none}
.resv-close{position:absolute;top:11px;right:13px;width:38px;height:38px;border:0;background:transparent;
  font-size:1.7rem;line-height:1;color:var(--text-muted);cursor:pointer;border-radius:50%;transition:background .15s,color .15s}
.resv-close:hover{background:rgba(0,0,0,.07);color:var(--charcoal-900)}
.resv-kicker{font-family:"Cucciolo","Anton",sans-serif;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem;color:var(--chili-600);margin:0 0 5px}
.resv-title{font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;font-size:clamp(1.9rem,5vw,2.5rem);line-height:1;margin:0 0 12px;color:var(--charcoal-900)}
.resv-desc{font-family:"Barlow",sans-serif;font-size:1rem;line-height:1.55;color:var(--text-muted);max-width:34ch;margin:0 auto 22px}
.resv-desc strong{color:var(--chili-600)}
.resv-call{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:64px;
  background:var(--chili-600);color:#fff;border-radius:15px;
  font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;letter-spacing:.03em;font-size:1.18rem;
  box-shadow:0 14px 30px -8px rgba(188,53,23,.5);transition:transform .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease)}
.resv-call:hover{background:var(--chili-500);transform:translateY(-2px);box-shadow:0 20px 40px -8px rgba(188,53,23,.62)}
.resv-call:active{transform:translateY(0)}
.resv-call svg{flex:none}
.resv-hours{margin:22px auto 0;border-collapse:collapse;font-family:"Barlow",sans-serif;font-size:1rem}
.resv-hours th{text-align:left;font-weight:700;color:var(--charcoal-900);padding:5px 26px 5px 0;white-space:nowrap}
.resv-hours td{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums;padding:5px 0}
.resv-addr{font-family:"Barlow",sans-serif;font-size:.85rem;color:var(--text-muted);margin:20px 0 0}
@media(prefers-reduced-motion:reduce){.resv-backdrop,.resv-card{transition:none}}
/* ===================== MENU: CLASSIC PAPER (Option B, ink sketch) ===================== */
.pmenu{display:grid;grid-template-columns:1fr 1fr;gap:8px clamp(36px,5vw,68px)}
.pcat{margin-bottom:30px}
.pcat:last-child{margin-bottom:4px}
.pcat-h{text-align:center;margin-bottom:8px}
.pcat-ic{width:54px;height:42px;display:block;margin:0 auto 3px;filter:drop-shadow(0 2px 3px rgba(60,30,10,.14))}
.pcat-title{font-size:1.85rem;font-weight:400;letter-spacing:.12em;color:var(--charcoal-900);margin:0;line-height:1;text-transform:uppercase}
.pcat-rule{height:8px;border-top:1.6px solid rgba(60,30,10,.55);border-bottom:1.6px solid rgba(60,30,10,.55);margin:8px 0 2px}
.pcat-es{font-family:"Yellowtail",cursive;color:var(--chili-600);font-size:1.3rem;margin:3px 0 0;line-height:1.1}
.pitem{padding:10px 0 9px}
.pitem-row{display:flex;align-items:baseline;gap:8px}
.pn{font-family:"Barlow",sans-serif;font-weight:800;font-size:1.05rem;color:var(--charcoal-900);white-space:nowrap;letter-spacing:.01em}
.pn .mi-veg{margin-left:6px}
.pl{flex:1;border-bottom:2px dotted rgba(60,30,10,.32);transform:translateY(-4px);min-width:18px}
.pd{font-family:"Barlow",sans-serif;font-style:italic;color:var(--text-muted);font-size:.9rem;margin:3px 0 0;line-height:1.45}
.pitem .mi-alg{align-self:center;flex:none}
@media(max-width:720px){.pmenu{grid-template-columns:1fr;gap:0}.pcat{margin-bottom:26px}.pn{font-size:1rem;white-space:normal}}

/* mobile sticky bar: reservation is the primary action — brighten + glow so it pops on the dark bar */
.mobile-cta .btn-primary{background:var(--chili-500);color:#fff;box-shadow:0 6px 20px rgba(209,74,40,.5)}
.mobile-cta .btn-primary:hover{background:#e0562f}

/* ===================== HIGH-RES FIX ===================== */
/* the section grain (grain.png @ 50% overlay) painted noise ON TOP of the text -> read as pixelation.
   remove the over-text overlay entirely; type is now crisp. photos + colors + serape carry the texture. */
.sec::after,.story::after,.menu::after,.faq::after,.contact::after,.infostrip-sec::after{display:none!important}
/* belt-and-suspenders: sharpest possible text rendering */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
.menu-cat,.section-title,.hero3-title,.news-h,.resv-title,.fg-name{text-rendering:geometricPrecision}

/* ===================== MENU CARD (designed, selling) ===================== */
.menucard{max-width:940px;margin:clamp(24px,4vw,44px) auto 0;background:#fbf3dd;
  border:1.5px solid rgba(107,60,20,.30);border-radius:20px;
  box-shadow:0 30px 70px -28px rgba(60,30,10,.4),inset 0 0 0 6px rgba(255,255,255,.5),inset 0 0 0 7px rgba(107,60,20,.14);
  padding:clamp(26px,4vw,46px) clamp(22px,4vw,54px) clamp(22px,3vw,34px);position:relative;overflow:hidden}
/* serape flourish across the very top of the card */
.menucard::before{content:"";position:absolute;top:0;left:0;right:0;height:7px;
  background:repeating-linear-gradient(90deg,var(--chili-600) 0 20px,var(--corn) 20px 40px,var(--agave-600) 40px 60px)}

/* highlight box #1: the 3-variant hook */
.menucard-hook{text-align:center;margin:6px auto 30px;max-width:560px}
.menucard-chips{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin:0 0 12px}
.menucard-chip{font-family:"Barlow",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;
  padding:7px 15px;border-radius:999px;background:var(--chili-600);color:#fff;box-shadow:0 4px 12px rgba(188,53,23,.28)}
.menucard-chip.is-veg{background:#2f7d4f;box-shadow:0 4px 12px rgba(47,125,79,.28)}
.menucard-hook p{font-family:"Barlow",sans-serif;font-size:1.06rem;color:var(--charcoal-800);margin:0;line-height:1.5}
.menucard-hook strong{color:var(--chili-600)}

/* two-column menu body */
.menucard-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,52px) clamp(30px,5vw,60px)}
.menu-block{break-inside:avoid}
.menu-block-head{margin:0 0 12px;padding:0 0 9px;border-bottom:2px solid rgba(188,53,23,.30);position:relative}
.menucard .menu-cat{font-family:"Cucciolo","Anton",sans-serif!important;color:var(--chili-600)!important;
  font-size:clamp(1.6rem,2.4vw,2rem)!important;letter-spacing:.02em!important;margin:0!important;line-height:1;
  padding:0!important;border:0!important;text-transform:uppercase}
.menu-cat-es{font-family:"Barlow",sans-serif;font-style:italic;font-size:.86rem;color:var(--text-muted);margin:5px 0 0;letter-spacing:0}
.menucard .menu-list{list-style:none;margin:0;padding:0}
.menucard .menu-list li{display:flex;align-items:baseline;gap:8px;padding:8px 0;border:0;line-height:1.35}
.menucard .menu-list li+li{border-top:1px dotted rgba(60,30,10,.18)}
.mi-name{font-family:"Barlow",sans-serif;font-weight:800;color:var(--charcoal-900);font-size:1.02rem;flex:0 1 auto}
@media(max-width:600px){.menucard .menu-list li{flex-wrap:wrap}.menucard .menu-list .mi-alg{margin-left:auto}}
.mi-desc{font-family:"Barlow",sans-serif;font-style:italic;font-weight:400;color:var(--text-muted);font-size:.92rem;flex:1;min-width:0}
.mi-alg{font-family:"Barlow",sans-serif;font-weight:700;font-size:.68rem;letter-spacing:.04em;color:#9a7a4e;
  border:1px solid rgba(154,122,78,.4);border-radius:6px;padding:2px 6px;flex:none;white-space:nowrap;align-self:center}
.mi-veg{display:inline-block;font-family:"Barlow",sans-serif;font-weight:800;text-transform:uppercase;font-size:.58rem;letter-spacing:.08em;
  color:#2f7d4f;background:rgba(47,125,79,.12);border:1px solid rgba(47,125,79,.4);border-radius:999px;padding:2px 7px;vertical-align:1px;margin-left:4px}

/* highlight box #2: coming-soon anticipation strip */
.menucard-soon{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:center;text-align:center;
  margin:clamp(26px,4vw,40px) 0 0;padding:16px 22px;border-radius:14px;
  background:linear-gradient(180deg,#f7e7c3,#f3dcab);border:1px dashed rgba(188,53,23,.4)}
.menucard-soon-label{font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem;
  color:#fff;background:var(--chili-600);padding:5px 14px;border-radius:999px;flex:none;box-shadow:0 4px 12px rgba(188,53,23,.3)}
.menucard-soon p{font-family:"Barlow",sans-serif;font-weight:600;color:#7a4a1a;margin:0;font-size:.98rem;line-height:1.5}

/* footer: legend + pdf link */
.menucard-foot{margin:22px 0 0;padding:18px 0 0;border-top:1px solid rgba(60,30,10,.16);text-align:center}
.menucard-foot .menu-legend-keys{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin:0 0 6px;font-family:"Barlow",sans-serif;font-size:.84rem;color:var(--text-muted)}
.menucard-foot .menu-legend-keys b{color:var(--chili-600);font-weight:800}
.menu-legend-note{font-family:"Barlow",sans-serif;font-size:.8rem;color:var(--text-muted);margin:0 auto;max-width:52ch;line-height:1.5}
.menu-pdf-link{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:"Barlow",sans-serif;font-weight:800;
  font-size:.95rem;color:var(--chili-600);text-decoration:none;border:2px solid rgba(188,53,23,.35);border-radius:999px;padding:10px 20px;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease)}
.menu-pdf-link:hover{background:var(--chili-600);color:#fff;border-color:var(--chili-600)}
.pdf-ic{width:15px;height:18px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M320 464H64a16 16 0 0 1-16-16V64a16 16 0 0 1 16-16h160v80a32 32 0 0 0 32 32h80v288a16 16 0 0 1-16 16zM256 51.9 316.1 112H256zM181 233h-15v46h15a23 23 0 0 0 0-46zm113 0h-20v18h19v17h-19v29h-18v-81h38zm-208 0H60v81h17v-24h9a28.5 28.5 0 0 0 0-57z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M320 464H64a16 16 0 0 1-16-16V64a16 16 0 0 1 16-16h160v80a32 32 0 0 0 32 32h80v288a16 16 0 0 1-16 16z'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:720px){.menucard-body{grid-template-columns:1fr;gap:22px}}

/* ===================== BRANDED VISUALS (replace botanical prints) ===================== */
/* Lotería "El Caimán" card — warum section */
.loteria-fig{background:transparent!important;box-shadow:none!important;display:grid;place-items:center;padding:0;aspect-ratio:auto;overflow:visible}
.loteria{width:min(300px,82%);height:auto;transform:rotate(-2.2deg);filter:drop-shadow(0 26px 48px rgba(20,8,2,.5));transition:transform .35s var(--ease)}
.loteria-fig:hover .loteria{transform:rotate(0)}
@media(max-width:780px){.loteria{width:min(240px,64%)}}
/* Caimán medallion — newsletter */
.news-sello{margin:0 auto 22px;width:118px}
.news-sello svg{width:100%;height:auto;opacity:.9}
@media(max-width:640px){.news-sello{width:98px}}

/* ===================== GALLERY: editorial masonry (breaks the uniform AI-grid) ===================== */
.foodgallery .fg-grid{display:block!important;column-count:4;column-gap:14px;grid-template-columns:none!important}
.foodgallery .fg-item{display:block;width:100%;margin:0 0 14px;break-inside:avoid;aspect-ratio:1/1}
.foodgallery .fg-item:nth-child(4n+1){aspect-ratio:4/5}
.foodgallery .fg-item:nth-child(4n+3){aspect-ratio:5/4}
.foodgallery .fg-item:nth-child(7n+2){aspect-ratio:3/4}
/* branded break-tile inside the flow */
.fg-card{break-inside:avoid;margin:0 0 14px;display:flex;flex-direction:column;justify-content:center;gap:9px;
  padding:28px 22px;border-radius:16px;background:var(--chili-600);color:var(--masa-100);text-align:center;
  box-shadow:0 14px 34px -10px rgba(188,53,23,.45)}
.fg-card-k{font-family:"Barlow",sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;color:var(--corn)}
.fg-card-h{font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;font-size:1.55rem;line-height:1.03;color:var(--masa-100)}
.fg-card-p{font-family:"Barlow",sans-serif;font-size:.82rem;line-height:1.45;color:rgba(245,236,214,.88)}
@media(max-width:980px){.foodgallery .fg-grid{column-count:3}}
@media(max-width:600px){.foodgallery .fg-grid{column-count:2}}

/* ===================== LANGUAGE SWITCH ===================== */
.lang-switch{display:inline-flex;align-items:center;border:1.5px solid rgba(255,255,255,.42);border-radius:999px;overflow:hidden;font-family:"Barlow",sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.03em;margin-left:2px}
.site-header.scrolled .lang-switch{border-color:rgba(43,32,23,.26)}
.lang-switch a{padding:5px 11px;color:#fff;text-decoration:none;line-height:1;transition:background .15s var(--ease),color .15s var(--ease)}
.site-header.scrolled .lang-switch a{color:var(--charcoal-900)}
.lang-switch a.is-active{background:var(--corn);color:#2c1106}
.lang-switch a:not(.is-active):hover{background:rgba(255,255,255,.18)}
.site-header.scrolled .lang-switch a:not(.is-active):hover{background:rgba(43,32,23,.08)}
.lang-switch-m{display:none;margin:10px auto 0;justify-content:center;border-color:rgba(43,32,23,.22)}
.lang-switch-m a{color:var(--charcoal-900);padding:10px 20px}
.lang-switch-m a.is-active{color:#2c1106}
@media(max-width:760px){.lang-switch:not(.lang-switch-m){display:none}.lang-switch-m{display:inline-flex}}

/* ===================== HEADER UPGRADE + CTA SWAP + CONTRAST PASS ===================== */
/* nav links: bigger, clearly clickable pills */
.nav{gap:10px;align-items:center}
.nav a{font-size:.98rem!important;font-weight:800;letter-spacing:.05em;padding:9px 18px;border:1.6px solid rgba(43,32,23,.28);border-radius:999px;line-height:1;transition:border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease)}
.nav a:hover{border-color:var(--chili-600);background:rgba(188,53,23,.07);color:var(--chili-600)!important}
.brand-word{font-size:1.6rem!important}
.header-inner{height:74px}
.header-phone{font-size:1.04rem}
/* language switch: always readable on the cream header (was white-on-cream until scroll) */
.lang-switch{border-color:rgba(43,32,23,.32)!important}
.lang-switch a{color:var(--charcoal-900)!important}
.lang-switch a.is-active{background:var(--corn)!important;color:#2c1106!important}
.lang-switch a:not(.is-active):hover{background:rgba(43,32,23,.08)!important}
/* CTA swap: land on the page -> "Tisch reservieren" in the header, no FAB, no newsletter push.
   scroll -> header swaps to Newsletter, red reserve FAB slides in bottom-right. */
.header-cta-news{display:none}
body.pg-scrolled .header-cta-news{display:inline-flex}
body.pg-scrolled .header-cta-resv{display:none}
.resv-fab{opacity:0;pointer-events:none;transform:translateY(14px);transition:opacity .3s var(--ease),transform .3s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease)}
body.pg-scrolled .resv-fab{opacity:1;pointer-events:auto;transform:none}
@media(prefers-reduced-motion:reduce){.resv-fab{transition:background .2s,box-shadow .2s}}

/* menu headings: Cucciolo needs air — fixes the cramped/pixelated read */
.menucard .menu-cat{letter-spacing:.09em!important;font-size:clamp(1.8rem,2.8vw,2.3rem)!important}
.cat-ic{width:48px;height:38px}

/* Lotería card reacts on hover */
.loteria{transition:transform .38s var(--ease),filter .38s var(--ease)}
.loteria-fig:hover .loteria{transform:rotate(0deg) translateY(-10px) scale(1.04);filter:drop-shadow(0 34px 58px rgba(20,8,2,.55))}

/* contact: readable hours + stronger hierarchy */
.contact .address{font-size:1.3rem;line-height:1.45}
.contact .hours{margin:16px 0 24px}
.contact .hours th{color:var(--masa-100)!important;font-size:1.06rem;padding-right:26px}
.contact .hours td{color:rgba(245,236,214,.96)!important;font-size:1.06rem;font-variant-numeric:tabular-nums}
.contact .reserve-line{color:rgba(245,236,214,.94)}

/* ===================== MENU LIVELINESS: brush-script accent + category icons ===================== */
@font-face{font-family:"Yellowtail";src:url("/fonts/yellowtail-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
.script-accent{font-family:"Yellowtail",cursive;color:var(--chili-600);font-size:clamp(1.9rem,3.8vw,2.6rem);line-height:.9;margin:8px 0 4px;display:inline-block;transform:rotate(-3deg)}
.sec-vermilion .script-accent,.sec-dark .script-accent{color:var(--corn)}
.menucard .menu-cat{display:flex;align-items:center;gap:11px}
.cat-ic{width:38px;height:32px;flex:none;filter:drop-shadow(0 2px 3px rgba(60,30,10,.18))}
/* small brush divider under the hook */
.menucard-hook .script-accent{margin-top:2px}

/* ============================================================= */
/* ===============  AUDIT QUICK-WINS (polish pass)  ============= */
/* ============================================================= */

/* #1 BRAND FONT on the whole header/UI (per owner): Cucciolo everywhere, made legible with
   heavy tracking + size so the chunky counters don't collapse. The wordmark stays SVG = razor sharp. */
.nav a,.mobile-nav a,.btn,.eyebrow,.footer-h,.header-phone{font-family:"Cucciolo","Anton",Impact,sans-serif!important}
.nav a,.mobile-nav a{font-weight:400!important;letter-spacing:.085em!important;font-size:1.05rem!important}
.btn{font-weight:400!important;letter-spacing:.07em!important}
.eyebrow{font-weight:400!important;letter-spacing:.17em!important;font-size:1.02rem!important}
.footer-h{font-weight:400!important;letter-spacing:.06em!important;font-size:1.16rem!important}
.header-phone{letter-spacing:.06em!important;font-size:1.06rem}
/* ============================================================= */
/* =========  HEADER REBUILD + OFFICIAL MASCOT + TEXT LIFT  ===== */
/* ============================================================= */

/* GLOBAL TEXT LIFT: raise the rem base so every text step is larger & readable from afar */
html{font-size:17.5px}

/* official mascot next to the SVG wordmark */
.brand{gap:13px;align-items:center}
.brand-mascot{width:56px;height:auto;flex:none;filter:drop-shadow(0 2px 4px rgba(43,32,23,.2));transition:transform .25s var(--ease)}
.brand:hover .brand-mascot{transform:rotate(-6deg) scale(1.07)}
.brand-word{font-size:1.62rem!important}
.header-inner{height:86px;gap:14px}

/* nav pills: white cards on cream, strong border, larger type, flex-perfect centering */
.nav{gap:10px}
.nav a{display:inline-flex;align-items:center;justify-content:center;line-height:1!important;
  font-size:1.08rem!important;letter-spacing:.08em!important;padding:12px 19px 10px!important;
  background:#fff;border:2px solid rgba(43,32,23,.4)!important;border-radius:999px;
  box-shadow:0 2px 0 rgba(43,32,23,.14);transition:border-color .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease),transform .15s var(--ease)}
.nav a:hover{border-color:var(--chili-600)!important;color:var(--chili-600)!important;background:#fff!important;
  box-shadow:0 3px 0 rgba(188,53,23,.28);transform:translateY(-1px)}

/* header phone: larger, flex-centered */
.header-phone{font-size:1.18rem!important;letter-spacing:.05em!important;align-items:center}

/* language switch: rebuilt — true vertical centering, larger, brand font */
.lang-switch{border:2px solid rgba(43,32,23,.4)!important;background:#fff;border-radius:999px;overflow:hidden;height:46px}
.lang-switch a{display:inline-flex!important;align-items:center;justify-content:center;height:100%;padding:0 16px!important;
  font-family:"Cucciolo","Anton",sans-serif!important;font-weight:400!important;font-size:1.04rem!important;letter-spacing:.09em!important;line-height:1!important}

/* primary header CTA: one line, flex-centered, bigger (display untouched — the scroll-swap owns it) */
.btn{line-height:1!important}
.header-cta{white-space:nowrap;flex:none}
.header-cta-resv,.header-cta-news{min-height:52px;padding:4px 24px 2px!important;font-size:1.1rem!important;letter-spacing:.07em!important;align-items:center;justify-content:center}
/* re-assert the CTA swap after the rules above */
.header-cta-news{display:none}
body.pg-scrolled .header-cta-news{display:inline-flex}
body.pg-scrolled .header-cta-resv{display:none}
/* header pieces never get crushed by flex */
.brand,.lang-switch,.header-phone{flex:none}
/* fit at laptop widths: hide the phone link (the red CTA and modal carry the number) */
@media(max-width:1420px){.header-phone{display:none}}

/* floor the smallest text sizes site-wide (readable from a distance) */
.mi-alg{font-size:.82rem!important}
.mi-veg{font-size:.7rem!important}
.pd{font-size:1rem!important}
.menucard-foot .menu-legend-keys{font-size:.96rem}
.menu-legend-note{font-size:.92rem}
.pcat-es{font-size:1.42rem}
.news-micro{font-size:.94rem}
.news-form .consent{font-size:.92rem}
.hero3-trust{font-size:1.04rem}
.hero3-kicker{font-size:.94rem!important}
.fg-card-k{font-size:.8rem}
.fg-card-p{font-size:.94rem}
.resv-addr{font-size:.96rem}
.footer-tag,.footer-fam{font-size:1.02rem}
.footer-col p,.footer-col a{font-size:1.04rem}
.footer-legal p{font-size:.94rem}
.cookie-text{font-size:.96rem}

/* ============================================================= */
/* ======  CRISP AT 1x: hinted rendering + wordmark weight  ===== */
/* ============================================================= */
/* geometricPrecision disables hinting -> on Windows at standard DPI the stems land between
   pixels and every label goes soft. Revert ALL text to hinted, OS-native rasterization. */
body{-webkit-font-smoothing:auto!important;-moz-osx-font-smoothing:auto!important;text-rendering:optimizeLegibility!important}
.nav a,.mobile-nav a,.btn,.eyebrow,.footer-h,.header-phone,.brand-word,.resv-title,.resv-kicker,.lang-switch a,
h1,h2,h3,.section-title,.hero3-title,.news-h,.pcat-title,.fg-name,.menucard .menu-cat,.pcat-es,.script-accent{
  text-rendering:optimizeLegibility!important;-webkit-font-smoothing:auto!important}

/* match the SVG wordmark's ink weight: Cucciolo's thin cut gets a synthetic stroke so
   UI labels read solid/chunky like the logo, and edges rasterize harder (crisper at 1x) */
.nav a,.mobile-nav a,.btn,.lang-switch a,.header-phone,.eyebrow,.footer-h,.resv-kicker{
  -webkit-text-stroke:.03em currentColor;paint-order:stroke fill}

/* pixel-snapped UI type: whole-px sizes + whole-px tracking = stems on the pixel grid */
.nav a{font-size:19px!important;letter-spacing:1.5px!important}
.header-cta-resv,.header-cta-news{font-size:19px!important;letter-spacing:1.3px!important}
.lang-switch a{font-size:18px!important;letter-spacing:1.3px!important}
.header-phone{font-size:20px!important;letter-spacing:1px!important}
.eyebrow{letter-spacing:2px!important}

/* (former geometricPrecision block removed — it disabled hinting and blurred text at 1x on Windows) */

/* ============ SVG LABEL LOCKUPS: identical rendering to the brand wordmark ============ */
.svgl{display:inline-flex;align-items:center;line-height:1}
.svgl .svgl-i{height:.8em;width:auto;display:block;fill:currentColor}
.header-phone .svgl .svgl-i{height:.72em}
/* vector labels need no synthetic stroke */
.nav a,.mobile-nav a,.btn,.lang-switch a,.header-phone{-webkit-text-stroke:0}
/* stroke stays only on the remaining small webfont Cucciolo */
.eyebrow,.footer-h,.resv-kicker{-webkit-text-stroke:.03em currentColor}
/* pills flex-center their vector content — no optical padding hacks needed */
.nav a{padding:0 20px!important;height:47px}
.header-cta-resv,.header-cta-news{padding:0 26px!important}
.lang-switch a{padding:0 15px!important}
.mobile-cta .btn .svgl .svgl-i{height:.85em}
/* ============ LOCKUPS v2: bigger, true-centered, everywhere ============ */
/* tight-box lockups: cap-height sizing (boxes no longer include unused descender space) */
.svgl .svgl-i{height:.72em}
/* larger header UI, per owner */
.site-header .container{max-width:1250px}
.nav a{font-size:21px!important;height:52px;padding:0 22px!important}
.header-cta-resv,.header-cta-news{font-size:21px!important;min-height:56px;padding:0 30px!important}
.lang-switch{height:52px}
.lang-switch a{font-size:19px!important;padding:0 17px!important}
.header-phone{font-size:21px!important}
/* hero + waitlist primary buttons (now vector too) */
.hero3-actions .btn-lg{font-size:23px!important;min-height:64px;padding:0 36px!important}
.news-form .btn-primary{font-size:20px!important}
/* busy state replaces the old textContent swap (svg-safe) */
.btn.is-busy{color:transparent!important;pointer-events:none;position:relative}
.btn.is-busy::after{content:"";position:absolute;inset:0;margin:auto;width:22px;height:22px;border-radius:50%;
  border:3px solid rgba(44,17,6,.3);border-top-color:#2c1106;animation:btnspin .8s linear infinite}
@keyframes btnspin{to{transform:rotate(360deg)}}
/* last small-size webfont Cucciolo -> professionally hinted Barlow (eyebrows, footer heads, modal kicker) */
.eyebrow,.footer-h,.resv-kicker{font-family:"Barlow",system-ui,sans-serif!important;-webkit-text-stroke:0!important;font-weight:800!important}
.eyebrow{letter-spacing:.16em!important;font-size:15px!important}
.footer-h{letter-spacing:.1em!important;font-size:16px!important}
.resv-kicker{letter-spacing:.16em!important;font-size:15px!important}

/* footer brand row: mascot + wordmark */
.footer-brand-row{display:inline-flex;align-items:center;gap:12px;margin-bottom:6px}
.footer-brand-row img{width:52px;height:auto;flex:none}

/* ============================================================= */
/* ============  LAYOUT PASS: no swap, wide, centered  ========== */
/* ============================================================= */
/* reserve CTA is permanent — the swap mechanic is gone; FAB retired */
body.pg-scrolled .header-cta-resv{display:inline-flex!important}
.resv-fab{display:none!important}
/* wider content column (kills the dead side margins) */
:root{--maxw:1280px}
/* menu + gallery section heads: centered, symmetric */
.menu .section-head,.foodgallery .section-head{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}
.menu .section-head .eyebrow,.foodgallery .section-head .eyebrow{justify-content:center}
.menu .section-head .muted{margin-left:auto;margin-right:auto}
/* gallery: never crop a dish — natural image heights in the masonry */
.foodgallery .fg-item{aspect-ratio:auto!important}
.foodgallery .fg-item:nth-child(4n+1),.foodgallery .fg-item:nth-child(4n+3),.foodgallery .fg-item:nth-child(7n+2){aspect-ratio:auto!important}
.foodgallery .fg-item img{width:100%;height:auto!important;object-fit:unset!important;display:block}
/* warum: official full-body mascot instead of the Lotería card */
.mascot-fig{background:transparent!important;box-shadow:none!important;display:grid;place-items:center;padding:0;aspect-ratio:auto;overflow:visible}
.mascot-fig img{width:min(380px,86%);height:auto;filter:drop-shadow(0 26px 48px rgba(20,8,2,.45));transition:transform .35s var(--ease)}
.mascot-fig:hover img{transform:translateY(-10px) scale(1.03)}
@media(max-width:780px){.mascot-fig img{width:min(280px,70%)}}
/* footer: tighter, smaller */
.site-footer .footer-inner{gap:24px;padding-top:36px;padding-bottom:8px}
.footer-col p,.footer-col a{font-size:.92rem!important;line-height:1.5}
.footer-h{font-size:14px!important;margin-bottom:8px!important}
.footer-tag,.footer-fam{font-size:.9rem!important;line-height:1.5}
.footer-brand-row img{width:44px}
.brand-word.footer-brand{font-size:1.35rem!important}
.footer-legal p{font-size:.82rem!important}
.footer-legal{margin-top:6px;padding-bottom:18px}

/* ============================================================= */
/* ==================  MOBILE PASS (≤760px)  =================== */
/* ============================================================= */
/* gallery "+X photos" tile (hidden on desktop) */
.fg-more{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;margin:0 0 14px;
  padding:26px 16px;border:2px dashed rgba(188,53,23,.5);border-radius:16px;background:rgba(188,53,23,.06);
  color:var(--chili-600);cursor:pointer;break-inside:avoid;font-family:"Barlow",sans-serif}
.fg-more-num{font-family:"Cucciolo","Anton",sans-serif;font-size:2rem;line-height:1}
.fg-more-lbl{font-weight:800;font-size:.9rem;letter-spacing:.04em;text-transform:uppercase}
.fg-grid.expanded .fg-more{display:none!important}

@media(max-width:760px){
  /* ~5% global size reduction */
  html{font-size:16.5px}
  /* compact top bar (~64px): mascot + wordmark + DE/EN + burger */
  .header-inner{height:64px;gap:10px}
  .brand{gap:8px}
  .brand-mascot{width:38px}
  .brand-word{font-size:1.12rem!important}
  .lang-switch:not(.lang-switch-m){display:inline-flex!important;height:38px;margin-left:auto;border-width:1.5px!important}
  .lang-switch:not(.lang-switch-m) a{font-size:13px!important;padding:0 11px!important}
  .nav-toggle{margin-left:0}
  .nav-toggle span{background:var(--charcoal-900)!important}
  /* smaller buttons + type */
  .btn{min-height:46px}
  .hero3-actions .btn-lg{font-size:18px!important;min-height:52px;padding:0 24px!important}
  .news-form .btn-primary{font-size:17px!important;min-height:52px}
  .hero3-title{font-size:clamp(2.4rem,11.5vw,3.3rem)}
  .hero3-sub{font-size:1.02rem}
  .section-title{font-size:clamp(1.85rem,8vw,2.5rem)}
  /* FAQ smaller */
  .faq .faq-item summary{font-size:.98rem;padding:15px 6px}
  .faq-item p{font-size:.92rem}
  /* sticky bar: slimmer */
  .mobile-cta{padding:7px 10px calc(7px + env(safe-area-inset-bottom));gap:8px}
  .mobile-cta .btn{min-height:44px;font-size:15px!important}
  /* footer: all columns, compressed */
  .site-footer .footer-inner{gap:14px 18px;padding-top:22px}
  .footer-col p,.footer-col a{font-size:.85rem!important;line-height:1.45}
  .footer-h{font-size:12.5px!important;margin-bottom:5px!important}
  .footer-brand-row img{width:36px}
  .brand-word.footer-brand{font-size:1.15rem!important}
  .footer-tag,.footer-fam{font-size:.82rem!important}
  .footer-legal p{font-size:.72rem!important}
  .footer-legal{margin-top:2px;padding-bottom:10px}
}
@media(max-width:600px){
  /* gallery: 4 photos, then the +X tile; expand in place */
  .foodgallery .fg-item:nth-of-type(n+5){display:none}
  .foodgallery .fg-card{display:none}
  .fg-more{display:flex}
  .foodgallery .fg-grid.expanded .fg-item{display:block!important}
  .foodgallery .fg-grid.expanded .fg-card{display:flex!important}
}
/* ghost button on the dark sticky bar was inheriting charcoal via a later color:currentColor rule */
.mobile-cta .btn-ghost-light{color:#fff!important;border-color:rgba(255,255,255,.55)!important;background:rgba(255,255,255,.1)!important}

/* #2 ONE reserve/call CTA identity = chili-red pill everywhere (header, contact, modal, FAB) */
.header-cta-resv,.resv-fab,.resv-call,.contact .btn-cream,.contact .btn-primary{
  background:var(--chili-600)!important;color:#fff!important;border-color:var(--chili-600)!important;border-radius:999px!important}
.header-cta-resv:hover,.resv-fab:hover,.resv-call:hover,.contact .btn-cream:hover,.contact .btn-primary:hover{
  background:var(--chili-500)!important}

/* #5 reserve/call focus ring: warm espresso instead of teal (teal-on-red read as an error state) */
.header-cta-resv:focus-visible,.resv-fab:focus-visible,.resv-call:focus,.resv-call:focus-visible{
  outline:3px solid #2c1106!important;outline-offset:3px!important}

/* #3 contact heading shares the left axis of its address/hours (was centered over left-aligned content) */
.contact .section-head{text-align:left!important;max-width:none;margin:0 0 clamp(16px,2.4vw,28px)}
.contact .section-head .eyebrow{justify-content:flex-start}

/* #4 FAQ rows get hover feedback (only interactive surface that had none) */
.faq-item summary{border-radius:8px;transition:background .15s var(--ease)}
.faq-item summary:hover{background:rgba(188,53,23,.06)}
.faq-item summary:hover .faq-x::before,.faq-item summary:hover .faq-x::after{background:var(--chili-500)}

/* #8 gallery tiles: warm vignette placeholder so an image mid-load reads as an intentional dark card, not a broken/black hole */
.foodgallery .fg-item{background:radial-gradient(120% 100% at 50% 38%,#2c2018,#14100e)!important}


/* ==================================================================== */
/* =====================  ROUND 3 — DESKTOP + FIRST IMPRESSION  ======== */
/* ==================================================================== */

/* ---- de-centralize: wider column, less vertical scroll ---- */
:root{--maxw:1340px}
.sec,.section{padding-top:clamp(52px,6.5vw,94px);padding-bottom:clamp(52px,6.5vw,94px)}

/* ---- header: brand hard-left, phone gone, lang+CTA pushed right ---- */
.site-header .nav{margin-right:auto}
.header-phone{display:none!important}

/* ---- HERO: fills exactly one screen; two columns (text left, reserve right) ---- */
.hero3{min-height:100vh;min-height:100svh;align-items:center}
.hero3-inner{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(26px,4vw,60px);
  align-items:center;padding-top:clamp(92px,12vh,150px);padding-bottom:clamp(40px,7vh,90px)}
.hero3-main{min-width:0}
.hero3-resv{justify-self:end;width:100%;max-width:400px;background:rgba(24,14,6,.5);backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);border:1.5px solid rgba(245,236,214,.22);border-radius:20px;
  padding:26px 26px 24px;box-shadow:0 28px 64px -18px rgba(0,0,0,.62)}
.hero3-resv-k{font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;letter-spacing:.03em;
  font-size:1.72rem;line-height:1;color:var(--masa-100);margin:0 0 8px}
.hero3-resv-sub{font-family:"Barlow",sans-serif;font-size:.98rem;line-height:1.45;color:rgba(245,236,214,.82);margin:0 0 18px}
.hero3-resv-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;cursor:pointer;
  font-family:"Cucciolo","Anton",sans-serif;text-transform:uppercase;letter-spacing:.03em;font-size:1.26rem;
  background:var(--corn);color:#2c1106;border:0;border-radius:14px;box-shadow:0 14px 30px rgba(0,0,0,.34);
  transition:transform .18s var(--ease),background .18s var(--ease)}
.hero3-resv-btn:hover{background:#ffc637;transform:translateY(-2px)}
.hero3-resv-ic{width:18px;height:18px;flex:none;background:#2c1106;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.6 15.6 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.4c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.3 1z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.6 15.6 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.4c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.3 1z'/%3E%3C/svg%3E") center/contain no-repeat}
.hero3-resv-hours{margin:18px 0 0;padding:16px 0 0;border-top:1px solid rgba(245,236,214,.18);display:grid;gap:7px}
.hero3-resv-hours div{display:flex;justify-content:space-between;font-family:"Barlow",sans-serif;font-size:.95rem;color:rgba(245,236,214,.88)}
.hero3-resv-hours dt{font-weight:700}
.hero3-resv-hours dd{margin:0;font-variant-numeric:tabular-nums;color:rgba(245,236,214,.72)}
@media(max-width:900px){
  .hero3-inner{grid-template-columns:1fr}
  .hero3-resv{display:none}   /* mobile: sticky bar carries the reserve action */
}

/* ---- TEX-MEX (warum): slimmer height, wider spread ---- */
.why{padding-top:clamp(42px,5vw,74px);padding-bottom:clamp(42px,5vw,74px)}
.why .feature-grid{grid-template-columns:.82fr 1.5fr;gap:clamp(30px,5vw,74px);align-items:center}
.why .mascot-fig img{width:min(300px,82%)}
@media(max-width:780px){.why .feature-grid{grid-template-columns:1fr}}

/* ---- section divider: smooth papel triangles (not squished blocks) ---- */
.papel-top::before{height:22px!important;background-size:84px 22px!important;background-position:top center!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='22'%3E%3Cpolygon points='0,0 28,0 14,22' fill='%2315786B'/%3E%3Cpolygon points='28,0 56,0 42,22' fill='%23F4B61E'/%3E%3Cpolygon points='56,0 84,0 70,22' fill='%23D43F1C'/%3E%3C/svg%3E")!important}
.papel-divider{height:16px}

/* ---- FAQ: tighter rows ---- */
.faq .faq-item summary{padding:15px 6px!important}
.faq .faq-item p{padding:0 6px;margin:-2px 0 16px!important}
.faq .faq-list{padding:2px 24px}

/* ---- CONTACT: address up, map big + left, hours+reserve aside ---- */
.contact .contact-grid{grid-template-columns:1.55fr .92fr;align-items:start;gap:clamp(24px,4vw,50px)}
.contact-map-wrap{order:-1}
.contact .map-embed{min-height:480px;border-radius:var(--r-lg);overflow:hidden}
.contact .map-embed .gmap{width:100%;min-height:480px;height:100%;border:0;display:block}
.contact-addr{font-size:1.06rem;line-height:1.4;color:rgba(245,236,214,.9);margin:.45em 0 0}
.contact .contact-side .reserve-line{margin:16px 0 14px;font-size:.98rem}
@media(max-width:860px){
  .contact .contact-grid{grid-template-columns:1fr}
  .contact .map-embed,.contact .map-embed .gmap{min-height:300px}
}

/* ---- NEWSLETTER: real logo instead of N°49 sello; tighter lines ---- */
.newsletter{padding-top:clamp(48px,6vw,86px);padding-bottom:clamp(48px,6vw,86px)}
.news-logo{margin:0 auto 16px;width:96px}
.news-logo img{width:100%;height:auto;display:block;filter:drop-shadow(0 12px 24px rgba(60,25,6,.32))}
.newsletter .news-h{margin:.05em 0 .28em;line-height:1.0}
.newsletter .news-sub{line-height:1.45;margin-bottom:22px}

/* ---- mobile: kill the cut-off header reserve button on scroll ---- */
@media(max-width:760px){
  .header-cta-resv,body.pg-scrolled .header-cta-resv{display:none!important}
}
/* ---- mobile gallery: show 5 photos before the +X tile ---- */
@media(max-width:600px){
  .foodgallery .fg-item:nth-of-type(5){display:block!important}
}


/* ================= ROUND 4 — hover fix + clickable address ================= */
/* mascot hover: remove the rotate that swung the drop-shadow left/right; clean vertical lift */
.why .mascot-fig img,.mascot-fig img{filter:drop-shadow(0 20px 26px rgba(20,8,2,.4));
  transition:transform .35s var(--ease),filter .35s var(--ease);will-change:transform;
  transform-origin:bottom center;backface-visibility:hidden}
.why .mascot-fig:hover img,.mascot-fig:hover img{transform:translateY(-9px) scale(1.025);
  filter:drop-shadow(0 32px 40px rgba(20,8,2,.46))}
@media(prefers-reduced-motion:reduce){.why .mascot-fig:hover img,.mascot-fig:hover img{transform:none}}

/* clickable address -> Google Maps */
.addr-link{color:inherit;text-decoration:none;transition:color .18s var(--ease);cursor:pointer}
.addr-link:hover{color:var(--corn);text-decoration:underline;text-underline-offset:3px}
.contact-addr .addr-link{color:inherit}


/* ================= ROUND 5 — fill the width (header + hero to the edges) ================= */
/* header: brand toward the left edge, DE/EN + CTA toward the right edge */
.site-header .header-inner{max-width:min(1920px,100%)!important;
  padding-left:clamp(26px,4.6vw,96px)!important;padding-right:clamp(26px,4.6vw,96px)!important}
/* hero: stretch the whole block wider — text further left, reserve card further right */
.hero3-inner{max-width:min(1920px,100%)!important;
  padding-left:clamp(26px,4.6vw,96px)!important;padding-right:clamp(26px,4.6vw,96px)!important}
/* general de-centralize: content sections a touch wider too */
:root{--maxw:1520px}
@media(max-width:760px){
  .site-header .header-inner,.hero3-inner{padding-left:18px!important;padding-right:18px!important}
}


/* ================= ROUND 6 — shadow, spacing, gallery 7+tile, links ================= */
/* remove the ugly drop-shadow under the papel-picado divider */
.papel-top::before{box-shadow:none!important}

/* less vertical space between sections */
.sec,.section{padding-top:clamp(38px,4.6vw,66px)!important;padding-bottom:clamp(38px,4.6vw,66px)!important}

/* gallery: 7 real photos + "+X Fotos" tile, all breakpoints; orange card removed */
.foodgallery .fg-item{display:block!important}
.foodgallery .fg-item:nth-of-type(n+8){display:none!important}
.foodgallery .fg-grid.expanded .fg-item{display:block!important}
.fg-more{display:flex!important}
.foodgallery .fg-grid.expanded .fg-more{display:none!important}

/* reservation-modal address: clickable Google Maps link */
.resv-addr .addr-link{color:var(--primary,#bc3517);text-decoration:underline;text-underline-offset:2px;font-weight:700}
.resv-addr .addr-link:hover{color:var(--chili-600,#a12d13)}

/* hero "Pizzeria Crocodiles" -> sister restaurant */
.croc-link{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;
  text-decoration-color:rgba(244,182,30,.55);transition:color .18s var(--ease),text-decoration-color .18s var(--ease)}
.croc-link:hover{color:var(--corn);text-decoration-color:var(--corn)}
.croc-link strong{color:inherit}


/* ================= ROUND 7 — premium uniform gallery grid ================= */
.foodgallery .fg-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;
  column-count:auto!important;gap:clamp(12px,1.2vw,18px)!important;align-items:stretch}
/* uniform cells at the photos' native 10:9 ratio -> zero crop, all tiles identical */
.foodgallery .fg-item,.foodgallery .fg-more{margin:0!important;aspect-ratio:1400/1260!important;
  width:auto!important;height:auto!important;break-inside:auto!important}
.foodgallery .fg-item{border-radius:16px;overflow:hidden;box-shadow:0 14px 34px -10px rgba(30,15,6,.34)}
.foodgallery .fg-item img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}
/* +7 tile: same-size premium continuation tile (dark, matches the photo tiles) */
.foodgallery .fg-more{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  border:0;border-radius:16px;cursor:pointer;padding:0;
  background:linear-gradient(150deg,#2c1106 0%,#43210d 100%);
  box-shadow:0 14px 34px -10px rgba(30,15,6,.34),inset 0 0 0 1.5px rgba(244,182,30,.28);
  transition:transform .22s var(--ease),box-shadow .22s var(--ease)}
.foodgallery .fg-more:hover{transform:translateY(-4px);
  box-shadow:0 24px 50px -12px rgba(30,15,6,.5),inset 0 0 0 1.5px rgba(244,182,30,.55)}
.fg-more-cam{width:30px;height:30px;flex:none;opacity:.9;background:var(--corn);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3l-1.2 2H4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.8L15 3H9zm3 5.5a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 2a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3l-1.2 2H4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-3.8L15 3H9zm3 5.5a4.5 4.5 0 1 1 0 9 4.5 4.5 0 0 1 0-9zm0 2a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z'/%3E%3C/svg%3E") center/contain no-repeat}
.foodgallery .fg-more-num{font-family:"Cucciolo","Anton",sans-serif;font-size:clamp(2rem,2.6vw,2.9rem);line-height:1;color:var(--corn)}
.foodgallery .fg-more-lbl{font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,236,214,.9)}
/* keep 7 shown + expand-to-all */
.foodgallery .fg-item:nth-of-type(n+8){display:none!important}
.foodgallery .fg-grid.expanded .fg-item{display:block!important}
.foodgallery .fg-grid.expanded .fg-more{display:none!important}
@media(max-width:980px){.foodgallery .fg-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:600px){.foodgallery .fg-grid{grid-template-columns:repeat(2,1fr)!important;gap:10px!important}
  .foodgallery .fg-more-num{font-size:2rem}}


/* ================= ROUND 8 — mobile overflow fix + first-frame polish ================= */
/* global safety: media never pushes the page wider than the screen */
img,iframe,video{max-width:100%}
/* CONTACT: single 1fr column was stretched past the viewport by the map iframe + Anrufen lockup -> clipped text */
@media(max-width:860px){
  .contact .contact-grid{grid-template-columns:minmax(0,1fr)!important}
  .contact .contact-grid > *{min-width:0!important;max-width:100%}
  .contact .map-embed{max-width:100%;overflow:hidden}
  .contact .map-embed .gmap{width:100%!important;max-width:100%!important;height:300px;min-height:300px}
  .contact .contact-info .btn{max-width:100%}
  .contact .contact-info .btn .svgl-i{max-width:100%;height:auto}
  .contact .reserve-line{overflow-wrap:anywhere}
}


/* round-8b: mobile hero — less dense, clears the sticky bar */
@media(max-width:760px){
  .hero3-inner{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .hero3-sub{font-size:1.05rem;line-height:1.5}
  .hero3-kicker{font-size:.8rem!important;letter-spacing:.12em!important}
}

/* round-8c: trim oversized why-mascot on phones so content comes up sooner */
@media(max-width:600px){.why .mascot-fig img{width:min(240px,64%)!important}}
