:root{--color-primary: #111827;--color-accent: #d946ef;--font-family: Inter, system-ui, sans-serif;--text: color-mix(in srgb, var(--color-primary) 88%, #000 12%);--text-muted: color-mix(in srgb, var(--color-primary) 42%, #71717a);--border: color-mix(in srgb, var(--color-primary) 14%, transparent);--border-strong: color-mix(in srgb, var(--color-primary) 28%, transparent);--surface: #fff;--surface-sunken: color-mix(in srgb, var(--color-primary) 5%, var(--color-bg, #faf7ef));--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: clamp(1.5rem, 3vw, 2rem);--text-3xl: clamp(2rem, 5vw, 3rem);--text-4xl: clamp(2.5rem, 7vw, 4.5rem);--radius-sm: 8px;--radius: 12px;--radius-md: 14px;--radius-lg: 22px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(30, 18, 4, .06);--shadow-md: 0 8px 24px rgba(30, 18, 4, .09);--shadow-lg: 0 22px 55px rgba(30, 18, 4, .14);--dur-fast: .12s;--dur: .22s;--dur-slow: .56s;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family);color:var(--text);background:var(--color-bg, #faf7ef);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-heading, var(--font-family));line-height:1.1;letter-spacing:-.01em;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:none}img{max-width:100%}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:3px}.state{color:var(--text-muted);padding:var(--space-4) 0}.state--error{color:#b91c1c}.state--muted{color:color-mix(in srgb,var(--text-muted) 70%,transparent)}@keyframes rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.site{min-height:100vh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);background:var(--color-primary);color:var(--color-on-primary, #fff);position:sticky;top:0;z-index:50;box-shadow:var(--shadow-md);gap:var(--space-4);flex-wrap:wrap}.brand{font-weight:700;font-size:var(--text-xl);font-family:var(--font-heading, var(--font-family));display:inline-flex;align-items:center}.brand__logo{height:40px;width:auto;display:block}.nav{display:flex;align-items:center;gap:var(--space-5)}.nav a{position:relative;opacity:.9;padding:.15rem 0;transition:opacity var(--dur-fast) var(--ease)}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--color-accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur) var(--ease)}.nav a:hover{opacity:1}.nav a:hover:after,.nav a:focus-visible:after{transform:scaleX(1)}.site-main{flex:1;width:min(1120px,92%);margin:0 auto;padding:var(--space-7) 0}.site-footer{padding:var(--space-7) var(--space-5) var(--space-6);text-align:center;color:var(--text-muted);border-top:1px solid var(--border);margin-top:var(--space-6)}.site-footer__brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.site-footer__logo{height:56px;width:auto}.site-footer__tagline{max-width:48ch;margin:0;color:var(--text-muted)}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-3)}.lang-switch{display:inline-flex;gap:var(--space-1);margin-left:var(--space-2);align-items:center}.lang-switch__link{font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-decoration:none;padding:.15rem .45rem;border-radius:var(--radius-sm);color:inherit;opacity:.65;transition:opacity var(--dur-fast) var(--ease)}.lang-switch__link:hover{opacity:.85}.lang-switch__link--active{opacity:1;background:color-mix(in srgb,var(--color-on-primary, #fff) 18%,transparent)}@media(max-width:640px){.site-header{flex-direction:column;align-items:center;padding:var(--space-3) var(--space-4);gap:var(--space-2)}.nav{flex-wrap:wrap;justify-content:center;width:100%;column-gap:var(--space-4);row-gap:var(--space-1)}.nav a,.lang-switch__link{display:inline-flex;align-items:center;min-height:44px}.lang-switch{margin-left:0}.lang-switch__link{padding:.35rem .6rem}}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;background:var(--color-accent);color:var(--color-on-accent, #fff);border:none;border-radius:var(--radius);padding:.6rem 1.2rem;font:inherit;font-weight:600;cursor:pointer;text-align:center;transition:transform var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease)}.btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--color-primary);border:1px solid var(--border-strong)}.btn--ghost:hover:not(:disabled){border-color:var(--color-accent);filter:none}.btn--lg{padding:.9rem 1.75rem;font-size:var(--text-lg);border-radius:var(--radius-pill)}.badge{background:var(--color-accent);color:var(--color-on-accent, #fff);border-radius:var(--radius-pill);padding:.12rem .65rem;font-size:var(--text-xs);font-weight:600}.badge--muted{background:var(--surface-sunken);color:var(--text-muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-5);margin-top:var(--space-5)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.card h3{margin:0}.card__image{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:var(--radius-sm);margin:calc(var(--space-1) * -1) 0 var(--space-1);background:var(--surface-sunken);transition:transform var(--dur) var(--ease)}.card:hover .card__image{transform:scale(1.03)}.card__meta{margin:0;color:var(--text-muted);font-size:var(--text-sm);display:flex;gap:var(--space-2);flex-wrap:wrap}.card__price{font-weight:700;font-size:var(--text-lg);margin:var(--space-1) 0;font-variant-numeric:tabular-nums}.card__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-top:auto}.dialog__overlay{position:fixed;inset:0;background:#140c0473;backdrop-filter:blur(2px)}.dialog__positioner{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.dialog__content{background:var(--surface);border-radius:var(--radius-md);padding:var(--space-5);width:min(420px,100%);max-height:calc(100vh - 2rem);overflow-y:auto;box-shadow:var(--shadow-lg)}.dialog__title{margin:0 0 var(--space-4)}.dialog__image{width:100%;height:auto;border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.form{display:flex;flex-direction:column;gap:var(--space-3)}.form label{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-sm)}.form input{padding:.55rem .65rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit;transition:border-color var(--dur-fast) var(--ease)}.form input:focus-visible{border-color:var(--color-accent)}.form__actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.nav__cart{position:relative;display:inline-flex;align-items:center;gap:var(--space-1)}.nav__cart-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-on-accent, #fff);font-size:var(--text-xs);line-height:1}.cart-table{width:100%;border-collapse:collapse;margin:var(--space-4) 0}.cart-table th,.cart-table td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--border)}.cart-table__qty{width:4rem;padding:.35rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);font:inherit}.cart-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin:var(--space-4) 0 var(--space-6)}.cart-summary__total{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.hero{text-align:center;padding:var(--space-7) 0}.hero:not(.hero--image){background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 10%,transparent),color-mix(in srgb,var(--color-accent) 12%,transparent));border-radius:var(--radius-lg);padding:clamp(2.5rem,6vw,5rem) var(--space-5)}.hero__title{font-size:var(--text-4xl);margin:0 0 var(--space-3)}.hero__subtitle{font-size:var(--text-xl);color:var(--text-muted);max-width:46ch;margin:0 auto var(--space-5)}.hero--image{position:relative;overflow:hidden;border-radius:var(--radius-lg);min-height:clamp(360px,58vh,580px);display:flex;align-items:center;justify-content:center;padding:var(--space-6);color:#fff;text-align:center;isolation:isolate}.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero--image:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0003,#0000009e)}.hero--image .hero__title{font-size:clamp(2.5rem,6vw,4.25rem);text-shadow:0 2px 18px rgba(0,0,0,.4)}.hero--image .hero__subtitle{color:#fffffff0;font-size:var(--text-xl);max-width:36ch;text-shadow:0 1px 10px rgba(0,0,0,.4)}.hero__inner{max-width:46ch}.hero__eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:var(--text-sm);font-weight:600;margin:0 0 var(--space-2);opacity:.85}.hero--image .hero__eyebrow{color:var(--color-accent);opacity:1;text-shadow:0 1px 8px rgba(0,0,0,.45)}.hero__eyebrow,.hero__title,.hero__subtitle,.hero .btn{animation:rise-in var(--dur-slow) var(--ease) both}.hero__title{animation-delay:80ms}.hero__subtitle{animation-delay:.16s}.hero .btn{animation-delay:.24s}.section{margin:var(--space-8) 0}.section__title{font-size:var(--text-2xl);margin:0 0 var(--space-5)}.section__title:before{content:"";display:block;width:2.5rem;height:3px;border-radius:2px;background:var(--color-accent);margin-bottom:var(--space-3)}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap}.section__head .section__title{margin:0}.section__link{color:var(--color-accent);font-weight:600;white-space:nowrap;transition:opacity var(--dur-fast) var(--ease)}.section__link:hover{opacity:.75}.section--band{background:var(--surface-sunken);border-radius:var(--radius-lg);padding:var(--space-6) clamp(1.25rem,4vw,2.5rem)}.section--band .section__title:before{display:none}.highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4)}.highlight{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.highlight:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}.highlight__icon{color:var(--color-accent);margin-bottom:.15rem}.highlight__title{font-family:var(--font-heading, var(--font-family));font-size:var(--text-lg);font-weight:700}.highlight__text{color:var(--text-muted);font-size:var(--text-sm)}.highlight__arrow{color:var(--color-accent);font-size:var(--text-lg);font-weight:700;transition:transform var(--dur) var(--ease)}.highlight:hover .highlight__arrow{transform:translate(4px)}.menu__section-name{margin:0 0 var(--space-3);font-size:var(--text-lg)}.menu-teaser{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-2) var(--space-6)}.menu-teaser__item{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px dotted var(--border-strong)}.menu-teaser__price{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-primary);font-weight:600}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3)}.gallery__item{margin:0;overflow:hidden;border-radius:var(--radius-md)}.gallery__item img{width:100%;height:220px;object-fit:cover;display:block;transition:transform var(--dur-slow) var(--ease)}.gallery__item:hover img{transform:scale(1.05)}.gallery__item figcaption{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-2)}.cta-band{text-align:center;background:var(--color-primary);color:var(--color-on-primary, #fff);border-radius:var(--radius-lg);padding:clamp(2rem,5vw,4rem) var(--space-5)}.cta-band__title{font-size:var(--text-3xl);margin:0 0 var(--space-2)}.cta-band__text{max-width:50ch;margin:0 auto var(--space-5);opacity:.92}.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-4)}.testimonial{position:relative;overflow:hidden;margin:0;padding:var(--space-5);border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.testimonial:before{content:"“";position:absolute;top:-.75rem;right:var(--space-3);font-family:Georgia,Times New Roman,serif;font-size:5rem;line-height:1;color:color-mix(in srgb,var(--color-accent) 20%,transparent);pointer-events:none}.testimonial__quote{position:relative;margin:0 0 var(--space-3);font-size:var(--text-lg);line-height:1.6;quotes:"“" "”"}.testimonial__quote:lang(es){quotes:"«" "»"}.testimonial__quote:before{content:open-quote}.testimonial__quote:after{content:close-quote}.testimonial__author{font-weight:600;color:var(--color-primary)}.faq{display:grid;gap:var(--space-2);max-width:70ch}.faq__item{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-4);background:var(--surface);transition:border-color var(--dur-fast) var(--ease)}.faq__item:hover{border-color:var(--color-accent)}.faq__question{font-weight:600;cursor:pointer;padding:var(--space-3) 0;display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);list-style:none}.faq__question::-webkit-details-marker{display:none}.faq__question:after{content:"";flex:none;width:.55rem;height:.55rem;border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);transform:rotate(45deg);transition:transform var(--dur) var(--ease)}.faq__item[open] .faq__question:after{transform:rotate(-135deg)}.faq__answer{margin:var(--space-1) 0 var(--space-2);color:var(--text-muted)}.menu{margin:var(--space-5) 0 var(--space-7)}.menu__section{margin:var(--space-5) 0}.menu__section-note{color:var(--text-muted);font-size:var(--text-sm);margin:.15rem 0 var(--space-3)}.menu__items{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3)}.menu__item{border-bottom:1px dotted var(--border-strong);padding-bottom:var(--space-2)}.menu__item-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.menu__item-name{font-weight:600}.menu__item-price{white-space:nowrap;font-variant-numeric:tabular-nums}.menu__item-desc{color:var(--text-muted);font-size:var(--text-sm);margin:.2rem 0 0}.menu__tags{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-2) 0 0;padding:0}.menu__tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;background:var(--surface-sunken);color:var(--text-muted);border-radius:var(--radius-pill);padding:.1rem .5rem}.prose{line-height:1.7;margin-top:var(--space-4)}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6{margin:var(--space-5) 0 var(--space-2);line-height:1.3}.prose p{margin:0 0 var(--space-4)}.prose ul,.prose ol{margin:0 0 var(--space-4) var(--space-5)}.prose li{margin:var(--space-1) 0}.prose a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.prose blockquote{margin:var(--space-4) 0;padding:var(--space-2) var(--space-4);border-left:3px solid var(--color-accent);color:var(--text-muted)}.prose code{padding:.1rem .35rem;background:var(--surface-sunken);border-radius:var(--radius-sm);font-size:.9em}.prose hr{border:none;border-top:1px solid var(--border);margin:var(--space-5) 0}.post-detail__cover{width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-2) 0 var(--space-4)}
