:root{
  --cream:#f5e7bd;
  --corn:#efb734;
  --red:#b82417;
  --green:#406e61;
  --aqua:#50a6a7;
  --ink:#1b211f;
  --paper:#fff9e8;
  --line:rgba(27,33,31,.17);
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif} a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.top-strip{height:8px;background:repeating-linear-gradient(90deg,var(--red) 0 70px,var(--corn) 70px 140px,var(--green) 140px 210px,var(--aqua) 210px 280px)}
.site-header{height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:10px clamp(20px,4vw,64px);border-bottom:1px solid var(--line);position:relative;z-index:30;background:rgba(255,249,232,.94);backdrop-filter:blur(14px)}
.brand img{width:132px;height:76px;object-fit:contain}.desktop-nav{display:flex;gap:38px;font-weight:700;font-size:14px;letter-spacing:.03em}.desktop-nav a,.text-link{position:relative}.desktop-nav a:after,.text-link:after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--red);transition:.25s}.desktop-nav a:hover:after,.text-link:hover:after{right:0}.header-actions{justify-self:end;display:flex;align-items:center;gap:18px}.lang-toggle{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.lang{border:0;background:none;padding:4px;cursor:pointer;opacity:.4;font:inherit}.lang.active{opacity:1;color:var(--red)}
.pill-button,.primary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:800;transition:.2s}.pill-button{background:var(--ink);color:#fff;padding:12px 19px;font-size:13px}.pill-button:hover{transform:translateY(-2px)}.menu-button{display:none;border:1px solid var(--ink);background:transparent;border-radius:50%;width:42px;height:42px;font-size:18px}.mobile-menu{display:none}
.hero{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border-bottom:1px solid var(--line)}.hero-copy{padding:110px clamp(28px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.eyebrow,.kicker{font-size:12px;letter-spacing:.17em;font-weight:800;color:var(--red)}.hero h1,.section h2,.story-copy h2,.visit-card h2{font-family:"Bebas Neue",Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em;line-height:.88;margin:16px 0}.hero h1{font-size:clamp(68px,8.4vw,130px)}.hero h1 span{color:var(--red)}.hero-copy>p{max-width:650px;font-size:18px;line-height:1.7;color:#47504d}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:24px}.primary-button{background:var(--red);color:#fff;padding:17px 24px}.primary-button:hover{transform:translateY(-3px);box-shadow:0 8px 0 rgba(27,33,31,.13)}.text-link{font-weight:800;font-size:14px}
.hero-art{position:relative;display:grid;place-items:center;background:var(--corn);min-height:680px;overflow:hidden}.sunburst{position:absolute;width:950px;height:950px;background:repeating-conic-gradient(from 5deg,rgba(255,255,255,.18) 0 7deg,transparent 7deg 16deg);border-radius:50%}.hero-logo{width:min(82%,590px);position:relative;z-index:3;transform:rotate(-2deg);box-shadow:0 24px 70px rgba(77,35,14,.25);border:5px solid rgba(255,255,255,.45);border-radius:6px}.stamp{position:absolute;z-index:4;border:2px solid var(--ink);border-radius:50%;width:90px;height:90px;display:grid;place-items:center;font-family:"Bebas Neue";font-size:28px;transform:rotate(-10deg);background:var(--paper)}.stamp-one{top:60px;right:58px}.stamp-two{bottom:52px;left:42px;background:var(--green);color:white;border-color:white;font-size:18px}.squiggle{position:absolute;width:180px;height:70px;border-top:7px solid var(--red);border-radius:50%;bottom:55px;right:30px;transform:rotate(-14deg)}
.ticker{overflow:hidden;background:var(--ink);color:var(--paper);padding:17px 0}.ticker-track{display:flex;align-items:center;gap:28px;width:max-content;animation:ticker 28s linear infinite;font-family:"Bebas Neue";letter-spacing:.09em;font-size:24px}.ticker-track i{color:var(--corn);font-style:normal}@keyframes ticker{to{transform:translateX(-50%)}}
.section{padding:110px clamp(24px,6vw,100px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:52px}.section-heading h2,.story-copy h2,.visit-card h2{font-size:clamp(58px,6.5vw,100px)}.section-heading p{max-width:470px;line-height:1.7;color:#59615f}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.menu-card{min-height:300px;padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;justify-content:flex-end;background:rgba(255,255,255,.24);transition:.25s}.menu-card:hover{background:#fff3cf;transform:translateY(-4px)}.menu-card .number{position:absolute;top:28px;right:28px;font-family:"Bebas Neue";font-size:28px;color:var(--red)}.menu-card h3{font-family:"Bebas Neue";font-size:38px;line-height:1;margin:0 0 12px}.menu-card p{margin:0;color:#5d6663;line-height:1.55;max-width:300px}.tag{position:absolute;top:28px;left:28px;font-size:10px;font-weight:800;letter-spacing:.12em;background:var(--corn);padding:7px 9px;border-radius:3px}.special-card{background:var(--red);color:white;justify-content:space-between;flex-direction:row;align-items:end}.special-card:hover{background:#a51d12}.special-card p{color:#ffe6d8}.special-card .kicker{color:var(--corn)}.special-card>a{font-size:56px;line-height:1}

.gallery-section{background:#fffaf0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.food-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:230px;gap:14px}
.food-photo{margin:0;overflow:hidden;border-radius:18px;background:var(--cream);position:relative;box-shadow:0 12px 30px rgba(27,33,31,.08)}
.food-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.food-photo:hover img{transform:scale(1.035)}
.food-photo.feature{grid-column:span 2;grid-row:span 2}
.food-photo.tall{grid-row:span 2}
.food-photo.wide{grid-column:span 2}

.split-section{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--green);color:#fff}.pattern-panel{position:relative;overflow:hidden;background-color:var(--aqua);background-image:radial-gradient(circle at 15px 15px,rgba(255,255,255,.16) 2px,transparent 3px);background-size:30px 30px;display:grid;place-items:center}.iggy-word{font-family:"Bebas Neue";font-size:clamp(100px,12vw,190px);color:var(--red);transform:rotate(-8deg);text-shadow:8px 8px 0 var(--corn)}.mini-badge{position:absolute;right:35px;bottom:35px;border:2px solid white;padding:12px;border-radius:50%;font-size:12px;font-weight:800;transform:rotate(8deg)}.story-copy{padding:90px clamp(36px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.story-copy .kicker{color:var(--corn)}.story-copy p{font-size:18px;line-height:1.75;max-width:560px;color:#e2ece8}.text-link.dark:after{background:var(--corn)}
.quote-section{padding:100px clamp(24px,8vw,130px);text-align:center;background:var(--cream);position:relative}.quote-mark{font-family:Georgia;font-size:120px;line-height:.5;color:var(--red)}.quote-section p{font-family:"Bebas Neue";font-size:clamp(46px,5.6vw,86px);line-height:1;max-width:1000px;margin:20px auto;color:var(--ink)}.quote-section span{font-weight:700;color:#626966}
.visit-section{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.visit-card{background:var(--red);color:white;padding:90px clamp(30px,7vw,100px);display:flex;flex-direction:column;justify-content:center}.visit-card .kicker{color:var(--corn)}.visit-card h2{max-width:600px}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:28px 0 36px;padding-top:28px;border-top:1px solid rgba(255,255,255,.28)}.visit-details span{display:block;font-size:11px;letter-spacing:.13em;font-weight:800;color:#ffc67e;margin-bottom:8px}.visit-details strong{font-size:17px;line-height:1.5}.visit-actions{display:flex;gap:12px;flex-wrap:wrap}.primary-button.light{background:var(--paper);color:var(--red)}.outline-button{border:1px solid rgba(255,255,255,.8);padding:16px 23px}.map-card{position:relative;overflow:hidden;background:#efd986}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(27,33,31,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(27,33,31,.08) 1px,transparent 1px);background-size:42px 42px;transform:rotate(4deg) scale(1.2)}.map-road{position:absolute;background:#fff4c7;border:2px solid rgba(27,33,31,.17);height:58px;width:130%;left:-15%}.road-one{top:24%;transform:rotate(9deg)}.road-two{top:57%;transform:rotate(-13deg)}.road-three{width:58px;height:130%;left:61%;top:-15%;transform:rotate(5deg)}.map-pin{position:absolute;left:52%;top:46%;width:74px;height:74px;border-radius:50% 50% 50% 0;background:var(--red);transform:rotate(-45deg);display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.2)}.map-pin span{transform:rotate(45deg);font-size:30px;color:var(--corn)}.map-label{position:absolute;left:30px;bottom:30px;background:var(--paper);padding:15px 18px;border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}.map-label strong,.map-label span{display:block}.map-label strong{font-family:"Bebas Neue";font-size:24px}.map-label span{font-size:12px}.map-card{display:block;color:var(--ink);text-decoration:none;cursor:pointer}.map-card:focus-visible{outline:5px solid var(--aqua);outline-offset:-5px}.map-card::after{content:"";position:absolute;inset:0;background:rgba(255,255,255,0);transition:background .2s ease;pointer-events:none}.map-card:hover::after{background:rgba(255,255,255,.05)}.map-road{display:flex;align-items:center;justify-content:center}.road-name{font-family:"DM Sans",sans-serif;font-size:11px;font-weight:900;letter-spacing:.14em;color:rgba(27,33,31,.62);white-space:nowrap}.road-name-three{transform:rotate(90deg)}.map-label em{display:block;margin-top:8px;font-style:normal;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--red)}
footer{padding:32px clamp(24px,4vw,64px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line);font-size:12px;color:#5d6663}footer img{width:104px;height:64px;object-fit:contain}footer p{text-align:center}footer>a{justify-self:end;font-weight:700;color:var(--ink)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}
@media(max-width:980px){.food-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:220px}.food-photo.feature{grid-column:span 2}.food-photo.wide{grid-column:span 2}.site-header{grid-template-columns:1fr auto}.desktop-nav,.desktop-call{display:none}.menu-button{display:block}.header-actions{gap:10px}.hero{grid-template-columns:1fr}.hero-copy{padding-top:80px;padding-bottom:70px}.hero-art{min-height:520px}.menu-grid{grid-template-columns:1fr 1fr}.split-section,.visit-section{grid-template-columns:1fr}.pattern-panel{min-height:460px}.mobile-menu{position:absolute;left:0;right:0;top:104px;background:var(--paper);z-index:25;padding:24px;flex-direction:column;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.08)}.mobile-menu.open{display:flex}.mobile-menu a{padding:14px 0;font-weight:800;border-bottom:1px solid var(--line)}}
@media(max-width:650px){.food-gallery{grid-template-columns:1fr;grid-auto-rows:260px;gap:10px}.food-photo.feature,.food-photo.wide,.food-photo.tall{grid-column:span 1;grid-row:span 1}.brand img{width:104px;height:62px}.site-header{height:82px;padding:7px 18px}.brand img{width:92px;height:60px}.mobile-menu{top:90px}.hero-copy{padding:66px 24px}.hero-copy>p{font-size:16px}.hero h1{font-size:64px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-art{min-height:400px}.stamp{width:72px;height:72px}.stamp-two{left:16px;bottom:24px}.section{padding:76px 20px}.section-heading{align-items:flex-start;flex-direction:column;gap:5px}.section-heading h2,.story-copy h2,.visit-card h2{font-size:64px}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:250px}.story-copy,.visit-card{padding:72px 24px}.iggy-word{font-size:94px}.quote-section{padding:78px 20px}.visit-details{grid-template-columns:1fr}.map-card{min-height:470px}footer{grid-template-columns:1fr;gap:18px;text-align:center}footer img{margin:auto}footer>a{justify-self:center}footer p{margin:0}.lang-toggle{font-size:11px}}

/* La Iguanita motif system — approved transparent artwork */
.motif{position:absolute;pointer-events:none;user-select:none;z-index:0}
.hero-copy,.section-heading,.menu-grid,.food-gallery,.story-copy>*:not(.motif),.quote-section>*:not(.motif),.visit-card>*:not(.motif){position:relative;z-index:2}
.hero-art .hero-logo,.hero-art .stamp,.hero-art .squiggle{z-index:4}

.menu-section{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--paper),#fff8e6)}
.menu-plant{width:min(440px,32vw);right:-7%;top:18px;opacity:.075;transform:rotate(-7deg)}
.motif-divider{height:68px;overflow:hidden;background:#fff7e3;display:flex;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.motif-divider img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.92}
.gallery-section{position:relative;overflow:hidden}
.gallery-agave{width:min(760px,52vw);left:-12%;bottom:-145px;opacity:.055}
.pattern-panel{background:#f1b735;background-image:radial-gradient(circle at 15px 15px,rgba(255,255,255,.18) 2px,transparent 3px)}
.story-iguana-color{width:min(88%,700px);filter:drop-shadow(12px 16px 0 rgba(255,249,232,.22));transform:rotate(-4deg);position:relative;z-index:2}
.story-copy{position:relative;overflow:hidden;background:#315e52}
.story-iguana-subtle{width:min(720px,92%);right:-26%;bottom:-4%;opacity:.09;transform:none}
.quote-section{overflow:hidden}
.quote-agave{width:min(780px,60vw);left:50%;bottom:-285px;transform:translateX(-50%);opacity:.07}
.visit-card{position:relative;overflow:hidden;background:#b82417}
.visit-plant{width:min(520px,46vw);right:-15%;bottom:-12%;opacity:.09;filter:brightness(0) invert(1)}
footer{position:relative;background:#fff9e8}
@media(max-width:980px){
  
  .menu-plant{width:45vw;right:-13%;top:30px}.gallery-agave{width:70vw;left:-22%;bottom:-120px}
  .story-iguana-color{width:min(78%,620px)}.story-iguana-subtle{width:72%;right:-18%;bottom:0;transform:none}.visit-plant{width:55%;right:-15%}
}
@media(max-width:650px){
  
  .motif-divider{height:48px}.motif-divider img{width:145%;max-width:none;margin-left:-22.5%}
  .menu-plant{width:72vw;right:-34%;top:55px;opacity:.055}.gallery-agave{width:100vw;left:-40%;bottom:-70px;opacity:.045}
  .pattern-panel{min-height:430px}.story-iguana-color{width:96%;max-width:520px;transform:rotate(-3deg)}
  .story-iguana-subtle{width:96%;right:-48%;bottom:5%;opacity:.065;transform:none}.quote-agave{width:115vw;max-width:none;bottom:-190px;opacity:.055}
  .visit-plant{width:88%;right:-38%;bottom:-5%;opacity:.07}
}
/* Full menu — La Iguanita market-board treatment */
.menu-heading{margin-bottom:34px}.menu-shell{position:relative;z-index:2;border:1px solid var(--ink);background:var(--ink);box-shadow:12px 12px 0 var(--corn)}
.menu-tabs{display:grid;grid-template-columns:repeat(6,1fr);background:var(--ink);padding:8px;gap:6px}.menu-tab{border:0;background:transparent;color:var(--paper);font:800 12px "DM Sans",sans-serif;letter-spacing:.09em;text-transform:uppercase;padding:15px 10px;cursor:pointer;border-radius:2px;transition:.2s}.menu-tab:hover{background:rgba(255,255,255,.1)}.menu-tab.active{background:var(--corn);color:var(--ink)}
.menu-board{background:#fff5d9;position:relative;overflow:hidden}.menu-board:after{content:"";position:absolute;width:330px;height:330px;border:80px solid rgba(184,36,23,.035);border-radius:50%;right:-150px;bottom:-170px;pointer-events:none}.menu-board-top{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(27,33,31,.25);font-size:10px;font-weight:900;letter-spacing:.16em}.menu-board-label{color:var(--red)}.menu-board-mark{color:var(--green)}
.menu-panel{display:none;padding:38px 42px 44px;min-height:390px}.menu-panel.active{display:block;animation:menuIn .28s ease}@keyframes menuIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.menu-category-title{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:18px;padding-bottom:22px;border-bottom:4px solid var(--ink);margin-bottom:4px}.menu-category-title span{font-family:"Bebas Neue";font-size:28px;color:var(--red)}.menu-category-title h3{font-family:"Bebas Neue";font-size:clamp(48px,5vw,76px);line-height:.8;text-transform:uppercase;margin:0}.menu-category-title em{font-size:10px;letter-spacing:.14em;font-style:normal;font-weight:900;color:var(--green)}
.menu-items{display:grid;grid-template-columns:1fr 1fr}.menu-items>div{display:flex;align-items:center;gap:14px;padding:20px 4px;border-bottom:1px dashed rgba(27,33,31,.3)}.menu-items>div:nth-child(odd){padding-right:28px;border-right:1px solid rgba(27,33,31,.15)}.menu-items>div:nth-child(even){padding-left:28px}.menu-items b{font-size:16px;text-transform:uppercase;letter-spacing:.035em}.menu-items b:after{content:"";display:inline-block}.menu-items strong{margin-left:auto;font-family:"Bebas Neue";font-size:25px;color:var(--red);font-weight:400;white-space:nowrap}.menu-foot{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--green);color:#fff;padding:18px 24px;font-size:11px;letter-spacing:.035em}.menu-foot span{opacity:.86}.menu-foot a{font-weight:900;white-space:nowrap;color:var(--corn);letter-spacing:.1em}
@media(max-width:980px){.menu-tabs{grid-template-columns:repeat(3,1fr)}.menu-items{grid-template-columns:1fr}.menu-items>div:nth-child(odd),.menu-items>div:nth-child(even){padding-left:4px;padding-right:4px;border-right:0}.menu-panel{min-height:0}}
@media(max-width:650px){.menu-shell{box-shadow:7px 7px 0 var(--corn)}.menu-tabs{display:flex;overflow-x:auto;scrollbar-width:none;padding:7px}.menu-tabs::-webkit-scrollbar{display:none}.menu-tab{flex:0 0 auto;padding:13px 17px}.menu-panel{padding:28px 20px 32px}.menu-category-title{grid-template-columns:auto 1fr;gap:12px}.menu-category-title em{display:none}.menu-category-title h3{font-size:52px}.menu-items>div{padding:17px 2px}.menu-items b{font-size:14px}.menu-items strong{font-size:23px}.menu-board-top{padding:14px 18px}.menu-board-mark{display:none}.menu-foot{align-items:flex-start;flex-direction:column;gap:12px;padding:18px}.menu-foot a{font-size:12px}}


/* Pending mobile hero cleanup */
@media(max-width:650px){.hero-art{padding-bottom:74px}.hero-logo{width:86%;margin-top:-18px}.stamp-two{left:18px;bottom:12px;z-index:5}.squiggle{width:130px;height:48px;right:12px;bottom:10px;border-top-width:5px;z-index:4}}

/* Click-to-expand kitchen gallery */
.food-photo{cursor:zoom-in}.food-photo:focus-visible{outline:4px solid var(--corn);outline-offset:4px}.gallery-lightbox{position:fixed;inset:0;background:rgba(15,19,18,.94);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.2s;padding:40px 80px}.gallery-lightbox.open{opacity:1;visibility:visible}.lightbox-image{max-width:min(1100px,90vw);max-height:86vh;object-fit:contain;box-shadow:0 18px 70px rgba(0,0,0,.4)}.lightbox-close,.lightbox-nav{position:absolute;border:0;background:var(--paper);color:var(--ink);cursor:pointer;display:grid;place-items:center}.lightbox-close{right:24px;top:20px;width:48px;height:48px;border-radius:50%;font-size:34px}.lightbox-nav{top:50%;transform:translateY(-50%);width:52px;height:70px;font-size:48px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-count{position:absolute;bottom:18px;color:#fff;font-weight:800;letter-spacing:.12em;font-size:12px}.lightbox-open{overflow:hidden}@media(max-width:650px){.gallery-lightbox{padding:65px 16px}.lightbox-image{max-width:100%;max-height:78vh}.lightbox-nav{top:auto;bottom:18px;width:48px;height:48px;border-radius:50%;font-size:38px}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-count{bottom:34px}.lightbox-close{right:14px;top:14px}}

/* Reviews */
.reviews-section{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.reviews-section:before{content:"";position:absolute;width:520px;height:520px;border:110px solid rgba(239,183,52,.055);border-radius:50%;right:-260px;top:-260px}.reviews-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:52px;position:relative;z-index:2}.reviews-head .kicker{color:var(--corn)}.reviews-head h2{font-size:clamp(58px,6.5vw,100px);max-width:760px;margin-bottom:0}.review-score{text-align:right;display:grid;justify-items:end}.review-score strong{font-family:"Bebas Neue";font-size:76px;line-height:.8;color:var(--corn);font-weight:400}.review-score span,.review-stars{color:var(--corn);letter-spacing:.16em}.review-score small{margin-top:7px;color:#aeb8b4}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18);position:relative;z-index:2}.review-card{min-height:310px;padding:36px;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.review-card p{font-family:"Bebas Neue";font-size:32px;line-height:1.12;margin:38px 0 30px}.review-card small{margin-top:auto;color:#aeb8b4;font-weight:700}.featured-review{background:var(--red)}.featured-review small{color:#ffd9cc}.reviews-link{display:inline-block;margin-top:30px;color:var(--corn);font-weight:900;font-size:12px;letter-spacing:.12em;position:relative;z-index:2}@media(max-width:800px){.reviews-head{align-items:flex-start;flex-direction:column}.review-score{text-align:left;justify-items:start}.review-grid{grid-template-columns:1fr}.review-card{min-height:240px}}

/* Source-linked editorial review */
.review-source-link{display:block;color:inherit;text-decoration:none}.review-source-link:hover{transform:translateY(-3px)}.review-source-link:focus-visible{outline:4px solid var(--aqua);outline-offset:4px}

/* 2026 poster hero — intentionally unique to La Iguanita */
.hero.hero-poster{min-height:760px;display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;background:var(--corn);border-bottom:1px solid var(--ink);padding:32px clamp(24px,4.5vw,72px) 34px}
.poster-burst{position:absolute;z-index:-2;inset:-35%;background:repeating-conic-gradient(from 2deg at 50% 47%,rgba(255,255,255,.22) 0 7deg,transparent 7deg 16deg)}
.hero-poster:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(255,249,232,.08),transparent 28%,rgba(184,36,23,.045))}
.poster-topline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:12px 4px;font-size:11px;font-weight:900;letter-spacing:.17em;color:var(--ink)}
.poster-topline span:last-child{text-align:right}.poster-star{color:var(--red);font-size:17px}
.poster-stage{flex:1;min-height:540px;display:grid;place-items:center;position:relative;padding:34px 0 24px}
.poster-logo{width:min(66vw,760px);position:relative;z-index:3;transform:rotate(-2.2deg);filter:drop-shadow(12px 15px 0 rgba(255,249,232,.58)) drop-shadow(0 20px 35px rgba(79,45,11,.16))}
.poster-sticker{position:absolute;z-index:5;left:10%;bottom:10%;width:106px;height:106px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;border:4px solid var(--paper);font-family:"Bebas Neue";font-size:25px;letter-spacing:.04em;transform:rotate(-9deg);box-shadow:5px 6px 0 rgba(27,33,31,.18)}
.poster-note{position:absolute;z-index:4;font-family:"Bebas Neue";color:var(--red);font-size:clamp(32px,4vw,58px);letter-spacing:.025em;transform:rotate(-8deg)}.poster-note-left{left:4%;top:22%}
.poster-swoop{position:absolute;z-index:4;width:240px;height:92px;border-top:9px solid var(--red);border-radius:50%;right:7%;bottom:12%;transform:rotate(-13deg)}
.poster-bottom{display:grid;grid-template-columns:1fr auto;gap:18px 30px;align-items:center;border-top:2px solid var(--ink);padding-top:20px}
.poster-foodline{display:flex;align-items:center;gap:14px;font-family:"Bebas Neue";font-size:clamp(22px,2vw,30px);letter-spacing:.07em;white-space:nowrap}.poster-foodline i{font-style:normal;color:var(--red);font-size:15px}
.poster-actions{display:flex;align-items:center;gap:10px}.poster-call,.poster-directions{font-size:12px;font-weight:900;letter-spacing:.08em;padding:14px 18px;border:2px solid var(--ink);transition:.2s}.poster-call{background:var(--red);border-color:var(--red);color:#fff;box-shadow:5px 5px 0 var(--ink)}.poster-directions{background:var(--paper)}.poster-call:hover,.poster-directions:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.poster-address{grid-column:1/-1;text-align:center;font-size:11px;font-weight:900;letter-spacing:.16em;padding-top:14px;border-top:1px solid rgba(27,33,31,.35)}
@media(max-width:980px){.hero.hero-poster{min-height:700px}.poster-stage{min-height:480px}.poster-logo{width:min(82vw,700px)}.poster-note-left{left:0;top:15%}.poster-sticker{left:3%;bottom:8%}.poster-swoop{right:0}.poster-bottom{grid-template-columns:1fr}.poster-actions{justify-content:center}.poster-foodline{justify-content:center;flex-wrap:wrap;white-space:normal}}
@media(max-width:650px){.hero.hero-poster{min-height:auto;padding:18px 16px 22px}.poster-topline{font-size:9px;letter-spacing:.11em}.poster-stage{min-height:430px;padding:50px 0 44px}.poster-logo{width:94%;transform:rotate(-2deg);filter:drop-shadow(7px 9px 0 rgba(255,249,232,.58))}.poster-note-left{left:1%;top:7%;font-size:32px;transform:rotate(-6deg)}.poster-sticker{width:76px;height:76px;left:0;bottom:6%;font-size:19px;border-width:3px}.poster-swoop{width:115px;height:48px;right:-5px;bottom:8%;border-top-width:5px}.poster-bottom{gap:16px;padding-top:16px}.poster-foodline{gap:8px 10px;font-size:21px;line-height:1}.poster-foodline i{font-size:10px}.poster-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.poster-call,.poster-directions{text-align:center;padding:13px 8px;font-size:10px;letter-spacing:.04em}.poster-call{box-shadow:4px 4px 0 var(--ink)}.poster-address{font-size:9px;letter-spacing:.11em;padding-top:12px}}

/* Hero cleanup: let the restaurant sign carry the composition */
.poster-note,.poster-sticker,.poster-swoop{display:none!important}
@media(max-width:650px){.poster-foodline{width:100%;justify-content:center;text-align:center;margin-inline:auto}}

/* Center poster food highlights across desktop and mobile */
.poster-foodline{width:100%;justify-content:center;text-align:center;margin-inline:auto}
@media(min-width:981px){.poster-bottom{grid-template-columns:1fr auto 1fr}.poster-foodline{grid-column:1/-1;grid-row:1}.poster-actions{grid-column:3;grid-row:2;justify-self:end}.poster-address{grid-column:1/-1;grid-row:3}}

/* Desktop hero polish: eliminate the conic-gradient wrap seam and give the logo backing breathing room above the divider. */
.poster-burst{background:repeating-conic-gradient(from 2deg at 50% 47%,rgba(255,255,255,.22) 0 7deg,transparent 7deg 15deg)}
@media(min-width:981px){.poster-bottom{margin-top:20px}}

/* La Iguanita mascot walk cycle */
.hero-iguana-walk{
  position:absolute;
  z-index:2;
  left:-22vw;
  bottom:3%;
  width:clamp(150px,15vw,250px);
  pointer-events:none;
  will-change:transform;
  animation:iguana-crossing 19s linear infinite;
}
.hero-iguana-frame{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 8px 5px rgba(27,33,31,.12));
  transform-origin:50% 80%;
  animation:iguana-bob .44s ease-in-out infinite alternate;
}
@keyframes iguana-crossing{
  0%,8%{transform:translateX(0)}
  92%,100%{transform:translateX(144vw)}
}
@keyframes iguana-bob{from{transform:translateY(0) rotate(-.4deg)}to{transform:translateY(-3px) rotate(.4deg)}}
@media(max-width:650px){
  .hero-iguana-walk{width:128px;left:-150px;bottom:2%;animation-duration:16s}
  @keyframes iguana-crossing{0%,8%{transform:translateX(0)}92%,100%{transform:translateX(calc(100vw + 300px))}}
}
@media(prefers-reduced-motion:reduce){.hero-iguana-walk{display:none}.hero-iguana-frame{animation:none}}


/* Turquoise mascot peek — tucked behind the right edge of the restaurant sign.
   Desktop and mobile use separate positioning so the mascot stays attached to the sign. */
.hero-iguana-peek{
  position:absolute;
  z-index:2;
  width:clamp(220px,18vw,300px);
  left:calc(50% + min(24vw,315px));
  top:47%;
  transform:translate(0,-50%);
  pointer-events:none;
  opacity:0;
  transition:opacity .16s ease;
}
.hero-iguana-peek.is-peeking{opacity:1}
.hero-iguana-peek-frame{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 5px rgba(27,33,31,.12))}
@media(max-width:980px){
  .hero-iguana-peek{width:clamp(190px,28vw,245px);left:75%;top:47%;transform:translate(0,-50%)}
}
@media(max-width:650px){
  .hero-iguana-peek{width:170px;left:74%;top:46%;transform:translate(0,-50%)}
}
@media(prefers-reduced-motion:reduce){.hero-iguana-peek{display:none}}

/* Peek mascot positioning v2: anchor the VISIBLE mascot to the sign edge, not the hero viewport. */
@media (min-width:981px){
  .hero-iguana-peek{
    width:240px;
    left:calc(50% + min(33vw, 380px) - 210px);
    top:49%;
    transform:translateY(-50%);
  }
}
@media (min-width:651px) and (max-width:980px){
  .hero-iguana-peek{
    width:205px;
    left:calc(50% + min(41vw, 350px) - 180px);
    top:48%;
    transform:translateY(-50%);
  }
}
@media (max-width:650px){
  .hero-iguana-peek{
    width:145px;
    left:calc(50% + 47vw - 128px);
    top:47%;
    transform:translateY(-50%);
  }
}

/* Peek mascot positioning v3.
   The source frames are now cropped to one shared animation canvas, so the mascot can be
   anchored to the actual sign edge instead of positioning a mostly-transparent 1374px image. */
@media (min-width:981px){
  .hero-iguana-peek{
    width:220px;
    left:calc(50% + min(33vw, 380px) - 92px);
    top:48%;
    transform:translateY(-50%);
  }
}
@media (min-width:651px) and (max-width:980px){
  .hero-iguana-peek{
    width:185px;
    left:calc(50% + min(41vw, 350px) - 92px);
    top:47%;
    transform:translateY(-50%);
  }
}
@media (max-width:650px){
  .hero-iguana-peek{
    width:142px;
    left:calc(100% - 172px);
    top:43%;
    transform:translateY(-50%);
  }
}

/* Peek mascot positioning v4 — tablet/mobile art-directed separately.
   On smaller screens the mascot is intentionally allowed to overlap the sign while peeking. */
@media (min-width:651px) and (max-width:980px){
  .hero-iguana-peek{
    z-index:4;
    width:clamp(180px,25vw,230px);
    left:auto;
    right:2%;
    top:43%;
    transform:translateY(-50%);
  }
}
@media (max-width:650px){
  .hero-iguana-peek{
    z-index:4;
    width:165px;
    left:auto;
    right:-2%;
    top:39%;
    transform:translateY(-50%);
  }
}

/* Peek mascot positioning v5 — desktop now uses the same intentional sign-overlap treatment as tablet/mobile. */
@media (min-width:981px){
  .hero-iguana-peek{
    z-index:4;
    width:clamp(230px,16vw,285px);
    left:auto;
    right:3%;
    top:43%;
    transform:translateY(-50%);
  }
}

/* Peek mascot positioning v6 — desktop art direction.
   Intentionally overlaps the upper-right portion of the restaurant sign, matching tablet/mobile behavior. */
@media (min-width:981px){
  .hero-iguana-peek{
    z-index:4;
    width:clamp(230px,16vw,285px);
    left:auto;
    right:18%;
    top:41%;
    transform:translateY(-50%);
  }
}

/* Keep the green walking mascot in front of the restaurant sign on tablet + desktop. */
@media (min-width:651px){
  .hero-iguana-walk{z-index:6;}
}

/* v8 desktop hero footer alignment: actions share the food-highlight centerline */
@media(min-width:981px){
  .poster-bottom{
    position:relative;
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    row-gap:18px;
  }
  .poster-foodline{
    grid-column:1;
    grid-row:1;
    padding-inline:430px;
  }
  .poster-actions{
    position:absolute;
    right:0;
    top:20px;
    height:42px;
    align-items:center;
  }
  .poster-address{
    grid-column:1;
    grid-row:2;
  }
}

/* v9 desktop hero footer: stack actions below centered food highlights, matching tablet/mobile */
@media(min-width:981px){
  .poster-bottom{
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto;
    row-gap:18px;
    align-items:center;
  }
  .poster-foodline{
    grid-column:1;
    grid-row:1;
    width:100%;
    padding-inline:0;
    justify-content:center;
    text-align:center;
  }
  .poster-actions{
    position:static;
    grid-column:1;
    grid-row:2;
    justify-self:center;
    justify-content:center;
    height:auto;
  }
  .poster-address{
    grid-column:1;
    grid-row:3;
    width:100%;
  }
}

/* v10 tablet Visit map fix: the map artwork is absolutely positioned, so the
   stacked tablet layout needs an explicit block height to keep it from collapsing. */
@media (min-width:651px) and (max-width:980px){
  .visit-section{grid-template-columns:1fr;}
  .map-card{
    display:block;
    width:100%;
    min-height:560px;
    height:560px;
    overflow:hidden;
  }
}
