@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,600&display=swap');
:root{--cream:#faf6ed;--ink:#24362b;--orange:#c44d2e;--line:#dcded1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #c44d2e;outline-offset:4px}header{position:sticky;top:0;background:#faf6edf5;backdrop-filter:blur(10px);z-index:20;display:flex;align-items:center;justify-content:space-between;padding:20px 6%;border-bottom:1px solid var(--line)}.brand{font-size:27px;font-weight:900;letter-spacing:-1px;line-height:1}.brand span{display:block;font-size:8px;letter-spacing:1.5px;margin-top:7px}nav{display:flex;gap:35px;font-size:14px}.button{background:var(--orange);color:white;border-radius:5px;padding:17px 24px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;transition:background .2s,transform .2s}.button:hover{background:#a63a21;transform:translateY(-2px)}.small{padding:12px 20px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:5%;padding:65px 6% 55px;align-items:center;max-width:1600px;margin:auto}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px}.hero h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:clamp(48px,5.3vw,82px);line-height:1.07;letter-spacing:-2px;margin:24px 0}.hero h1 em{color:var(--orange)}p{font-size:15px;line-height:1.8}.hero-copy>p{max-width:400px;color:#667064}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.hero .actions{margin:30px 0}.textlink{font-weight:600;font-size:14px;border-bottom:1px solid;padding-bottom:4px}.hero-note{font-size:11px;color:#697467;margin-top:35px}.hero-photo{position:relative;background:#dfd9b9;border-radius:160px 160px 10px 10px;padding:55px 20px 22px;min-height:420px;display:flex;align-items:center;justify-content:center;flex-direction:column}.hero-photo>img{width:100%;height:310px;object-fit:contain;filter:drop-shadow(0 14px 14px #30412b25)}.photo-label{font-size:9px;letter-spacing:2px}.dish-caption{display:flex;justify-content:space-between;gap:20px;width:100%;align-items:center;padding:15px;font-size:15px}.dish-caption small{display:block;font-size:10px;margin-top:7px}.dish-caption b{white-space:nowrap;color:#aa452a}.ribbon{background:var(--ink);color:#eee9c9;display:flex;justify-content:space-around;align-items:center;gap:20px;padding:19px 6%;font-size:11px;letter-spacing:2px}.ribbon i{color:#d29058}.menu-section{padding:80px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}h2{font:500 clamp(36px,4vw,55px)/1.13 'Playfair Display',Georgia,serif;letter-spacing:-1px;margin:15px 0 20px}.section-heading p{font-size:12px;color:#687464}.menu-tools{display:flex;align-items:center;justify-content:space-between;gap:20px}.search{display:flex;align-items:center;gap:10px;background:#fffdf7;border:1px solid var(--line);padding:12px 17px;border-radius:6px;width:370px}.search span{font-size:25px}.search input{width:100%;border:0;outline:0;background:none;font-size:13px}.pdfs{display:flex;gap:25px;font-size:12px;text-decoration:underline}.categories{display:flex;gap:8px;overflow:auto;padding:24px 0 18px;position:sticky;top:80px;background:var(--cream);z-index:10;scrollbar-width:thin}.categories button{border:1px solid #d6d8cb;background:transparent;white-space:nowrap;border-radius:25px;padding:10px 18px;color:var(--ink);font-size:12px;cursor:pointer}.categories button.active{background:var(--ink);color:white;border-color:var(--ink)}.results-heading{display:flex;justify-content:space-between;align-items:center;margin:12px 0 18px}.results-heading h3{font:500 29px 'Playfair Display',Georgia,serif;margin:8px 0}.results-heading span{font-size:11px;color:#707965}.dishes{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.dish{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fffdf7;display:flex;flex-direction:column}.dish-image{height:210px;background:#eeeedf;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.dish-image img{width:94%;height:94%;object-fit:contain;transition:transform .4s}.dish:hover img{transform:scale(1.06)}.dish-text{padding:19px;flex:1;display:flex;flex-direction:column}.dish h4{font-size:16px;margin:0 0 10px}.dish p{font-size:12px;color:#73796c;line-height:1.6;margin:0 0 18px}.dish-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.dish-bottom b{color:var(--orange);font-size:16px}.dish-bottom a{font-size:11px;border-bottom:1px solid #bec4b4;padding:3px 0}.dish.no-photo .dish-text{min-height:145px}.welcome{background:#e7e8d7;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:55px 9%;gap:8%}.welcome p{max-width:360px;color:#687060;margin-bottom:25px}.welcome img{width:100%;height:340px;object-fit:contain}.visit{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:90px 8%}.visit h3{font-size:16px;margin-top:30px}.visit p{color:#697163;font-size:13px}.hours{margin-top:24px;border-top:1px solid var(--line)}.hours>div{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px;gap:15px}.muted{font-size:11px!important}.map-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#e4e8da;min-height:380px;display:flex;flex-direction:column}.map-wrap iframe{width:100%;flex:1;min-height:340px;border:0}.map-bottom{padding:20px;background:#fffdf7;font-size:12px;font-weight:600}.reviews{background:var(--ink);color:#faf6ed;text-align:center;padding:70px 20px}.reviews .eyebrow{color:#d7b47d}.reviews p{color:#c2cbbd}.reviews .actions{justify-content:center;margin:28px 0}.reviews small{display:block;font-size:10px;color:#a6b29d}.google-mark{font-size:22px;margin:20px}.google-mark span{font-weight:700}footer{display:flex;align-items:center;gap:30px;justify-content:space-between;padding:40px 6%}footer p,footer>a:not(.brand),footer>span{font-size:11px}.mobile-bar{display:none}[hidden]{display:none!important}@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:85px}.hero-photo{min-height:500px}.hero-photo>img{height:360px}}@media(max-width:1000px){.dishes{grid-template-columns:repeat(3,1fr)}.hero-photo{min-height:360px}.hero-photo>img{height:250px}.hero{gap:3%}.hero h1{font-size:58px}.dish-image{height:185px}}@media(max-width:700px){header{padding:17px 5%}.brand{font-size:24px}nav{gap:15px;font-size:11px}header .button{display:none}.hero{grid-template-columns:1fr;padding:40px 6% 32px;gap:30px}.hero h1{font-size:57px}.hero-copy>p{font-size:14px}.hero-note{margin-top:20px}.hero-photo{border-radius:140px 140px 10px 10px;min-height:320px;padding-top:30px}.hero-photo>img{height:250px}.ribbon{font-size:8px;letter-spacing:1px;gap:10px}.ribbon span:last-child,.ribbon i:last-of-type{display:none}.menu-section{padding:48px 5%}.section-heading{display:block}.section-heading p{font-size:11px}.menu-tools{align-items:start;flex-direction:column}.search{width:100%}.pdfs{font-size:11px}.categories{top:70px;margin-top:6px;padding-top:14px}.dishes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dish-image{height:145px}.dish-text{padding:13px}.dish h4{font-size:14px;line-height:1.4}.dish p{font-size:11px}.dish-bottom{gap:8px;flex-wrap:wrap}.dish-bottom b{font-size:14px}.dish-bottom a{font-size:10px}.welcome,.visit{grid-template-columns:1fr;padding:45px 6%;gap:30px}.welcome img{height:260px}.visit .map-wrap{min-height:300px}.reviews{padding:50px 6%}.reviews .actions{gap:20px}.reviews small{line-height:1.7}footer{flex-wrap:wrap;padding:30px 6% 95px}footer p{display:none}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;box-shadow:0 -3px 20px #0001;background:var(--cream);padding:10px 5% calc(10px + env(safe-area-inset-bottom));gap:10px}.mobile-bar a{flex:1;text-align:center;padding:13px;background:var(--ink);color:white;border-radius:5px;font-size:12px}.mobile-bar a:first-child{background:var(--orange)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.events{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center;padding:75px 8%;background:#f1e5d4}.events-copy>p{max-width:580px;color:#687060}.event-options{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:28px 0}.event-options h3{font-size:16px;margin:0 0 10px}.event-options p{font-size:13px;margin:0;color:#687060}.events-photo img{width:100%;height:320px;object-fit:contain}.events-photo span{display:block;text-align:center;font:italic 22px 'Playfair Display',Georgia,serif}.event-note{font-size:11px!important;margin-top:15px}@media(max-width:700px){.events{grid-template-columns:1fr;padding:48px 6%;gap:20px}.event-options{gap:18px}.events-photo img{height:230px}header nav{gap:12px;font-size:10px}.events .button{font-size:12px;padding:16px}}

.brand img{width:116px;height:78px;object-fit:contain;mix-blend-mode:multiply}header{padding-top:8px;padding-bottom:8px}footer .brand img{width:145px;height:105px}.hero-photo{border-radius:18px;overflow:hidden;padding:0;background:#20382b}.hero-photo>img{height:470px;object-fit:cover;filter:none;order:0}.photo-label{position:absolute;top:20px;left:20px;background:#faf6ed;color:#24362b;padding:10px 13px;border-radius:3px;z-index:1}.dish-caption{background:#20382b;color:#faf6ed;padding:22px}.hero-photo>img{width:100%}.gallery-section,.instagram-section{padding:65px 6%;max-width:1600px;margin:auto}.photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.photo-strip>a{position:relative;border-radius:9px;overflow:hidden;background:#e7e8d7;height:250px}.photo-strip img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-strip a:hover img{transform:scale(1.04)}.photo-strip span{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000b);padding:35px 15px 15px;color:white;font-size:12px}.gallery-credit,.instagram-note{font-size:11px;color:#717967}.instagram-section{padding-top:20px}.instagram-section>.section-heading{margin-bottom:10px}.instagram-section>p{color:#677263;font-size:13px}.carousel-controls{display:flex;gap:8px;justify-content:flex-end;margin:10px 0}.carousel-controls button{width:40px;height:40px;border:1px solid #c9cdbd;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}.instagram-carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:15px}.instagram-post{flex:0 0 330px;scroll-snap-align:start;border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden}.instagram-post iframe{width:100%;height:540px;border:0;background:white}.instagram-post>a{display:block;padding:15px;font-size:12px;color:var(--orange)}@media(max-width:700px){.brand img{width:88px;height:62px}header nav{gap:9px;font-size:9px}.hero-photo>img{height:370px}.photo-strip{grid-template-columns:repeat(2,1fr);gap:10px}.photo-strip>a{height:205px}.gallery-section,.instagram-section{padding:42px 5%}.instagram-post{flex-basis:290px}.instagram-post iframe{height:500px}.instagram-section .button{font-size:12px}.instagram-section .section-heading{display:block}.instagram-section h2{margin-bottom:25px}}

.dish-image img[src*="-servido"]{width:100%;height:100%;object-fit:cover}.welcome img[src*="-servido"],.events-photo img[src*="-servido"]{border-radius:12px;object-fit:cover}

/* Original food photographs: improve the setting without altering the product. */
.dish-image{background:radial-gradient(ellipse at 50% 38%,#fffefb 0%,#f5efe3 68%,#e9dfcb 100%);padding:10px}
.dish-image img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 7px rgba(55,38,15,.12));transition:none}
.dish:hover img{transform:none}
.welcome img,.events-photo img{object-fit:contain;filter:drop-shadow(0 10px 9px rgba(55,38,15,.10))}
.header-actions{display:flex;align-items:center;gap:18px}.language{font-size:12px;font-weight:700;border-bottom:1px solid #9da78f;padding:5px 0;white-space:nowrap}.reference-label{font-size:10px;color:#6a725f;padding:9px 15px 0;text-decoration:underline}.dish-image.reference-image{padding:0}.dish-image.reference-image img{object-fit:cover;filter:none}.guide-section,.faq-section{padding:65px 6%;max-width:1600px;margin:auto}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.guide-card{background:#eeeddf;padding:25px;border:1px solid #d8dccb;border-radius:8px;display:flex;flex-direction:column}.guide-card>span{font-size:10px;color:#a14a2e;letter-spacing:2px}.guide-card h3{font:500 25px/1.3 'Playfair Display',Georgia,serif}.guide-card p{font-size:13px;color:#667060;margin-top:0}.guide-card>b{margin-top:auto;align-self:flex-end}.faq-section{padding-top:20px}.faq-section details,.article-copy details{border-bottom:1px solid #d5dac9;padding:18px 0}.faq-section summary,.article-copy summary{cursor:pointer;font-weight:600;font-size:15px}.faq-section details p,.article-copy details p{color:#667060;font-size:14px;max-width:850px}.footer-links{border-top:1px solid #d8dccb;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:35px 6%;font-size:12px}.footer-links a{text-decoration:underline;text-underline-offset:3px}.review-carousel{display:flex;text-align:left;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 0 25px;margin-bottom:25px}.review-card{flex:0 0 330px;background:#faf6ed;color:#24362b;scroll-snap-align:start;border-radius:9px;padding:25px;display:flex;flex-direction:column;min-height:280px}.stars{letter-spacing:3px;color:#af621b}.review-card blockquote{font:500 23px/1.45 'Playfair Display',Georgia,serif;margin:20px 0;flex:1}.review-card>b{font-size:13px}.reviews .review-card small{color:#65715e;font-size:10px;margin:8px 0}.review-card>a{font-size:11px;text-decoration:underline}.reviews{padding-left:6%;padding-right:6%}.reviews .carousel-controls button{border-color:#798872;color:#faf6ed}.review-intro{font-size:12px!important}.reel-stat{background:#e9e6d6;color:#31432e;padding:13px 18px;font-weight:700;font-size:12px}.guide-article,.static-menu{max-width:1450px;margin:auto;padding:45px 6% 75px}.breadcrumb{font-size:12px}.article-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:55px;align-items:center;margin:35px 0 55px}.article-hero h1,.page-intro h1,.source-page h1{font:500 clamp(38px,4vw,62px)/1.13 'Playfair Display',Georgia,serif;letter-spacing:-1.5px}.article-hero p{font-size:16px;color:#65715e;margin-bottom:25px}.article-hero img{width:100%;height:380px;object-fit:contain;border-radius:14px;background:#e9e6d6}.article-copy{max-width:840px;margin:0 auto}.article-copy h2{font-size:33px;margin-top:40px}.article-copy p{color:#58674f;font-size:16px;line-height:1.9}.article-copy .actions{margin:35px 0}.related-links{display:grid;gap:15px;margin:20px 0}.related-links a{text-decoration:underline;text-underline-offset:4px;font-size:14px}.page-intro{max-width:900px;margin-bottom:45px}.page-intro>a{font-size:12px}.static-menu-section{margin:55px 0}.static-menu-section h2{font-size:38px}.static-menu .dishes{grid-template-columns:repeat(3,minmax(0,1fr))}.source-page{padding:65px 6%}.source-page li{font-size:13px;line-height:1.8;margin:15px 0}.source-page li a{text-decoration:underline}.hero h1{font-size:clamp(48px,5.1vw,76px)}
@media(max-width:1000px){.guide-grid{grid-template-columns:repeat(2,1fr)}.article-hero{gap:25px}.footer-links{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.header-actions{gap:8px}.header-actions .small{display:none}.language{font-size:10px}header nav{gap:8px}header nav a[href$="#galeria"]{display:none}.hero h1{font-size:48px}.guide-section,.faq-section{padding:40px 5%}.guide-grid{grid-template-columns:1fr}.guide-card h3{font-size:24px;margin:12px 0}.guide-card{padding:22px}.article-hero{grid-template-columns:1fr;gap:25px;margin-top:25px}.article-hero img{height:280px}.guide-article,.static-menu{padding:30px 5% 50px}.article-copy p{font-size:15px}.article-copy h2{font-size:29px}.review-card{flex-basis:280px;min-height:275px;padding:22px}.review-card blockquote{font-size:22px}.footer-links{padding:30px 5%;font-size:11px;gap:16px}.static-menu .dishes{grid-template-columns:repeat(2,minmax(0,1fr))}.source-page{padding:40px 5%}.instagram-post iframe{height:500px}}

/* Restaurant originals and Don Asere */
.photo-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding-bottom:12px;scrollbar-width:thin}.photo-strip>a{flex:0 0 260px;height:340px;scroll-snap-align:start}.photo-strip .original-photo{background:#17251b}.photo-strip .original-photo img{object-fit:contain}.mascot-section{margin:0 auto 65px;max-width:1408px;padding:40px 6%;background:#e7e8d7;display:grid;grid-template-columns:minmax(160px,.75fr) 1.3fr minmax(180px,.8fr);gap:36px;align-items:center;border-radius:12px}.mascot-portrait img,.mascot-poster img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain;border-radius:9px}.mascot-copy p{color:#59664f;max-width:460px}.mascot-copy .actions{gap:18px}.mascot-copy h2{font-size:clamp(34px,3.6vw,50px)}@media(max-width:900px){.mascot-section{margin:0 5% 45px;grid-template-columns:.8fr 1.2fr;padding:25px;gap:24px}.mascot-poster{grid-column:1/-1;width:200px;justify-self:center}}@media(max-width:540px){.mascot-section{grid-template-columns:1fr}.mascot-portrait{max-width:230px;justify-self:center}.mascot-poster{grid-column:auto;width:180px}.mascot-copy h2{font-size:38px}.photo-strip>a{flex-basis:240px;height:320px}}

/* Keep the same card dimensions; enlarge only the original plate photograph. */

.dish-image img[src$="p2-6.png"]{width:100%;height:100%;object-fit:contain;transform:scale(1.27) translateY(3px)}.dish:hover .dish-image img[src$="p2-6.png"]{transform:scale(1.27) translateY(3px)}

/* Tailored offsite banquets and restaurant birthdays. */
.events-photo{margin:0;min-width:0}.events-photo img{height:490px;object-fit:cover;border-radius:15px;filter:none}.events-photo figcaption,.illustration-note{font-size:11px;color:#65715e;line-height:1.5;margin-top:10px}.event-page-links{display:grid;gap:12px;margin-top:25px}.event-page-links a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.event-options{gap:22px}.article-hero img[src$="celebracion-familiar.webp"]{object-fit:cover}.events .actions{gap:18px}.events .button{font-size:13px}.events .textlink{font-size:13px}@media(max-width:1000px){.events{gap:4%;padding-left:6%;padding-right:6%}.events-photo img{height:450px}}@media(max-width:700px){.events-photo img{height:300px}.event-options{grid-template-columns:1fr;gap:20px}.events .actions{align-items:flex-start;flex-direction:column}}

/* Restricted Instagram post: useful original photo and direct link instead of a broken iframe. */
.instagram-direct-preview{display:flex!important;position:relative;align-items:center;justify-content:center;height:480px;background:#e7e8d7;padding:30px 20px 75px!important;overflow:hidden}.instagram-direct-preview img{width:100%;height:100%;object-fit:contain}.instagram-play{position:absolute;top:42%;left:42%;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#24362be8;color:#fff;font-size:24px;box-shadow:0 3px 20px #0003}.instagram-open-label{position:absolute;left:18px;right:18px;bottom:22px;text-align:center;color:#fff;background:#c44d2e;border-radius:5px;padding:14px 12px;font-size:12px;font-weight:600}.instagram-login-note{font-size:11px!important;line-height:1.6;color:#677263;padding:0 18px 10px;margin:10px 0}.instagram-link-post .instagram-direct-preview:hover .instagram-play{background:#c44d2e}

/* Keep the complete family banquet visible rather than cropping its serving dishes. */
.events-photo img[src$="banquete-familiar-completo.webp"],.article-hero img[src$="banquete-familiar-completo.webp"]{height:auto;aspect-ratio:3/2;object-fit:contain;background:transparent}

.instagram-text-preview{font:500 34px/1.4 'Playfair Display',Georgia,serif;text-align:center;color:#24362b}.instagram-text-preview small{font:14px/1.8 'DM Sans',sans-serif}

.service-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 28px;background:#24362b;color:#faf6ed;padding:13px 5%;font-size:12px;text-align:center}.service-strip strong{color:#efcf9f;font-size:14px}.dining-policy{display:grid;grid-template-columns:1.5fr 1fr;gap:55px;align-items:center;padding:45px 6%;max-width:1600px;margin:auto;border-bottom:1px solid #dcded1}.dining-policy h2{font-size:36px;margin:14px 0}.dining-policy p{max-width:760px;color:#58674f;font-size:14px}.dining-policy-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.dining-policy-actions>strong{font-size:23px}.dining-policy-actions>span{font-size:13px;font-weight:700}.hours>div{align-items:center}.hours>div>span{font-size:19px;font-weight:700;color:#a4432b}.menu-service-note{background:#e7e8d7;padding:20px;border-radius:8px}.menu-service-note strong{font-size:21px}@media(max-width:700px){.service-strip{gap:6px 16px;padding:12px 5%;font-size:10px}.service-strip strong{width:100%;font-size:14px}.dining-policy{grid-template-columns:1fr;padding:35px 5%;gap:20px}.dining-policy h2{font-size:32px}.dining-policy-actions>strong{font-size:21px}.hours>div{align-items:flex-start;flex-direction:column;gap:10px}.hours>div>span{font-size:20px}}

/* Quiet luxury: warm materials, fine lines, soft depth and restrained motion. */
:root{--gold:#b69a64;--ease-out:cubic-bezier(.22,.61,.36,1)}
::selection{background:#d8bc87;color:#24362b}
header{transition:box-shadow .35s ease,border-color .35s ease,background .35s ease}header.is-scrolled{background:#faf6edf5;box-shadow:0 7px 24px #24362b0c;border-bottom-color:#b69a6440}
header nav a{position:relative;padding:9px 0;transition:color .2s ease}header nav a::after{content:'';position:absolute;bottom:3px;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}header nav a:hover::after,header nav a.is-active::after{transform:scaleX(1)}header nav a.is-active{color:#9c4b30}
.button{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 4px 12px #9d452114;transition:background .25s ease,transform .3s var(--ease-out),box-shadow .3s ease}.button::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 20%,#ffffff20 50%,transparent 80%);transform:translateX(-120%);transition:transform .6s ease}.button:hover::before{transform:translateX(120%)}.button:hover{box-shadow:0 9px 22px #9d452125;transform:translateY(-2px)}.button:active{transform:translateY(0);box-shadow:0 2px 6px #9d452115}
.hero-photo{box-shadow:0 16px 46px #24362b12;border:1px solid #b69a6433}.hero-photo>img{transition:transform 1s var(--ease-out)}.hero-photo:hover>img{transform:scale(1.015)}.photo-label{border:1px solid #b69a6455;box-shadow:0 3px 14px #0000000c}.eyebrow{letter-spacing:2.1px}.dish-caption{border-top:1px solid #d9bd8933}
.dish{transition:transform .35s var(--ease-out),box-shadow .35s ease,border-color .35s ease}.dish-image{background:radial-gradient(ellipse at 50% 45%,#f9f6ec,#e9e5d7)}.dish-image img{transition:transform .5s var(--ease-out)}.dish:hover{transform:translateY(-4px);border-color:#b69a6477;box-shadow:0 12px 28px #24362b0c}.dish:hover img{transform:scale(1.025)}.dish-bottom a,.textlink{transition:color .2s ease,border-color .2s ease}.dish-bottom a:hover,.textlink:hover{color:#ad482d;border-color:#b69a64}
.categories button{transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.categories button:hover{border-color:#b69a64}.categories button.active{box-shadow:0 3px 10px #24362b14}.search{transition:box-shadow .25s ease,border-color .25s ease}.search:focus-within{border-color:#b69a64;box-shadow:0 0 0 3px #b69a6412}
.guide-card{transition:transform .35s var(--ease-out),box-shadow .35s ease,border-color .35s ease}.guide-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #24362b0b;border-color:#b69a64}.guide-card>b{transition:transform .25s ease}.guide-card:hover>b{transform:translateX(4px)}
.photo-strip>a{box-shadow:0 3px 12px #24362b0a}.photo-strip img{transition:transform .7s var(--ease-out)}.photo-strip a:hover img{transform:scale(1.03)}.events-photo img,.mascot-poster img{box-shadow:0 10px 30px #24362b0d}.map-wrap{box-shadow:0 8px 25px #24362b08}.review-card{box-shadow:0 6px 22px #0000000a;border:1px solid #b69a642d}.stars{color:#a77736}
.carousel-controls button{display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,transform .2s ease,opacity .2s ease}.carousel-controls button:hover:not(:disabled){background:#b69a641c;border-color:#b69a64;transform:translateY(-1px)}.carousel-controls button:disabled{opacity:.3;cursor:default}.reviews .carousel-controls button:hover:not(:disabled){background:#b69a6433}
.service-strip{border-bottom:1px solid #b69a6455}.dining-policy{position:relative}.dining-policy::before{content:'';position:absolute;top:0;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,#b69a6477,transparent)}.dining-policy-actions{border-left:1px solid #b69a6444;padding-left:32px}.hours{border-top-color:#b69a6477}.hours>div{border-bottom-color:#b69a6455}
.reading-progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:100;background:#b69a64;transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-enabled .reveal{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.motion-enabled .reveal.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:700px){.dining-policy-actions{border-left:0;border-top:1px solid #b69a6444;padding-left:0;padding-top:22px}.dish:hover{transform:none}.hero-photo{box-shadow:0 9px 24px #24362b0f}.motion-enabled .reveal{transform:translateY(10px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-enabled .reveal{opacity:1;transform:none;transition:none}*,*::before,*::after{animation:none!important;transition:none!important}.button:hover,.dish:hover,.guide-card:hover{transform:none}.hero-photo:hover>img{transform:none}}

/* Operating details: readable but secondary, grouped with directions. */
.hours>div>span{font-size:15px;font-weight:500;color:var(--ink)}
.hours>div:last-child>span{font-size:13px;color:#697163}
@media(max-width:700px){.hours>div{flex-direction:row;align-items:center}.hours>div>span{font-size:14px;text-align:right}}

/* Mobile reading scale: comfortable text, full-size dishes and touch controls. */
.mobile-navigation{display:none}
@media(max-width:900px){
 html{scroll-padding-top:92px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body{font-size:16px}
 main,main section,.hero-copy,.events-copy,.visit>div,.section-heading>div{min-width:0}
 header{padding:8px 5%;gap:12px;min-height:80px}
 header>.brand{flex-shrink:0}
 header .brand img{width:100px;height:64px}
 header>nav,.header-actions>.button{display:none}
 .header-actions{margin-left:auto;gap:10px;min-width:0}
 .language{font-size:14px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:6px 0}
 .mobile-navigation{display:block}
 .mobile-navigation summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-weight:600}
 .mobile-navigation summary::-webkit-details-marker{display:none}
 .mobile-navigation summary span{font-size:21px;line-height:1}
 .mobile-navigation[open]>summary{background:#e7e8d7}
 .mobile-navigation nav{display:flex;position:absolute;top:100%;left:5%;right:5%;max-height:65vh;overflow:auto;flex-direction:column;gap:0;background:var(--cream);border:1px solid var(--line);border-radius:0 0 10px 10px;box-shadow:0 12px 24px #24362b18;padding:8px 16px}
 .mobile-navigation nav a,.mobile-navigation nav a[href$="#galeria"]{display:flex;align-items:center;min-height:48px;font-size:16px;padding:10px 4px;border-bottom:1px solid var(--line)}
 .mobile-navigation nav a:last-child{border-bottom:0;color:var(--orange)}
 p,.hero-copy>p,.visit p,.welcome p,.events-copy>p,.event-options p,.article-copy p,.article-hero p,.page-intro p,.guide-card p,.faq-section details p,.article-copy details p,.instagram-section>p{font-size:16px;line-height:1.7}
 .hero{padding:30px 5% 34px;gap:26px}
 .hero h1{font-size:clamp(40px,11vw,52px);letter-spacing:-1.3px;margin:20px 0}
 h2{font-size:clamp(32px,8.8vw,40px)}
 .eyebrow{font-size:12px;line-height:1.6;letter-spacing:1.6px}
 .button,.events .button,.instagram-section .button,.textlink,.events .textlink{font-size:16px;min-height:48px;line-height:1.4}
 .button{padding:14px 18px;text-align:center;white-space:normal}
 .textlink{display:inline-flex;align-items:center}
 .actions{gap:12px 18px}
 .hero .actions{margin:24px 0 0}
 .hero .actions>.button{flex:1 1 180px}
 .hero-photo>img{height:auto;aspect-ratio:1/1;object-fit:cover}
 .photo-label{font-size:11px;letter-spacing:1px;padding:9px 10px;top:14px;left:14px;max-width:calc(100% - 28px)}
 .dish-caption{padding:18px;font-size:16px;line-height:1.5}
 .dish-caption small{font-size:14px;line-height:1.6}
 .ribbon{font-size:11px;letter-spacing:1px;gap:10px;flex-wrap:wrap;padding:16px 5%}
 .section-heading p{font-size:15px;line-height:1.6}
 .menu-tools{gap:14px}
 .search{min-height:52px;width:100%;padding:10px 14px}
 .search input{font-size:16px;min-height:28px;min-width:0}
 .pdfs{font-size:14px;gap:14px;flex-wrap:wrap}
 .pdfs a{display:inline-flex;align-items:center;min-height:44px}
 .categories{top:85px;padding:12px 0;gap:8px}
 .categories button{font-size:15px;min-height:46px;padding:10px 16px}
 .results-heading{gap:12px}
 .results-heading h3{font-size:27px}
 .results-heading span{font-size:14px;white-space:nowrap}
 .dish h4{font-size:20px;line-height:1.35;margin-bottom:10px}
 .dish p{font-size:16px;line-height:1.6;color:#58644f}
 .dish-text{padding:20px}
 .dish-bottom{gap:12px}
 .dish-bottom b{font-size:20px}
 .dish-bottom a{font-size:15px;min-height:44px;display:inline-flex;align-items:center;padding:8px 0}
 .event-options h3,.visit h3{font-size:19px;line-height:1.5}
 .event-page-links a,.related-links a{font-size:16px;line-height:1.6;min-height:44px;display:flex;align-items:center}
 .event-note,.gallery-credit,.instagram-note,.illustration-note,.events-photo figcaption,.instagram-login-note{font-size:14px!important;line-height:1.6}
 .visit p.muted{font-size:14px!important;line-height:1.7}
 .hours>div{font-size:15px;flex-wrap:wrap;gap:8px 14px}
 .hours>div>span,.hours>div:last-child>span{font-size:15px;line-height:1.6}
 .map-bottom{font-size:15px;min-height:48px}
 .photo-strip>a{flex-basis:82%;max-width:340px;height:340px}
 .photo-strip span{font-size:15px;line-height:1.5}
 .mascot-copy h2{font-size:36px}
 .carousel-controls button{width:46px;height:46px;font-size:18px;flex-shrink:0}
 .instagram-post{flex-basis:calc(100% - 20px);min-width:0;max-width:350px}
 .instagram-post>a,.reel-stat{font-size:15px;line-height:1.5}
 .instagram-post>a{min-height:48px}
 .instagram-open-label{font-size:15px}
 .review-card{flex-basis:calc(100% - 20px);min-width:0;max-width:350px}
 .review-card blockquote{font-size:21px;line-height:1.5}
 .review-card>b{font-size:16px}
 .reviews small,.reviews .review-card small{font-size:14px;line-height:1.6}
 .review-card>a{font-size:14px;min-height:44px;display:flex;align-items:center}
 .review-intro{font-size:15px!important}
 .faq-section summary,.article-copy summary{font-size:17px;line-height:1.5;min-height:44px;align-content:center}
 .footer-links{font-size:15px;line-height:1.6;grid-template-columns:1fr;gap:10px}
 .footer-links a{min-height:44px;display:flex;align-items:center}
 footer>a:not(.brand),footer>span{font-size:14px}
 .breadcrumb,.page-intro>a,.source-page li{font-size:15px;line-height:1.6}
 .mobile-bar{padding:10px 5% calc(10px + env(safe-area-inset-bottom));gap:10px}
 .mobile-bar a{font-size:15px;font-weight:600;min-height:48px;display:flex;align-items:center;justify-content:center;line-height:1.3;padding:12px}
 footer{padding-bottom:110px}
}
@media(max-width:600px){
 .dishes,.static-menu .dishes{grid-template-columns:minmax(0,1fr);gap:20px}
 .dish-image{height:230px;padding:14px}
 .dish.no-photo .dish-text{min-height:0}
}
@media(max-width:380px){.hero .actions>.button{flex-basis:100%}.hero .actions>.textlink{margin:auto}}

@media(min-width:601px) and (max-width:900px){.dishes,.static-menu .dishes{grid-template-columns:repeat(2,minmax(0,1fr))}}
