@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#fff9ec;--ink:#242921;--red:#842c23;--gold:#e7b557;--line:#d6ccba}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cf8f2a;outline-offset:5px}.skip{position:absolute;top:-70px;padding:12px;background:white;z-index:9}.skip:focus{top:0}.topline{background:var(--red);color:var(--paper);padding:9px 5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.1px}header{padding:26px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-weight:bold;font-size:26px;line-height:1.1;letter-spacing:-1px}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:4px;text-align:center;margin-top:9px}nav{display:flex;gap:34px;font-size:14px}nav a:hover,.text-link:hover{color:var(--red)}.button{display:inline-flex;align-items:center;justify-content:center;gap:34px;background:var(--red);color:var(--paper);padding:16px 24px;font-size:14px;font-weight:600;border:1px solid var(--red);transition:background .2s}.button:hover{background:#5b201b}.button.small{padding:12px 19px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:85px 9% 55px 10%}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.2px;color:var(--red);margin:0 0 25px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(48px,5.5vw,84px);line-height:1.05;letter-spacing:-3px;margin:0 0 30px}h1 em{color:var(--red);font-weight:500}.intro{max-width:410px;font-size:17px;color:#5e6056}.actions{display:flex;align-items:center;gap:28px;margin-top:36px}.text-link{font-size:14px;border-bottom:1px solid #918a79;padding:12px 0}.hero-note{font-size:12px;color:#747366;margin-top:48px}.hero-photo{min-height:620px;background-color:#342d24;background-size:cover;background-position:center;position:relative}.photo-label{position:absolute;bottom:28px;left:28px;background:var(--paper);padding:10px 16px;font-size:11px;letter-spacing:2px}.ribbon{background:var(--gold);display:flex;justify-content:space-around;align-items:center;gap:24px;padding:21px 4%;font-size:12px;font-weight:700;letter-spacing:2px}.section{padding:95px 7%}h2{font-size:clamp(38px,4.3vw,64px);line-height:1.1;letter-spacing:-1.5px;margin:0 0 25px}.section-intro{max-width:470px;color:#68675c}.visit{display:grid;grid-template-columns:1.3fr 1fr;background:#263e32;color:var(--paper);gap:50px}.visit .eyebrow{color:var(--gold)}.visit h3{font-size:28px;margin:0}.visit .button{background:var(--gold);border-color:var(--gold);color:var(--ink);margin:14px 0}.visit a:not(.button){text-decoration:underline}footer{padding:50px 5%;display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:30px}footer p,footer>a:last-of-type{font-size:13px}footer small{flex-basis:100%;border-top:1px solid var(--line);padding-top:20px;font-size:12px;color:#706d62}@media(max-width:800px){header{padding:22px 5%}nav{gap:18px}header .button{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:55px 6% 35px}h1{font-size:60px;letter-spacing:-2px}.hero-photo{min-height:420px}.hero-note{margin-top:28px}.ribbon{flex-wrap:wrap;gap:15px;font-size:10px}.ribbon span:last-child,.ribbon span:nth-last-child(2){display:none}.section{padding:65px 6%}.visit{grid-template-columns:1fr;gap:20px}.topline{font-size:10px;letter-spacing:.5px}.topline a{display:none}.brand{font-size:21px}nav{font-size:12px}.actions{gap:20px}footer{align-items:flex-start;flex-direction:column}footer small{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.hero-photo{overflow:hidden}.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-label{z-index:1}.kitchen-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:35px}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.food-grid img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.food-heading{display:flex;gap:17px;align-items:center;margin-top:20px}.food-heading span{font-size:12px;color:var(--red)}.food-heading h3{font-size:25px;margin:0}.food-grid p{font-size:14px;color:#67685e}.menu-note{font-size:12px;color:#737268;margin:32px 0 0}.story{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f1e6d0}.story-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:70px}.story h2 em{color:var(--red)}.story .large-copy{font-family:'Playfair Display',Georgia,serif;font-size:27px;line-height:1.45;margin-top:0}.story .text-link{display:inline-block;margin-top:15px}.gatherings{background:var(--red);color:var(--paper);display:grid;grid-template-columns:1.1fr 1fr;gap:95px}.gatherings .eyebrow{color:var(--gold)}.gatherings h2 em{color:var(--gold)}.gatherings>div>p{max-width:410px}.gatherings .button{background:var(--paper);color:var(--red);margin-top:22px}.occasion-list article{padding:28px 0;border-bottom:1px solid #bc7063}.occasion-list article:first-child{padding-top:0}.occasion-list span{font-size:12px;letter-spacing:1.5px;color:var(--gold)}.occasion-list h3{font-size:31px;margin:12px 0}.occasion-list p{color:#f0d5c7}.occasion-list a{text-decoration:underline}.questions{max-width:1050px;margin:auto}.questions details{border-bottom:1px solid var(--line);padding:22px 0}.questions summary{font-size:17px;cursor:pointer;font-weight:500}.questions details p{max-width:700px;color:#626457}.questions a{text-decoration:underline}@media(max-width:800px){.hero-photo{min-height:0;aspect-ratio:1}.kitchen-heading{display:block}.food-grid{grid-template-columns:1fr;gap:32px}.food-grid img{max-height:460px}.story-grid,.gatherings{grid-template-columns:1fr;gap:30px}.story .large-copy{font-size:24px}.kitchen-heading .text-link{display:inline-block}.visit{padding-bottom:55px}nav{font-size:14px;gap:14px}.brand{font-size:20px}.food-grid p{font-size:16px}}@media(max-width:400px){nav a:nth-child(2){display:none}h1{font-size:52px}.actions{align-items:flex-start;flex-wrap:wrap}}
.night-content{display:none!important}.header-actions{display:flex;align-items:center;gap:18px}.theme-toggle{display:inline-flex;align-items:center;gap:3px;padding:4px;background:transparent;border:1px solid var(--line);border-radius:30px;color:var(--ink);cursor:pointer;font:500 14px 'DM Sans',sans-serif;white-space:nowrap}.theme-toggle span{padding:7px 11px;border-radius:24px}.day-label{background:var(--ink);color:var(--paper)}body,header,.story,.questions,.hero-copy,footer{transition:background-color .35s,color .35s}[data-theme="night"]{--paper:#151714;--ink:#f7e8ca;--red:#e3b257;--gold:#dfad54;--line:#424437;color-scheme:dark}[data-theme="night"] .day-content{display:none!important}[data-theme="night"] .night-content{display:inline!important}[data-theme="night"] .hero-photo>.night-content{display:block!important}[data-theme="night"] .day-label{background:transparent;color:var(--ink)}[data-theme="night"] .night-label{background:var(--gold);color:#151714}[data-theme="night"] .topline{background:#0e100e;color:#e6bd70}[data-theme="night"] header{background:#151714}[data-theme="night"] .intro,[data-theme="night"] .section-intro,[data-theme="night"] .food-grid p,[data-theme="night"] .questions details p{color:#c5c1b2}[data-theme="night"] .hero-note,[data-theme="night"] .menu-note,[data-theme="night"] footer small{color:#aba897}[data-theme="night"] .hero-photo{background:#10120f}[data-theme="night"] .hero-photo>img{object-position:center}[data-theme="night"] .photo-label{background:#151714e8;color:var(--gold);border:1px solid #82663b}[data-theme="night"] .ribbon{background:#222b23;color:#d6b56b;border-top:1px solid #494634;border-bottom:1px solid #494634}[data-theme="night"] .story{background:#20271f}[data-theme="night"] .gatherings{background:#211815;color:#f7e8ca}[data-theme="night"] .gatherings .button{background:var(--gold);color:#181813}[data-theme="night"] .occasion-list article{border-color:#654a31}[data-theme="night"] .visit{background:#18261f;color:#f7e8ca}[data-theme="night"] .visit .button{color:#161912}[data-theme="night"] .button:hover{background:#f0c978;color:#171812}[data-theme="night"] .food-grid img{filter:brightness(.9)}@media(max-width:1050px){header{gap:18px}nav{gap:18px}.header-actions .button{display:none}}@media(max-width:600px){header{flex-wrap:wrap;gap:20px;padding:20px 6%}header>.brand{font-size:24px}nav{order:3;flex-basis:100%;justify-content:center;border-top:1px solid var(--line);padding-top:14px}.theme-toggle{font-size:14px}.theme-toggle span{padding:7px 10px}.hero-copy{padding-top:38px}.hero{min-height:0}h1{font-size:55px}.hero-photo{min-height:0}.hero .actions{gap:22px}[data-theme="night"] h1{font-size:52px}}
:root{--red:#b3292d;--mexico-green:#087246}header{border-top:5px solid transparent;border-image:linear-gradient(90deg,#087246 0 33.33%,#fff9ec 33.33% 66.66%,#bd2e32 66.66%) 1}.brand{color:var(--mexico-green)}h1 em,.eyebrow{color:var(--mexico-green)}.topline{background:var(--mexico-green)}.ribbon{background:var(--mexico-green);color:white}.ribbon span:nth-child(even){color:#f4c662}.order-button{background:var(--mexico-green);border-color:var(--mexico-green);color:white}.order-button:hover{background:#065b38}.actions{gap:16px;flex-wrap:wrap}.button{gap:20px;font-size:15px}.story{border-top:5px solid var(--mexico-green)}.food-grid article{border-bottom:3px solid #b3292d;padding-bottom:12px}.header-actions{gap:14px}.brand span{color:var(--ink)}.footer-pages{display:flex;gap:24px;flex-basis:100%;flex-wrap:wrap;font-size:14px}.page-intro{padding:65px 7%;background:#f4eddb}.page-intro h1{font-size:clamp(44px,5vw,72px);max-width:900px}.page-intro .intro{max-width:740px}.breadcrumbs{padding:18px 7%;font-size:14px;display:flex;gap:12px}.breadcrumbs a{text-decoration:underline}.answer-list{display:grid;grid-template-columns:1fr 1fr;gap:35px 60px}.answer-list section{border-top:2px solid var(--line);padding-top:24px}.answer-list h2{font-size:28px;line-height:1.3;letter-spacing:-.5px}.answer-list p{max-width:620px}.answer-list a,.location-grid p a{text-decoration:underline}.call-panel{background:#087246;color:#fff9ec}.call-panel h2{font-size:48px}.call-panel p{max-width:670px}.location-grid,.editorial-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.location-grid h2{font-size:46px}.location-grid h3{font-size:28px}.location-grid address{font-style:normal;margin:20px 0 30px}.editorial-grid img{width:100%;height:auto}.food-grid h2{font-size:27px;line-height:1.3;margin-top:20px}.mobile-cta{display:none}[data-theme="night"] .brand,[data-theme="night"] h1 em,[data-theme="night"] .eyebrow{color:var(--gold)}[data-theme="night"] header{border-image:none;border-top:5px solid #8e6d33}[data-theme="night"] .order-button{background:#334b37;color:#f7e8ca;border-color:#6b7e49}[data-theme="night"] .page-intro{background:#1c241d}[data-theme="night"] .call-panel{background:#243829}[data-theme="night"] .story{border-top-color:#8e6d33}[data-theme="night"] .food-grid article{border-color:#8e6d33}@media(max-width:800px){.answer-list,.location-grid,.editorial-grid{grid-template-columns:1fr;gap:30px}.page-intro{padding:38px 6% 50px}.page-intro h1{font-size:48px}.answer-list h2{font-size:25px}.mobile-cta{display:grid;position:fixed;bottom:0;left:0;right:0;z-index:10;grid-template-columns:1fr 1fr;box-shadow:0 -4px 15px #0002;padding-bottom:env(safe-area-inset-bottom);background:#087246}.mobile-cta a{padding:16px 12px;text-align:center;background:#b3292d;color:white;font-size:15px;font-weight:600}.mobile-cta a:last-child{background:#087246}footer{padding-bottom:105px}[data-theme="night"] .mobile-cta{background:#243829}[data-theme="night"] .mobile-cta a{background:#dfad54;color:#151714}[data-theme="night"] .mobile-cta a:last-child{background:#334b37;color:#f7e8ca}nav a:nth-child(2){display:block}.food-grid h2{font-size:28px}}@media(max-width:1100px){header .button.small{display:none}nav{gap:16px}}

.real-place{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;background:#f5ecda}.real-place figure{margin:0}.real-place img{width:100%;height:500px;object-fit:cover;display:block}.real-place p:not(.eyebrow){max-width:480px}.real-place .button{margin-top:20px}figcaption{font-size:12px;color:#6e7165;margin-top:10px}figcaption a{text-decoration:underline}[data-theme="night"] .real-place{background:#20271f}[data-theme="night"] figcaption{color:#b7b5a7}@media(max-width:800px){.real-place{grid-template-columns:1fr;gap:30px}.real-place img{height:400px}}

.restaurant-photo{margin:0}.restaurant-photo img{display:block;width:100%;height:auto;max-height:640px;object-fit:cover}.event-photo{padding-top:45px;padding-bottom:40px}.event-photo .restaurant-photo img{aspect-ratio:2/1;object-position:center 65%}.editorial-grid .restaurant-photo img{height:100%;max-height:600px;object-fit:cover}@media(max-width:800px){.event-photo .restaurant-photo img{aspect-ratio:4/3}}

/* The restaurant's own Viva Mexico lettering and La Catrina mural. */
.brand{display:inline-flex;flex-direction:column;align-items:center;flex-shrink:0}
.brand-wordmark{display:block;width:235px;height:62px;object-fit:contain;filter:drop-shadow(0 1px 0 #0002)}
.brand span{font-size:12px;letter-spacing:4px;margin-top:4px}
header{padding-top:18px;padding-bottom:18px}
.hero{position:relative;isolation:isolate;background-image:linear-gradient(90deg,rgba(255,249,236,.94),rgba(255,249,236,.82) 47%,rgba(255,249,236,.25)),url('/assets/dining-room.jpg');background-size:cover;background-position:center 60%;overflow:hidden;grid-template-columns:1fr 1fr}
.hero-copy{position:relative;z-index:1;padding-top:76px}
.hero-photo{margin:40px 6% 40px 0;min-height:560px;background:transparent;align-self:stretch;display:flex;align-items:center;justify-content:center}
.hero-photo>img.day-content{position:relative;inset:auto;object-fit:contain;width:100%;height:auto;filter:drop-shadow(0 14px 28px #28161238)}
.hero-photo .photo-label{bottom:12px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff9ecd9;color:#087246;font-size:12px}
.fiesta-garland{display:none;pointer-events:none;user-select:none}
[data-theme="night"] .fiesta-garland{display:block;object-fit:fill;filter:drop-shadow(0 0 12px #ffaf3033)}
[data-theme="night"] .hero{background:radial-gradient(ellipse at 20% 0%,#4b24372b,transparent 60%),#151714}
[data-theme="night"] .hero-copy{padding-top:110px;padding-bottom:60px}
[data-theme="night"] .hero-photo{margin:0;min-height:690px;background:#10120f}
[data-theme="night"] .hero-photo>.night-content{object-fit:cover}
.hero-garland{position:absolute;z-index:2;left:0;top:0;width:100%;height:110px;object-position:top}
[data-theme="night"] .hero .photo-label{bottom:24px}
[data-theme="night"] .real-place{background:radial-gradient(ellipse at 85% 50%,#59334340,transparent 65%),#181b1b;border-block:1px solid #af763c55}
[data-theme="night"] .real-place .restaurant-catrina{display:block!important;height:auto;object-fit:contain;filter:drop-shadow(0 0 24px #d8633020)}
[data-theme="night"] .real-place figcaption.night-content{display:block!important}
.gatherings,footer{position:relative;isolation:isolate}
[data-theme="night"] .gatherings{padding-top:135px;background:radial-gradient(ellipse at 0 0,#63295833,transparent 50%),radial-gradient(ellipse at 100% 100%,#c06d1220,transparent 60%),#211815}
.section-garland{position:absolute;top:0;left:0;width:100%;height:90px}
[data-theme="night"] footer{padding-top:110px;background:radial-gradient(ellipse at top,#4f22473a,transparent 65%),#151714}
.footer-garland{position:absolute;top:0;left:0;width:100%;height:70px}
[data-theme="night"] .kitchen{background:radial-gradient(ellipse at 100% 0,#6d2a6720,transparent 50%)}
[data-theme="night"] .story{border-top-color:#ac5c94}
[data-theme="night"] .food-grid article:nth-child(1){border-color:#db9735}
[data-theme="night"] .food-grid article:nth-child(2){border-color:#ad568e}
[data-theme="night"] .food-grid article:nth-child(3){border-color:#458879}
@media(max-width:1100px){.brand-wordmark{width:210px;height:56px}.hero-photo{min-height:470px}.hero-copy{padding-left:8%;padding-right:6%}.hero{min-height:600px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;min-height:0;background-position:center}.hero-copy{padding:50px 6% 28px}.hero-photo{margin:0 6% 32px;min-height:0;aspect-ratio:auto}.hero-photo>img.day-content{max-height:480px;width:100%}.hero-photo .photo-label{bottom:12px}[data-theme="night"] .hero-copy{padding:100px 6% 30px}[data-theme="night"] .hero-photo{min-height:0;aspect-ratio:1}.hero-garland{height:85px}.brand-wordmark{width:190px;height:51px}[data-theme="night"] .gatherings{padding-top:115px}.section-garland{height:75px}.real-place .restaurant-catrina{max-height:520px}}
@media(max-width:600px){header{gap:14px}.brand-wordmark{width:180px;height:48px}.brand span{font-size:11px;letter-spacing:3px}.theme-toggle span{padding:7px 8px}.hero-copy .eyebrow{font-size:11px;letter-spacing:1.8px}.hero{background-image:linear-gradient(90deg,#fff9ecee,#fff9ecd9),url('/assets/dining-room.jpg')}[data-theme="night"] .hero{background:radial-gradient(ellipse at top left,#54203a2b,transparent 65%),#151714}.hero-photo .photo-label{font-size:10px;padding:8px 10px;letter-spacing:1px}.hero-note{margin-bottom:0}.hero-photo>img.day-content{margin-bottom:28px}.hero-photo{margin-bottom:16px}.hero-garland{height:75px}[data-theme="night"] .hero-copy{padding-top:95px}.footer-garland{height:55px}}
@media(max-width:360px){.brand-wordmark{width:154px;height:43px}.theme-toggle{font-size:12px}.hero-copy h1{font-size:48px}}
/* Repeat the photographic garland at its natural proportions. */
.fiesta-garland{background:url('/assets/fiesta-garland.png') repeat-x center top;background-size:590px auto}
[data-theme="night"]{--red:#e3b257}
.hero-garland{height:145px}
[data-theme="night"] .hero-copy{padding-top:168px}
.section-garland{height:125px;background-size:510px auto}
[data-theme="night"] .gatherings{padding-top:166px}
.footer-garland{height:110px;background-size:450px auto}
[data-theme="night"] footer{padding-top:142px}
@media(max-width:800px){.hero-garland{background-size:430px auto;height:105px}[data-theme="night"] .hero-copy{padding-top:132px}.section-garland{background-size:430px auto;height:105px}[data-theme="night"] .gatherings{padding-top:138px}.footer-garland{background-size:370px auto;height:90px}[data-theme="night"] footer{padding-top:115px}}

/* Mobile hero: put the artwork in the first screen instead of below the copy. */
@media(max-width:800px){
  html{scroll-padding-bottom:90px}
  .hero{display:flex;flex-direction:column;background-position:center}
  .hero-photo,[data-theme="night"] .hero-photo{order:-1;flex:none;width:100%;margin:0;min-height:0;aspect-ratio:1.4;align-self:auto;overflow:hidden}
  .hero-photo>img.day-content{display:block;width:100%;height:100%;max-height:none;margin:0;object-fit:contain;filter:none}
  [data-theme="night"] .hero-photo{aspect-ratio:1.25;max-height:500px}
  [data-theme="night"] .hero-photo>.night-content{object-fit:cover;object-position:50% 32%}
  .hero-photo .photo-label{display:none}
  .hero-copy,[data-theme="night"] .hero-copy{padding:24px 6% 32px}
  .hero-copy h1,[data-theme="night"] .hero-copy h1{font-size:clamp(32px,8.5vw,46px);line-height:1.08;letter-spacing:-1.2px;margin-bottom:16px}
  .hero-copy .eyebrow{font-size:12px;letter-spacing:1.2px;margin-bottom:14px}
  .hero-copy .intro{font-size:16px;line-height:1.55;max-width:540px;margin:0}
  .hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}
  .hero .actions .button{padding:14px 10px;gap:12px;min-height:48px}
  .hero-note{display:none}
  .hero-garland{height:80px;background-size:330px auto}
  nav a{display:inline-flex;min-height:44px;align-items:center;justify-content:center}
  .theme-toggle{min-height:44px}
  .mobile-cta a{min-height:52px;padding:14px 10px}
  .mobile-cta{padding-bottom:env(safe-area-inset-bottom,0px)}
  footer{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
  .location-grid>*,.editorial-grid>*{min-width:0;overflow-wrap:anywhere}
  .section{padding:52px 6%}
  .footer-pages a{display:inline-flex;align-items:center;min-height:44px}
  .page-intro h1{font-size:clamp(34px,8.5vw,48px);letter-spacing:-1px}
}
@media(max-width:600px){
  .topline{padding:6px 4%;font-size:10px;letter-spacing:0}
  header{padding:10px 5% 0;gap:6px 12px}
  .brand-wordmark{width:166px;height:44px}
  .brand span{font-size:10px;letter-spacing:2.6px;margin-top:0}
  nav{padding-top:0;gap:0;justify-content:space-between}
  nav a{flex:1;font-size:14px}
  .theme-toggle span{padding:6px 7px}
  .hero-photo,[data-theme="night"] .hero-photo{max-height:350px}
}
@media(max-width:360px){
  .brand-wordmark{width:140px;height:40px}
  .theme-toggle{font-size:13px}
  .hero-copy h1,[data-theme="night"] .hero-copy h1{font-size:32px}
  .hero-copy .eyebrow{font-size:11px}
  .hero .actions .button{font-size:14px}
}
@media(max-width:800px){nav a:nth-child(2){display:inline-flex}}

/* Owner-supplied menu, rebuilt as readable, searchable content. */
.menu-hero{display:grid;grid-template-columns:1fr 1fr;background:#f1e6d0;min-height:420px;align-items:stretch}
.menu-hero-copy{padding:64px 10% 54px 14%;align-self:center}
.menu-hero h1{font-size:clamp(48px,5vw,72px);letter-spacing:-2px;margin-bottom:18px}
.menu-hero-copy>p:not(.eyebrow){max-width:510px;font-size:18px;line-height:1.55}
.menu-hero>img{width:100%;height:100%;max-height:460px;object-fit:cover;object-position:center}
.menu-hero .actions{margin-top:25px}
.menu-hero .menu-fineprint{font-size:13px!important;color:#615d50;margin-top:26px}
.menu-jump{position:sticky;top:0;z-index:8;display:flex;gap:8px;overflow-x:auto;padding:13px max(5%,calc((100vw - 1260px)/2));scrollbar-width:thin;background:#087246;color:white;border-bottom:3px solid #d3a34d;white-space:nowrap}
.menu-jump a{display:inline-flex;align-items:center;min-height:40px;padding:6px 15px;border:1px solid #ffffff80;border-radius:100px;font-size:14px;font-weight:600;flex:none}
.menu-jump a:hover,.menu-jump a:focus-visible{background:white;color:#087246}
.menu-catalog{max-width:1440px;margin:auto}
.menu-section{padding:70px 7%;scroll-margin-top:95px;border-bottom:1px solid var(--line)}
.menu-section:nth-child(even){background:#f4ecdb}
.menu-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,370px);gap:36px;align-items:center;margin-bottom:38px}
.menu-section-head:has(>div:only-child){grid-template-columns:1fr}
.menu-section-head h2{margin-bottom:8px;color:#087246}
.menu-section-head>div>p:last-child{margin:0;max-width:600px;color:#5c5f55}
.menu-section-photo{margin:0;align-self:start}
.menu-section-photo img{display:block;width:100%;height:190px;object-fit:cover;border-radius:2px}
.menu-section-photo figcaption{font-size:12px;margin-top:6px}
.menu-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.menu-group{background:#fffaf0;border:1px solid #d9cfbb;padding:25px 28px}
.menu-group h3{font:700 24px/1.2 'Playfair Display',Georgia,serif;margin:0 0 15px;color:#922c2a}
.menu-group-note{font-size:14px;color:#5b6258;margin:-7px 0 14px}
.menu-items{display:grid;grid-template-columns:1fr;gap:0}
.menu-item{padding:14px 0;border-top:1px solid #e7dfcf;min-width:0}
.menu-item-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.menu-item h4{margin:0;font:700 16px/1.35 'DM Sans',sans-serif;overflow-wrap:anywhere}
.menu-price{font:700 15px/1.35 'DM Sans',sans-serif;color:#087246;text-align:right;max-width:47%;flex:none}
.menu-item p{font-size:14px;line-height:1.5;color:#5e6157;margin:6px 0 0;max-width:56ch}
.menu-disclosures{padding:70px 7%;background:#233b2f;color:#fff9ec}
.menu-disclosures h2{font-size:40px}
.menu-disclosures p{max-width:880px;font-size:15px}
.menu-disclosures .button{margin-top:12px}
[data-theme="night"] .menu-hero{background:#1c241d}
[data-theme="night"] .menu-hero .menu-fineprint,[data-theme="night"] .menu-section-head>div>p:last-child{color:#c6c2b5}
[data-theme="night"] .menu-jump{background:#25342a;border-color:#b98755}
[data-theme="night"] .menu-jump a:hover,[data-theme="night"] .menu-jump a:focus-visible{color:#18281d}
[data-theme="night"] .menu-section:nth-child(even){background:#1c211c}
[data-theme="night"] .menu-section-head h2{color:#e3b257}
[data-theme="night"] .menu-group{background:#222720;border-color:#545340}
[data-theme="night"] .menu-group h3{color:#e3b257}
[data-theme="night"] .menu-group-note,[data-theme="night"] .menu-item p{color:#c6c2b5}
[data-theme="night"] .menu-item{border-color:#454839}
[data-theme="night"] .menu-price{color:#e3b257}
[data-theme="night"] .menu-disclosures{background:#18261f}
@media(max-width:900px){.menu-hero{grid-template-columns:1fr 1fr}.menu-hero-copy{padding:36px 6%}.menu-hero h1{font-size:44px}.menu-groups{gap:18px}.menu-group{padding:22px}}
@media(max-width:700px){.menu-hero{display:flex;flex-direction:column-reverse}.menu-hero>img{height:240px;max-height:280px}.menu-hero-copy{padding:28px 6% 32px}.menu-hero h1{font-size:40px}.menu-hero-copy>p:not(.eyebrow){font-size:16px}.menu-hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-hero .actions .button{min-height:46px;padding:10px 9px;font-size:14px}.menu-jump{top:0;padding:10px 5%}.menu-jump a{font-size:13px;min-height:42px}.menu-section{padding:48px 6%;scroll-margin-top:70px}.menu-section-head{display:block;margin-bottom:23px}.menu-section-head h2{font-size:38px}.menu-section-photo{margin-top:22px}.menu-section-photo img{height:180px}.menu-groups{display:block}.menu-group{margin-top:16px;padding:20px}.menu-group h3{font-size:23px}.menu-item-top{gap:8px}.menu-price{max-width:48%}.menu-disclosures{padding:48px 6% 115px}.menu-disclosures h2{font-size:35px}}
@media(max-width:360px){.menu-hero>img{height:205px}.menu-hero h1{font-size:35px}.menu-group{padding:16px}.menu-item h4{font-size:15px}.menu-price{font-size:14px}}

/* Restaurant-supplied storefront photography. Keep the Catrina mural prominent over the daytime hero. */
.hero{background-image:linear-gradient(90deg,rgba(255,249,236,.97),rgba(255,249,236,.87) 42%,rgba(255,249,236,.24) 100%),url('/assets/storefront-hero.jpg');background-position:center 52%}
.hero-photo>img.day-content{width:88%;max-height:550px;object-fit:contain}
.real-place .mural-display>img.day-content{object-position:44% center}
@media(max-width:800px){
  .hero{background-image:linear-gradient(180deg,rgba(255,249,236,.3),rgba(255,249,236,.92)),url('/assets/storefront-hero.jpg');background-position:center 42%}
  .hero-photo{background:linear-gradient(#1a281127,#1a281127),url('/assets/storefront-hero.jpg') center 49%/cover}
  .hero-photo>img.day-content{width:87%;height:87%;max-height:none;object-fit:contain;filter:drop-shadow(0 8px 14px #0c180e80)}
}
@media(max-width:600px){
  .hero{background-image:linear-gradient(180deg,rgba(255,249,236,.3),rgba(255,249,236,.96)),url('/assets/storefront-hero.jpg')}
}

/* Responsive location maps, using the existing page palette. */
.map-section h2{margin-top:0}.map-frame{overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.map-frame iframe{display:block;width:100%;height:400px;border:0}@media(max-width:600px){.map-frame iframe{height:320px}}
