@charset "UTF-8";:root{--ink:#090909;--paper:#f2f1eb;--signal:#d9ff43;--impulse-red:#d74732;--line-dark:rgba(255,255,255,.22);--line-light:rgba(9,9,9,.22);--nav-h:64px;--mono:"IBM Plex Mono",monospace;--ease:cubic-bezier(.22,1,.36,1);}*{box-sizing:border-box;}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);}body{margin:0;font-size:12px;line-height:1.45;text-rendering:optimizeLegibility;}body.menu-open{overflow:hidden;}img{display:block;width:100%;height:auto;}a{color:inherit;text-decoration:none;}p, h1, h2, h3, figure, ol, dl, dd{margin:0;}button{font:inherit;}::selection{background:var(--signal);color:var(--ink);}.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:10px 14px;background:var(--signal);color:var(--ink);transform:translateY(-160%);transition:transform .2s;}.skip-link:focus{transform:none;}.theme-section{position:relative;isolation:isolate;}.dark{--section-bg:var(--ink);--section-fg:var(--paper);--line:var(--line-dark);}.light{--section-bg:var(--paper);--section-fg:var(--ink);--line:var(--line-light);}.topbar{--nav-fg:var(--paper);position:fixed;z-index:50;inset:0 0 auto;height:var(--nav-h);display:grid;align-items:center;padding:0 var(--pad);color:var(--nav-fg);background:color-mix(in srgb,var(--nav-bg,var(--ink)) 7%,transparent);-webkit-backdrop-filter:blur(15px) saturate(115%);backdrop-filter:blur(15px) saturate(115%);}.topbar[data-nav-theme="light"]{--nav-fg:var(--ink);--nav-bg:var(--paper);}.wordmark{justify-self:start;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:-.07em;}.site-nav{display:flex;align-items:center;font-size:9px;text-transform:uppercase;}.site-nav a{position:relative;opacity:1;}.site-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;border-bottom:1px solid;transition:right .35s var(--ease);}.site-nav a.is-active{opacity:1;}.site-nav a.is-active::after{right:0;}.reserve-pill{justify-self:end;font-size:9px;text-transform:uppercase;}.reserve-pill:hover, .reserve-pill:focus-visible{background:var(--nav-fg);color:var(--nav-bg);}.menu-toggle{display:none;border:0;background:transparent;color:inherit;padding:8px;text-transform:uppercase;font-size:9px;}.hero{flex-direction:column;}.hero::after{content:"";position:absolute;z-index:-1;inset:var(--nav-h) 0 0;background:radial-gradient(circle at var(--mx,50%) var(--my,42%),rgba(255,255,255,.075),transparent 27%);}.hero h1{font-weight:400;line-height:.86;text-wrap:balance;}.hero h1{font-size:clamp(54px,9.2vw,154px);}.inline-actions{display:flex;align-items:center;gap:22px;}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:max-content;border:1px solid currentColor;padding:12px 15px;text-transform:uppercase;font-size:9px;transition:background .25s,color .25s,transform .25s;}.button:hover, .button:focus-visible{background:var(--section-fg);color:var(--section-bg);}.button--light:hover, .button--light:focus-visible{background:var(--paper);color:var(--ink);}.section-index{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:8px;text-transform:uppercase;opacity:.66;}.section-index span:nth-child(2){text-align:center;}.section-index span:last-child{text-align:right;}.eyebrow{font-size:8px;letter-spacing:.08em;text-transform:uppercase;opacity:.62;}.section-title{display:grid;gap:var(--pad);align-items:start;}.section-title--wide h2{max-width:12ch;}.manifesto-grid{display:grid;gap:clamp(28px,7vw,120px);}.manifesto-copy{max-width:54ch;}.manifesto-copy .lead{font-family:var(--sans);font-size:clamp(20px,2.2vw,36px);line-height:1.12;letter-spacing:-.04em;margin-bottom:28px;}.manifesto-copy>p:last-child{line-height:1.75;}.media-frame{position:relative;overflow:hidden;}.media-frame img{aspect-ratio:1.48/1;object-fit:cover;transition:transform 1.2s var(--ease);}.media-frame:hover img{transform:scale(1.025);}.media-frame figcaption{position:absolute;right:12px;bottom:10px;color:#fff;font-size:7px;text-transform:uppercase;mix-blend-mode:difference;}.principles{list-style:none;padding:0;margin:clamp(70px,11vw,180px) 0 0;display:grid;}.principles li{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto 1fr auto;border-right:1px solid var(--line);}.principles li:last-child{border-right:0;}.principles span{font-size:8px;opacity:.5;}.principles strong{font-family:var(--sans);font-weight:400;font-size:clamp(17px,1.6vw,25px);letter-spacing:-.035em;}.principles p{grid-column:2;align-self:end;max-width:29ch;font-size:9px;opacity:.66;}.menu-layout{display:grid;gap:clamp(38px,8vw,150px);}.dish-list{border-top:1px solid var(--line);}.dish-list article{display:grid;gap:8px 20px;border-bottom:1px solid var(--line);}.dish-list article>span{font-size:7px;text-transform:uppercase;opacity:.5;}.dish-list h3{font-family:var(--sans);font-size:clamp(18px,1.8vw,29px);font-weight:400;letter-spacing:-.04em;}.dish-list p{max-width:42ch;font-size:9px;opacity:.65;}.menu-visual{position:relative;}.menu-visual img{aspect-ratio:1/1;object-fit:cover;filter:saturate(.78);}.menu-note{position:absolute;right:-1px;bottom:-1px;width:42%;min-width:150px;padding:15px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;gap:5px;}.menu-note span{font-size:7px;opacity:.55;}.menu-note strong{font-family:var(--sans);font-size:22px;font-weight:400;letter-spacing:-.04em;}.menu-note p{font-size:8px;}.route-grid{display:grid;}.route-card{position:relative;border-right:1px solid var(--line);}.route-card:last-child{border-right:0;}.route-card>span{font-size:8px;opacity:.5;}.route-card h3{font-family:var(--sans);font-size:clamp(25px,3vw,48px);font-weight:400;letter-spacing:-.055em;}.route-card p{max-width:33ch;margin-top:10px;font-size:9px;opacity:.66;}.route-card b{position:absolute;right:20px;top:14px;font-weight:400;transition:transform .3s;}.experience-section{min-height:110svh;padding:0;display:grid;align-items:stretch;}.experience-section .section-index{position:absolute;z-index:2;left:var(--pad);right:var(--pad);top:calc(var(--nav-h) + 18px);padding:0;mix-blend-mode:difference;color:white;}.experience-image{min-height:100svh;overflow:hidden;}.experience-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);}.experience-copy{display:flex;flex-direction:column;justify-content:center;}.experience-copy>p:not(.eyebrow):not(.gift-note){max-width:55ch;line-height:1.75;}.inline-actions{justify-content:flex-start;flex-wrap:wrap;}.team-section{display:grid;gap:clamp(34px,9vw,150px);align-items:center;}.team-section .section-index{position:absolute;left:var(--pad);right:var(--pad);top:calc(var(--nav-h) + 18px);padding:0;}.team-copy>p:not(.eyebrow){max-width:58ch;line-height:1.75;margin-top:18px;color:rgba(242,241,235,.72);}.team-gallery{position:relative;min-height:min(74vw,860px);}.portrait{position:absolute;overflow:hidden;}.portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.72);}.portrait--main{inset:0 12% 7% 10%;}.hours, .booking{min-height:330px;}.hours{padding-right:clamp(28px,6vw,100px);border-right:1px solid var(--line);}.booking{padding-left:clamp(28px,6vw,100px);display:flex;flex-direction:column;align-items:flex-start;}.hours h3{font:400 clamp(20px,2vw,30px)/1 var(--sans);}.hours dl>div{display:grid;grid-template-columns:1fr 1fr;padding:13px 0;border-top:1px solid var(--line);}.hours dt, .hours dd{font-size:9px;}.hours dd{text-align:right;}.booking>p{font-size:clamp(20px,2.2vw,35px);line-height:1.12;max-width:17ch;}.recognition{display:flex;align-items:center;justify-content:flex-end;gap:20px;font-size:8px;text-transform:uppercase;}.recognition img{width:64px;height:64px;object-fit:contain;filter:grayscale(1);}.footer{min-height:78svh;display:flex;flex-direction:column;}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease);}.reveal.is-visible{opacity:1;transform:none;}a:focus-visible, button:focus-visible{outline:2px solid var(--signal);outline-offset:4px;}@media (max-width:900px){:root{--nav-h:58px;}.section-title h2{grid-column:1;}.section-title h2{margin-top:22px;}.manifesto-copy{max-width:65ch;}.menu-layout{gap:40px;}.experience-image{min-height:68svh;}.experience-copy{min-height:74svh;padding-top:90px;}.team-copy{max-width:720px;}.team-gallery{min-height:90vw;}}@media (max-width:680px){:root{--nav-h:56px;}body{font-size:11px;}.wordmark{font-size:12px;}.menu-toggle{display:inline-flex;gap:8px;justify-self:center;}.reserve-pill{font-size:8px;}.site-nav{position:fixed;z-index:-1;inset:var(--nav-h) 0 auto;display:flex;flex-direction:column;align-items:flex-start;padding:24px var(--pad) 38px;background:var(--nav-bg);color:var(--nav-fg);border-bottom:1px solid currentColor;transform:translateY(calc(-100% - var(--nav-h)));visibility:hidden;transition:transform .55s var(--ease),visibility .55s;}.site-nav.open{transform:none;visibility:visible;}.site-nav a{display:block;width:100%;border-bottom:1px solid color-mix(in srgb,currentColor 22%,transparent);font:400 25px/1 var(--sans);letter-spacing:-.045em;text-transform:none;opacity:1;}.site-nav a:nth-child(4){display:block;width:100%;padding:13px 0;border-bottom:1px solid color-mix(in srgb,currentColor 22%,transparent);font:400 25px/1 var(--sans);letter-spacing:-.045em;text-transform:none;opacity:1;}.hero{padding-bottom:14px;}.hero h1{font-size:clamp(48px,16vw,74px);}.section-index{font-size:7px;}.manifesto-grid{gap:38px;}.manifesto-copy .lead{font-size:23px;}.media-frame{margin-left:0;}.media-frame img{aspect-ratio:4/5;}.principles li{border-right:0;border-bottom:1px solid var(--line);}.principles li:last-child{border-bottom:0;}.route-card{border-right:0;border-bottom:1px solid var(--line);}.route-card:first-child{min-height:180px;border-right:0;border-bottom:1px solid var(--line);}.route-card:last-child{min-height:180px;border-right:0;}.route-card:last-child{border-bottom:0;}.route-card b{right:0;}.experience-section .section-index{top:calc(var(--nav-h) + 14px);}.experience-image{min-height:63svh;}.experience-copy h2{margin-bottom:30px;}.inline-actions{align-items:flex-start;flex-direction:column;}.team-copy h2{margin-bottom:32px;}.team-gallery{min-height:118vw;}.portrait--main{inset:0 8% 8% 0;}.hours{min-height:auto;}.hours{padding-right:0;border-right:0;border-bottom:1px solid var(--line);}.booking{padding-left:0;min-height:365px;}.recognition{justify-content:flex-start;}.recognition img{width:52px;height:52px;}.footer{min-height:100svh;}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*, *::before, *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}.reveal{opacity:1;transform:none;}}@supports not (background:color-mix(in srgb,black,white)){.topbar{background:rgba(9,9,9,.08);}.topbar[data-nav-theme="light"]{background:rgba(242,241,235,.08);}}:root{--u:8px;--s-1:var(--u);--s-2:calc(var(--u) * 2);--s-3:calc(var(--u) * 3);--s-4:calc(var(--u) * 4);--s-6:calc(var(--u) * 6);--s-8:calc(var(--u) * 8);--s-12:calc(var(--u) * 12);--s-16:calc(var(--u) * 16);--outer-margin:clamp(16px,1.65vw,32px);--content-margin:clamp(56px,4.9vw,96px);--grid-gutter:clamp(8px,1vw,20px);--section-y:clamp(64px,7.5vw,144px);--row-unit:calc((100svh - var(--nav-h) - (var(--section-y) * 2)) / 4);--pad:var(--outer-margin);}.section-index{padding-bottom:var(--s-12);}.section-title{margin-bottom:var(--s-12);}.section-title>.eyebrow{grid-column:1/2;}.section-title>h2{grid-column:2/5;}.manifesto-grid{align-items:end;}.manifesto-copy{grid-column:1/2;padding-bottom:var(--s-6);}.media-frame{grid-column:2/5;}.principles{margin-top:var(--s-16);}.principles li:nth-child(1){grid-column:1/2;}.principles li:nth-child(2){grid-column:2/4;}.principles li:nth-child(3){grid-column:4/5;}.principles li{min-height:max(160px,var(--row-unit));padding:var(--s-2) var(--s-3) var(--s-2) 0;}.principles li:not(:first-child){padding-left:var(--s-3);}.menu-layout{align-items:start;}.dish-list{grid-column:1/3;}.menu-visual{grid-column:3/5;}.dish-list article{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--grid-gutter);row-gap:var(--s-1);padding:var(--s-2) 0;}.dish-list article>span{grid-column:1/2;grid-row:1/3;}.dish-list article>h3, .dish-list article>p{grid-column:2/5;}.route-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--s-16);}.route-card:nth-child(1){grid-column:1/2;}.route-card:nth-child(2){grid-column:2/4;}.route-card:nth-child(3){grid-column:4/5;}.route-card{padding:var(--s-2) var(--s-3);min-height:max(208px,var(--row-unit));}.route-card:first-child{padding-left:0;}.route-card:last-child{padding-right:0;}.route-card h3{margin-top:var(--s-8);}.experience-section{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:0;}.experience-image{grid-column:1/3;}.experience-copy{grid-column:3/5;padding:calc(var(--nav-h) + var(--s-12)) var(--content-margin) var(--s-12);}.experience-copy h2{margin:var(--s-3) 0 var(--s-6);}.inline-actions{margin-top:var(--s-4);}.team-section{row-gap:var(--s-8);}.team-copy{grid-column:1/3;padding-top:var(--s-12);}.team-gallery{grid-column:3/5;margin-top:var(--s-8);}.team-copy h2{margin:var(--s-3) 0 var(--s-6);}.hours{grid-column:1/3;padding:var(--s-3) var(--s-8) var(--s-3) 0;}.booking{grid-column:3/5;padding:var(--s-3) 0 var(--s-3) var(--s-8);}.hours dl{margin-top:var(--s-8);}.booking .button{margin-top:var(--s-4);}.recognition{margin-top:var(--s-6);}.footer{padding:calc(var(--nav-h) + var(--s-4)) var(--outer-margin) var(--s-3);}.topbar{padding-inline:var(--outer-margin);}.hero{padding-inline:var(--outer-margin);}.experience-section>.section-index, .team-section>.section-index{left:var(--outer-margin);right:var(--outer-margin);}@media (max-width:900px){:root{--content-margin:clamp(48px,7vw,68px);--grid-gutter:var(--s-2);--section-y:var(--s-12);}.section-title{grid-template-columns:repeat(4,minmax(0,1fr));}.section-title>.eyebrow{grid-column:1/2;}.section-title>h2{grid-column:2/5;}.section-title>h2{margin-top:0;}.manifesto-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.manifesto-copy{grid-column:1/3;}.media-frame{grid-column:2/5;margin-left:0;}.experience-section{grid-template-columns:repeat(4,minmax(0,1fr));}.experience-image{grid-column:1/5;}.experience-copy{grid-column:1/5;padding-inline:var(--content-margin);}.team-section{grid-template-columns:repeat(4,minmax(0,1fr));}.team-copy{grid-column:1/5;}.team-gallery{grid-column:2/5;}}@media (max-width:680px){:root{--outer-margin:14px;--content-margin:42px;--grid-gutter:8px;--section-y:64px;}.section-index{padding-bottom:var(--s-8);}.section-title{margin-bottom:var(--s-8);}.section-title>.eyebrow{grid-column:1/3;}.section-title>h2{grid-column:1/5;}.section-title>h2{margin-top:var(--s-3);}.manifesto-copy{grid-column:1/5;padding-bottom:var(--s-4);}.media-frame{grid-column:1/5;}.principles{margin-top:var(--s-12);}.principles li:nth-child(n){grid-column:1/5;padding:var(--s-2) 0;}.menu-layout{grid-template-columns:repeat(4,minmax(0,1fr));}.dish-list, .menu-visual{grid-column:1/5;}.menu-visual{margin-left:0;margin-top:var(--s-6);}.dish-list article{grid-template-columns:repeat(4,minmax(0,1fr));}.dish-list article>span{grid-column:1/2;}.dish-list article>h3, .dish-list article>p{grid-column:2/5;}.route-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--s-12);}.route-card:nth-child(n){grid-column:1/5;}.route-card, .route-card:first-child, .route-card:last-child{padding:var(--s-2) 0;}.experience-copy{padding:calc(var(--nav-h) + var(--s-3)) var(--content-margin) var(--s-8);}.team-section{padding-top:calc(var(--nav-h) + var(--s-10,80px));}.team-copy{padding-top:var(--s-4);}.team-gallery{grid-column:1/5;margin-top:0;}.hours, .booking{padding:var(--s-4) 0;}}.gallery-section{position:relative;height:340svh;min-height:340svh;overflow:visible;background:var(--ink)!important;color:var(--paper)!important;--section-bg:var(--ink);--section-fg:var(--paper);--line:var(--line-dark);}.gallery-sticky{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--ink);perspective:1200px;}.gallery-meta{position:absolute;z-index:4;top:calc(var(--nav-h) + clamp(10px,1.2vh,16px));left:var(--rail-safe);right:var(--rail-safe);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:var(--type-meta,8px);line-height:1;text-transform:uppercase;opacity:.68;}.gallery-meta h2{font:inherit;text-align:center;}.gallery-meta span:last-child{text-align:right;}.gallery-scene{position:absolute;left:50%;top:50%;width:116vh;height:136vh;display:block;transform-style:preserve-3d;will-change:transform;}.gallery-tile{position:absolute;left:50%;top:50%;width:clamp(54px,6vw,96px);aspect-ratio:4/5;overflow:hidden;background:#141414;box-shadow:0 18px 45px rgba(0,0,0,.42);transform:translateZ(var(--tile-z,0px));will-change:transform,opacity,filter;}.gallery-tile:nth-child(3n/**/+1){aspect-ratio:1/1;}.gallery-tile:nth-child(4n/**/+2){aspect-ratio:3/4;}.gallery-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.68) contrast(1.04);}.gallery-caption{position:absolute;z-index:4;left:var(--rail-safe);bottom:clamp(20px,3vh,32px);font-size:var(--type-meta,8px);text-transform:uppercase;opacity:.58;}main>.gallery-section{height:340svh;min-height:340svh;}@media (min-width:901px){:is(#carta,#about-concept)>.route-grid>.route-card:nth-child(3){margin-left:calc(var(--grid-gutter) * -1)!important;margin-right:var(--grid-gutter)!important;}}:root{--corner-size:clamp(7px,.72vmin,10px);--corner-stroke:1px;--corner-motion:cubic-bezier(.22,.76,.22,1);}:is( .menu-visual,.experience-image,.media-frame,.team-gallery,.portrait, .press-stage,.press-media,.gallery-tile ){border-inline:0!important;box-shadow:none!important;outline:0!important;}.corner-frame{--corner-color:var(--ink);}.theme-section.dark .corner-frame{--corner-color:var(--paper);}.theme-section.light .corner-frame{--corner-color:var(--frame-ink,var(--ink));}.topbar[data-nav-theme="dark"] .corner-frame{--corner-color:var(--paper);}.topbar[data-nav-theme="light"] .corner-frame{--corner-color:var(--ink);}.corner-frame__marks{color:var(--corner-color);}.corner-frame__mark{opacity:.84;transition:background-color 420ms var(--corner-motion),
    border-color 420ms var(--corner-motion),
    opacity 420ms var(--corner-motion),
    transform 620ms var(--corner-motion);}.corner-frame:is(:hover,:focus-visible,:focus-within)>.corner-frame__marks>.corner-frame__mark, .corner-frame.is-active>.corner-frame__marks>.corner-frame__mark, .press-card.is-active>a.corner-frame>.corner-frame__marks>.corner-frame__mark, .site-nav a.is-active>.corner-frame__marks>.corner-frame__mark{opacity:1;}.site-nav a, .reserve-pill{min-height:calc(var(--corner-size) * 3.2);padding:calc(var(--corner-size) * .85) calc(var(--corner-size) * 1.45)!important;}#inicio .hero-brand-panels{--home-corner-color:var(--paper);background:var(--ink);}#inicio .hero-brand-panel{transition:background-color 760ms var(--corner-motion),
    color 620ms var(--corner-motion),
    opacity 620ms var(--corner-motion)!important;}#inicio .hero-brand-panel:hover,
#inicio .hero-brand-panel:focus,
#inicio .hero-brand-panel:focus-visible{color:var(--paper)!important;background:transparent!important;transition:background-color 760ms var(--corner-motion),
    color 620ms var(--corner-motion),
    opacity 620ms var(--corner-motion)!important;}#inicio .hero-panel-content{box-sizing:border-box;}.hero-convergence-lines span{--merge-progress:0;transition:background-color 420ms var(--corner-motion),border-color 420ms var(--corner-motion);}:is(#carta,#about-concept) :is(.route-card,.dish-link):is(:hover,:focus-visible)>.corner-frame__marks, :is(#experiencias,#about-team) .experience-option:is(:hover,:focus-within)>.corner-frame__marks{color:var(--ink);}.editorial-action{gap:12px;color:inherit;text-transform:uppercase;text-decoration:none;transition:background-color 560ms var(--corner-motion),color 500ms var(--corner-motion);}.theme-section.dark .editorial-action:is(:hover,:focus-visible){outline:0;}.theme-section.dark .editorial-action:is(:hover,:focus-visible)>.corner-frame__marks{color:var(--paper);}.press-sticky .press-card:is(.is-active,:hover,:focus-within) a>.corner-frame__marks{color:var(--ink);}@media (max-width:900px){:root{--corner-size:7px;}.corner-frame__mark{--corner-stroke:1px;}.site-nav a{padding:14px 12px!important;}}@media (prefers-reduced-motion:reduce){.corner-frame__mark, .editorial-action, #inicio .hero-brand-panel{transition:none!important;}}@media (max-width:900px){.gallery-section{height:320svh;min-height:320svh;padding:0;}.gallery-sticky{position:sticky;top:0;height:100svh;min-height:100svh;overflow:hidden;perspective:1100px;}.gallery-meta{position:absolute;inset:calc(var(--nav-h) + var(--s-2)) var(--content-margin) auto;grid-template-columns:1fr auto;margin:0;}.gallery-meta h2{display:none;}.gallery-meta span:last-child{text-align:right;}.gallery-scene{position:absolute;left:50%;top:50%;width:104vh;height:138vh;display:block;}.gallery-tile, .gallery-tile:nth-child(n){position:absolute;left:50%;top:50%;width:clamp(46px,15vw,74px);margin:0;}.gallery-caption{position:absolute;left:var(--content-margin);bottom:var(--s-3);margin:0;}}@media (max-width:560px){.gallery-section{height:320svh;min-height:320svh;padding:0;}.gallery-tile, .gallery-tile:nth-child(n){display:block;width:clamp(46px,16vw,70px);margin:0;}}@media (prefers-reduced-motion:reduce){.gallery-section{height:auto!important;min-height:100svh!important;padding:calc(var(--nav-h) + var(--s-8)) var(--content-margin) var(--s-12);}.gallery-sticky{position:relative;height:auto;min-height:100svh;overflow:visible;}.gallery-meta{position:relative;inset:auto;margin-bottom:var(--s-12);}.gallery-scene{position:relative;inset:auto;width:100%;height:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:var(--s-4);transform:none!important;}.gallery-tile, .gallery-tile:nth-child(n){position:relative;inset:auto;width:100%;margin:0;transform:none!important;opacity:1!important;filter:none!important;}.gallery-caption{position:relative;inset:auto;margin-top:var(--s-12);}}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}.theme-section[data-rail-left]{--rail-y:50%;}.block-rails{position:absolute!important;z-index:44!important;inset:0;pointer-events:none;color:var(--canvas-fg);transition:color .12s linear;}.block-rail{position:absolute;top:var(--rail-y);font-size:9px;line-height:1;letter-spacing:-.01em;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;transform-origin:center;will-change:top;}.block-rail--left{left:var(--outer-margin);transform:translateY(-50%) rotate(180deg);}.block-rail--right{right:var(--outer-margin);transform:translateY(-50%);}.hero{min-height:100svh;height:100svh;padding:var(--nav-h) var(--outer-margin) 0;display:block;overflow:hidden;}.hero::after{display:none!important;}.wordmark{width:clamp(86px,7.2vw,112px);line-height:0;}.wordmark img{width:100%;height:auto;filter:invert(1);transition:filter .25s ease;}.topbar[data-nav-theme="light"] .wordmark img{filter:none;}.hero-stage{position:relative;z-index:2;min-height:calc(100svh - var(--nav-h));height:calc(100svh - var(--nav-h));display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;}.hero-data{position:absolute;z-index:2;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;}.hero-cast{text-align:center;line-height:.98;letter-spacing:-.045em;margin:0;z-index:2;}.hero-cast p, .hero-title p{margin:0;}.counter-label{line-height:1;text-transform:uppercase;letter-spacing:.08em;opacity:.68;}.hero-code{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;margin-top:var(--s-2);line-height:1;letter-spacing:-.05em;font-variant-numeric:tabular-nums;}.hero-code span{text-align:center;}.hero-code span:first-child{text-align:left;}.hero-code span:last-child{text-align:right;}.hero-code i{font-style:normal;text-align:center;opacity:.88;}.hero-code b{font-weight:400;}.hero-code small{margin-left:3px;font-size:.38em;letter-spacing:.02em;opacity:.58;}.hero-title{margin-top:clamp(20px,2.8vh,30px);text-align:center;font-size:clamp(16px,1.35vw,22px);line-height:1.02;letter-spacing:-.045em;}.hero-micro{position:absolute;left:50%;bottom:var(--s-3);transform:translateX(-50%);line-height:1.35;letter-spacing:0;opacity:.78;}.hero-micro p:nth-child(2){text-align:center;}.hero-micro p:nth-child(3){text-align:right;}.hero-stage, .hero .block-rails{color:#fff;mix-blend-mode:difference;opacity:1;}.hero [data-kinetic]{will-change:transform,filter,letter-spacing;transition:transform .7s var(--ease),filter .6s ease,letter-spacing .65s var(--ease);}.hero-brand-panels{position:absolute;z-index:1;}.hero-brand-panel{position:relative;margin:0;padding:0;overflow:hidden;border:0;color:var(--paper);cursor:pointer;appearance:none;text-align:inherit;}.hero-brand-panels.has-active .hero-brand-panel{filter:saturate(.82) brightness(.78);}.hero-brand-panels.has-active .hero-brand-panel.is-active{filter:none;}.hero-panel-content{position:absolute;z-index:1;inset:0;display:block;opacity:0;pointer-events:none;}.hero-brand-panel.is-active .hero-panel-content{opacity:1;transform:translate3d(0,0,0);}.hero-panel-content img{position:absolute;object-fit:cover;object-position:center;}.hero-brand-panel--cocina{--panel-image-width:46%;}.hero-brand-panel--con{--panel-image-width:28%;}.hero-brand-panel--corazon{--panel-image-width:46%;}.hero-panel-copy{position:absolute;font-family:var(--mono);line-height:1.2;text-transform:uppercase;white-space:nowrap;}.hero-brand-panel:focus-visible{outline-offset:-4px;}.hero-stage{pointer-events:none;}@media (max-width:680px){.hero-panel-copy{white-space:normal;}}@media (prefers-reduced-motion:reduce){.hero-panel-content{transition:none!important;}}body{--canvas-bg:var(--ink);--canvas-fg:var(--paper);--canvas-line:var(--line-dark);background:var(--canvas-bg);color:var(--canvas-fg);}.theme-section, .theme-section.light, .theme-section.dark{background:transparent;color:var(--canvas-fg);--section-bg:var(--canvas-bg);--section-fg:var(--canvas-fg);--line:var(--canvas-line);}.theme-section.light::after{display:none!important;}.horizontal-story{position:relative;height:calc(var(--panel-count) * 100svh);}.horizontal-sticky{position:sticky;z-index:1;top:0;height:100svh;overflow:hidden;}.horizontal-track{display:flex;width:calc(var(--panel-count) * 100vw);height:100%;will-change:transform;}.horizontal-panel{flex:0 0 100vw;width:100vw;height:100svh;min-height:100svh;}.story-rails{position:absolute;z-index:45;inset:0;pointer-events:none;color:var(--canvas-fg);}.story-rail-pair{position:absolute;inset:0;opacity:0;will-change:opacity,transform;}.story-rail-pair:first-child{opacity:1;}.story-rail{position:absolute;top:50%;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;}.story-rail--left{left:var(--outer-margin);transform:translateY(-50%) rotate(180deg);}.story-rail--right{right:var(--outer-margin);transform:translateY(-50%);}.experience-copy h2, .team-copy h2{line-height:.96;}.experience-copy h2, .team-copy h2{font-size:clamp(30px,3.45vw,48px);}.principles li, .route-card{align-self:stretch;}@media (min-width:901px){main>.theme-section{height:100svh;min-height:100svh;}:root{--content-margin:calc(var(--outer-margin) * 3);--grid-gutter:calc(var(--outer-margin) / 2);--type-meta:8px;--type-body:clamp(10px,.82vw,12px);--type-editorial:clamp(16px,1.35vw,20px);}html{scroll-padding-top:0;}.has-story-rails .horizontal-panel>.block-rails{opacity:0;}.split-section{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;row-gap:clamp(10px,1.5vh,16px);padding:calc(var(--nav-h) + var(--content-margin)) var(--content-margin) var(--content-margin);}.split-section>.section-index{padding-bottom:0;}.split-section>.section-title{margin-bottom:0;}.split-section>.manifesto-grid, .split-section>.menu-layout{min-height:0;height:100%;}.section-index, .eyebrow{font-size:var(--type-meta);}.team-copy h2{line-height:1.12;}.section-title:not(.section-title--wide)>h2{grid-column:2/4;}.media-frame{height:100%;min-height:0;}.media-frame img{height:100%;aspect-ratio:auto;object-fit:cover;}.principles{height:clamp(88px,13vh,112px);margin-top:0;}.principles li{min-height:0;}.principles strong{font-size:var(--type-editorial);}.principles p{font-size:var(--type-meta);line-height:1.35;}:is(#carta,#about-concept) .section-title h2{font-size:var(--type-editorial);}:is(#carta,#about-concept) .menu-layout{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--grid-gutter);}:is(#carta,#about-concept) .dish-list article{row-gap:4px;}:is(#carta,#about-concept) .dish-list article>h3{font-size:var(--type-editorial);}:is(#carta,#about-concept) .dish-list article>p{font-size:var(--type-meta);line-height:1.4;}:is(#carta,#about-concept) .menu-note{gap:3px;}:is(#carta,#about-concept) .menu-note strong{font-size:var(--type-editorial);}.menu-visual{height:100%;min-height:0;overflow:hidden;}.menu-visual img{height:100%;aspect-ratio:auto;object-fit:cover;}.route-grid{height:clamp(88px,13vh,112px);margin-top:0;}.route-card{min-height:0;}:is(#carta,#about-concept) .route-card:first-child{padding-left:0;}:is(#carta,#about-concept) .route-card:last-child{padding-right:0;}:is(#carta,#about-concept) .route-card h3{font-size:var(--type-editorial);}:is(#carta,#about-concept) .route-card p{font-size:var(--type-meta);line-height:1.35;}.experience-section{height:100svh;min-height:100svh;}.experience-image{height:100%;min-height:0;}.experience-copy h2{font-size:var(--type-editorial);font-weight:400;line-height:1.2;}.experience-copy>p:not(.eyebrow):not(.gift-note){font-family:var(--sans);font-size:var(--type-editorial);font-weight:400;line-height:1.2;letter-spacing:-.025em;}.experience-copy h2{margin:var(--s-3) 0 var(--s-3);}.team-section{height:100svh;min-height:100svh;padding-top:calc(var(--nav-h) + var(--content-margin));padding-bottom:var(--content-margin);}.team-copy{padding-top:var(--s-6);}.team-copy h2{font-size:var(--type-editorial);}.team-copy>p:not(.eyebrow){font-size:var(--type-body);line-height:1.55;}.team-gallery{margin-top:0;}.team-section>.section-index{top:calc(var(--nav-h) + var(--content-margin));}.hours{padding-right:0;}.booking{padding-left:0;}.booking>p{font-size:var(--type-editorial);font-weight:400;line-height:1.16;}.hours h3{font-size:var(--type-editorial);}.recognition{margin-top:0;}.footer{height:100svh;min-height:100svh;}}@media (max-width:680px){.block-rail{font-size:7px;}.wordmark{width:88px;}.hero-cast{margin:0;}.counter-label{width:72vw;text-align:center;line-height:1.35;}.hero-code{margin-top:var(--s-2);}.hero-code small{font-size:.38em;margin-left:2px;}.hero-title{font-size:12px;margin-top:var(--s-2);}.hero-micro{bottom:var(--s-2);}}@media (max-width:900px){.horizontal-story{height:auto!important;}.horizontal-sticky{position:relative;height:auto;overflow:visible;}.horizontal-track{display:block;width:100%;height:auto;transform:none!important;will-change:auto;}.horizontal-panel{width:100%;height:auto;min-height:100svh;}.story-rails{display:none;}}@media (prefers-reduced-motion:reduce){.hero [data-kinetic]{transition:none;}.horizontal-story{height:auto!important;}.horizontal-sticky{position:relative;height:auto;overflow:visible;}.horizontal-track{display:block;width:100%;height:auto;transform:none!important;will-change:auto;}.horizontal-panel{width:100%;height:auto;min-height:100svh;}.story-rails{display:none;}.has-story-rails .horizontal-panel>.block-rails{opacity:1;}}:root{--type-content:clamp(10px,.64vw,12px);--editorial-gap:clamp(18px,1.8vw,34px);}.topbar{border-bottom:0;}@media (min-width:901px){:is(#carta,#about-concept){display:grid;column-gap:0;row-gap:0;padding:var(--nav-h) 0 0;}:is(#carta,#about-concept)>.section-title, :is(#carta,#about-concept)>.menu-layout{display:contents;}:is(#carta,#about-concept)>.section-index{grid-row:1;display:grid;grid-template-columns:1fr 1fr;align-self:start;padding:clamp(10px,1.2vh,16px) var(--editorial-gap) 0;}:is(#carta,#about-concept)>.section-index span:first-child{grid-column:1;}:is(#carta,#about-concept)>.section-index span:nth-child(2){grid-column:2;text-align:left;}:is(#carta,#about-concept)>.section-index span:last-child{display:none;}:is(#carta,#about-concept) .section-title>.eyebrow{grid-column:3;grid-row:1;align-self:start;margin:clamp(52px,7vh,76px) var(--editorial-gap) 0;}:is(#carta,#about-concept) .section-title>h2{grid-column:4;grid-row:1;align-self:start;margin:clamp(52px,7vh,76px) var(--editorial-gap) 0;}:is(#carta,#about-concept) .menu-visual{margin:0;}:is(#carta,#about-concept)>.route-grid{grid-row:2;align-self:start;display:grid;height:auto;margin:0;padding:clamp(14px,2.6vh,28px) var(--editorial-gap) 0;}:is(#carta,#about-concept) .route-card p{margin-top:4px;}:is(#carta,#about-concept) .route-card b{right:0;top:0;}:is(#carta,#about-concept) .dish-list{grid-column:3/5;grid-row:2/4;align-self:end;display:grid;grid-template-columns:1fr;width:100%;padding:0 var(--editorial-gap) clamp(22px,3vh,34px);}:is(#carta,#about-concept) .dish-list article{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:4px var(--editorial-gap);padding:clamp(7px,1.05vh,11px) 0;}:is(#carta,#about-concept) .dish-list article>span{grid-column:1;grid-row:1/3;}:is(#carta,#about-concept) .dish-list article>h3{grid-column:2;grid-row:1;}:is(#carta,#about-concept) .dish-list article>p{grid-column:2;grid-row:2;max-width:32ch;}:is(#carta,#about-concept) .menu-note{right:var(--editorial-gap);bottom:clamp(22px,3vh,34px);width:auto;min-width:0;padding:0;background:transparent;color:#fff;}.experience-section{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:var(--nav-h) 0 0;}.experience-section>.experience-image{grid-column:1/3;grid-row:1;width:100%;height:100%;min-height:0;}.experience-section>.section-index{z-index:3;top:calc(var(--nav-h) + clamp(10px,1.2vh,16px));left:calc(50% + var(--editorial-gap));grid-template-columns:1fr 1fr;color:var(--canvas-fg);mix-blend-mode:normal;}.experience-section>.section-index span:nth-child(2){text-align:left;}.experience-copy{grid-column:3/5;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(150px,.9fr) minmax(180px,1.15fr) minmax(120px,.8fr) minmax(80px,.55fr);gap:0;min-height:0;padding:0 var(--editorial-gap);}.experience-copy>.eyebrow{grid-column:1;grid-row:1;align-self:start;margin-top:clamp(52px,7vh,76px);}.experience-copy>h2{grid-column:2;grid-row:1;align-self:start;margin:clamp(52px,7vh,76px) 0 0;}.experience-copy>p:not(.eyebrow):not(.gift-note){grid-column:2;grid-row:2;align-self:start;max-width:32ch;margin:0;}.experience-copy>.inline-actions{grid-column:1/3;grid-row:3;align-self:start;display:grid;grid-template-columns:1fr 1fr;gap:var(--editorial-gap);width:100%;margin:0;}.experience-copy .inline-actions>a{display:grid;grid-template-columns:1fr auto;align-items:start;gap:4px 10px;padding:0;border:0;background:transparent;color:inherit;text-transform:uppercase;}.experience-copy .inline-actions small{grid-column:1/3;display:block;max-width:27ch;text-transform:none;opacity:.68;}.team-section{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:calc(var(--nav-h) + clamp(44px,7vh,76px)) var(--editorial-gap) clamp(24px,4vh,44px);}.team-copy{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr;align-self:center;gap:0 var(--editorial-gap);padding:0;}.team-copy>.eyebrow{grid-column:1;grid-row:1;}.team-copy>h2{grid-column:2;grid-row:1;margin:0;}.team-copy>p:not(.eyebrow){grid-column:2;margin-top:clamp(18px,3vh,30px);max-width:34ch;}.team-gallery{grid-column:3/5;width:100%;height:calc(100svh - var(--nav-h) - clamp(68px,11vh,120px));min-height:0;margin:0;}.portrait--main{inset:0 8% 5% 0;}.hours, .booking{grid-column:auto;}.hours dl>div{display:grid;grid-template-columns:1fr;gap:4px;padding:7px 0;}.hours dd{text-align:left;}.footer{display:grid;grid-template-rows:auto 1fr auto;padding:calc(var(--nav-h) + clamp(24px,4vh,44px)) var(--editorial-gap) clamp(20px,3vh,32px);}}@media (max-width:680px){.experience-copy .inline-actions>a{display:flex;flex-wrap:wrap;}.experience-copy .inline-actions small{flex-basis:100%;display:block;margin-top:5px;text-transform:none;opacity:.68;}}main .theme-section:not(#inicio) :is(p,h2,h3,strong,span,small,dt,dd,a,b,figcaption), .story-rail{font-family:var(--mono)!important;font-size:var(--type-content)!important;font-weight:300!important;line-height:1.4!important;letter-spacing:0!important;text-transform:none!important;color:inherit!important;opacity:1;}main .theme-section:not(#inicio) .section-index{opacity:1;}@media (max-width:680px){#inicio .hero-micro{font-size:var(--type-content);}}@media (min-width:901px){.experience-copy .inline-actions>a:only-child{grid-column:2;}.press-section{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto 1fr;gap:0 var(--editorial-gap);padding:calc(var(--nav-h) + clamp(18px,3vh,32px)) var(--editorial-gap) clamp(26px,4vh,44px);}.press-section>.section-index{grid-column:1/5;grid-row:1;padding:0;}.press-heading{grid-column:1/3;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:var(--editorial-gap);padding-top:clamp(52px,8vh,86px);}.press-heading>h2{font:inherit;margin:0;}.press-list{grid-column:1/5;grid-row:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--editorial-gap);align-self:center;}.press-card a{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto minmax(90px,1fr) auto;gap:clamp(12px,2.2vh,24px) 12px;min-height:clamp(170px,27vh,260px);align-content:start;}.press-card h3{grid-column:1/3;max-width:26ch;}.press-card>a>span:last-child{grid-column:2;grid-row:1;}.press-card a{transition:opacity .25s ease,transform .35s var(--ease);}.press-card a:hover, .press-card a:focus-visible{opacity:.58;transform:translateY(-4px);}.booking{padding:0;}.hours dl{margin-top:clamp(16px,3vh,30px);}.booking{min-height:0;}.booking .button{margin-top:clamp(22px,4vh,42px);}.recognition{grid-column:3/5;grid-row:2;align-self:end;justify-self:end;margin:0;}}@media (max-width:900px){.site-nav a:nth-child(4){display:block;}.principles-kicker{margin:var(--s-8) 0 var(--s-3);}.press-section{min-height:100svh;padding:calc(var(--nav-h) + var(--s-3)) var(--content-margin) var(--s-10);}.press-section>.section-index{padding-bottom:var(--s-8);}.press-heading{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gutter);}.press-heading>.eyebrow{grid-column:1/3;}.press-heading>h2{grid-column:3/5;font:inherit;}.press-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-10) var(--grid-gutter);margin-top:var(--s-12);}.press-card a{display:grid;grid-template-columns:1fr auto;gap:var(--s-2);}.press-card h3{grid-column:1/3;max-width:28ch;}}@media (max-width:680px){.press-list{grid-template-columns:1fr;}}:root{--rail-safe:clamp(56px,4.4vw,84px);}.route-label p, .dish-heading h3, .dish-heading p, .dish-categories p{margin:0;}.dish-categories{list-style:none;padding:0;}@media (min-width:901px){:is(#carta,#about-concept)>.section-index, :is(#carta,#about-concept)>.route-grid, :is(#carta,#about-concept)>.dish-list{padding-right:var(--rail-safe);}:is(#carta,#about-concept)>.section-index span:nth-child(2), .experience-section>.section-index span:nth-child(2){padding-left:var(--editorial-gap);}:is(#carta,#about-concept) .section-title>h2{margin-right:var(--rail-safe);}:is(#carta,#about-concept){grid-template-rows:minmax(132px,.78fr) minmax(132px,.64fr) minmax(270px,1.42fr);}:is(#carta,#about-concept)>.route-grid{align-items:start;gap:var(--editorial-gap);padding-top:clamp(14px,2.2vh,24px);}:is(#carta,#about-concept) .route-label{align-self:start;}:is(#carta,#about-concept) .route-card{min-height:0;text-align:left;}:is(#carta,#about-concept) .route-card:first-child, :is(#carta,#about-concept) .route-card:last-child{padding:0;min-height:0;text-align:left;}:is(#carta,#about-concept) .route-card h3{margin-top:4px;}:is(#carta,#about-concept) .route-card p{max-width:25ch;}:is(#carta,#about-concept) .dish-list--categories{grid-row:3;align-self:stretch;display:grid;gap:clamp(12px,1.8vh,20px) var(--editorial-gap);padding-top:clamp(12px,2vh,22px);}:is(#carta,#about-concept) .dish-heading{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--editorial-gap);align-items:start;}:is(#carta,#about-concept) .dish-heading h3{grid-column:1;}:is(#carta,#about-concept) .dish-heading p{grid-column:2/4;}:is(#carta,#about-concept) .dish-categories li{grid-template-columns:minmax(96px,.72fr) minmax(0,1.28fr);gap:var(--editorial-gap);align-items:start;}:is(#carta,#about-concept) .dish-categories li:nth-child(even){text-align:left;}:is(#carta,#about-concept) .dish-categories p{max-width:29ch;opacity:.72;}.experience-copy{padding-right:var(--rail-safe);}.experience-section>.section-index{right:var(--rail-safe);}.team-section>.section-index, .press-section>.section-index{left:var(--rail-safe);right:var(--rail-safe);}.press-card{position:relative;}.press-card a{position:relative;z-index:1;}}.experience-option{transform-origin:left center;}.experience-option:hover, .experience-option:focus-visible{opacity:1!important;filter:contrast(1.12);}.route-card:hover b, .route-card:focus-visible b, .experience-option:hover>span, .experience-option:focus-visible>span{transform:translate3d(6px,-6px,0) rotate(8deg);}.experience-option>span{display:inline-block;transition:transform .48s var(--ease);}.button:hover, .button:focus-visible, .reserve-pill:hover, .reserve-pill:focus-visible{transform:translateY(-5px);}@media (max-width:900px){:is(#carta,#about-concept) .route-label{grid-column:1/5;}:is(#carta,#about-concept) .dish-list--categories{display:block;}:is(#carta,#about-concept) .dish-heading{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gutter);}:is(#carta,#about-concept) .dish-heading h3{grid-column:1/3;}:is(#carta,#about-concept) .dish-heading p{grid-column:3/5;}:is(#carta,#about-concept) .dish-categories{display:grid;gap:var(--s-6);margin:var(--s-10) 0;}:is(#carta,#about-concept) .dish-categories li{display:grid;grid-template-columns:minmax(94px,1fr) 2fr;gap:var(--grid-gutter);align-items:start;}:is(#carta,#about-concept) .dish-categories p{opacity:.72;}}.experience-note{position:absolute;right:var(--editorial-gap);bottom:clamp(22px,3vh,34px);display:flex;flex-direction:column;gap:4px;max-width:28ch;color:#fff;text-align:right;mix-blend-mode:difference;}.experience-note span{opacity:.68;}@media (min-width:901px){.horizontal-story+ .horizontal-story{margin:0;}.layered-story .horizontal-sticky{background:transparent;}.layered-story .horizontal-track{position:relative;display:block;width:100%;height:100%;transform:none;}.layered-story .horizontal-panel{position:absolute;inset:0;width:100vw;height:100svh;overflow:hidden;}.layered-story .story-panel--from{z-index:3;}.layered-story .story-panel--to{z-index:2;pointer-events:none;}.layered-story .story-row{position:relative;z-index:4;will-change:transform,opacity;backface-visibility:hidden;}.layered-story .story-image{will-change:transform,filter;transition:none!important;}.layered-story .story-image.reveal{opacity:1;}.layered-story .story-image--from{z-index:1;}.layered-story .story-image--to{z-index:2;transform:translate3d(50vw,0,0);}.horizontal-story--main :is(#experiencias,#about-team)>.experience-image{position:absolute;inset:0 0 0 auto;grid-column:3/5;width:50vw;height:100%;}.horizontal-story--main :is(#experiencias,#about-team)>.section-index{grid-column:1/-1;grid-row:1/-1;align-self:start;top:clamp(10px,1.2vh,16px);left:var(--rail-safe);right:auto;width:calc(50% - var(--rail-safe) - var(--editorial-gap));}.horizontal-story--main :is(#experiencias,#about-team)>.experience-copy{grid-column:1/3;padding-left:var(--rail-safe);padding-right:var(--editorial-gap);}}@media (max-width:900px){.experience-note{right:var(--content-margin);bottom:var(--s-3);}.layered-story .horizontal-panel{position:relative;inset:auto;overflow:visible;}.layered-story .story-row, .layered-story .story-image{transform:none!important;opacity:1!important;filter:none!important;clip-path:none!important;}}@media (prefers-reduced-motion:reduce){.layered-story .story-row, .layered-story .story-image{transform:none!important;opacity:1!important;filter:none!important;clip-path:none!important;}}.reveal.pulse-parent{opacity:1;transform:none;transition:none;}[data-pulse-item]{opacity:0;filter:blur(5px);translate:-32px 0;will-change:opacity,filter,translate;transition:opacity var(--pulse-duration,.72s) var(--ease) var(--pulse-delay,0ms),
    filter var(--pulse-duration,.72s) var(--ease) var(--pulse-delay,0ms),
    translate var(--pulse-duration,.72s) var(--ease) var(--pulse-delay,0ms);}[data-pulse-item].is-pulsed{opacity:1;filter:blur(0);translate:0 0;}@media (prefers-reduced-motion:reduce){[data-pulse-item]{opacity:1!important;filter:none!important;translate:0 0!important;transition:none!important;}}@media (min-width:901px){:is(#carta,#about-concept)>.section-index{padding-top:clamp(10px,1.2vh,16px);}:is(#carta,#about-concept) .route-label{grid-column:1;text-align:left;}:is(#carta,#about-concept) .route-card:nth-child(2){grid-column:2;padding-left:clamp(18px,2vw,36px);text-align:left;}:is(#carta,#about-concept) .route-card:nth-child(2) p{margin-left:0;margin-right:auto;}:is(#carta,#about-concept) .route-card:nth-child(2) b{left:auto;right:0;}:is(#carta,#about-concept) .route-card:nth-child(3){grid-column:3;padding-right:0;text-align:left;}:is(#carta,#about-concept) .route-card:nth-child(3) p{margin-left:0;margin-right:auto;}:is(#carta,#about-concept) .route-card:nth-child(3) b{left:auto;right:0;}:is(#carta,#about-concept) .dish-list--categories{grid-template-rows:1fr auto;column-gap:var(--editorial-gap);row-gap:clamp(14px,2vh,22px);}:is(#carta,#about-concept) .dish-heading{grid-column:1;grid-row:2;display:block;align-self:start;}:is(#carta,#about-concept) .dish-heading p{max-width:30ch;margin-top:5px;}:is(#carta,#about-concept) .dish-categories{grid-column:2;grid-row:1/3;display:grid;grid-template-columns:1fr;gap:clamp(8px,1.15vh,13px);align-content:start;margin:0;}:is(#carta,#about-concept) .dish-categories li{display:block;text-align:left;}:is(#carta,#about-concept) .dish-categories li span{display:block;}:is(#carta,#about-concept) .dish-categories li p{max-width:34ch;margin-top:3px;}:is(#carta,#about-concept) .dish-link{grid-column:1;grid-row:1;align-self:start;}.experience-section>.section-index span:first-child{grid-column:2;text-align:left;padding-left:0;}.experience-section>.section-index span:first-child::after{content:" · EXPERIENCIAS";}.experience-section>.section-index span:nth-child(2), .experience-section>.section-index span:last-child{display:none;}}@media (min-width:901px){main>.gallery-section{height:340svh!important;min-height:340svh!important;}}.gallery-section{z-index:1;}@media (max-width:900px){main>.gallery-section{height:320svh!important;min-height:320svh!important;}}@media (prefers-reduced-motion:reduce){main>.gallery-section{height:auto!important;min-height:100svh!important;}}@media (min-width:901px){.gallery-scene{width:164vh;}.gallery-tile{width:clamp(70px,7.8vw,126px);}.press-layout{grid-column:1/5;grid-row:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--editorial-gap);height:clamp(360px,62vh,620px);min-height:0;align-self:end;padding-top:clamp(16px,2.5vh,28px);}.press-layout .press-list{grid-column:1/2;grid-row:auto;display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(12px,2vh,20px);align-self:stretch;height:100%;margin:0;}.press-layout .press-card a{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px 12px;min-height:0;padding:0;opacity:.46;transform:none;box-shadow:none;}.press-layout .press-card h3{grid-column:1/3;max-width:27ch;}.press-layout .press-card>a>span:last-child{grid-column:2;grid-row:1;}.press-layout .press-card.is-active a, .press-layout .press-card:hover a, .press-layout .press-card:focus-within a{opacity:1!important;transform:translate3d(8px,0,0);letter-spacing:0;box-shadow:none;}.press-stage{position:relative;grid-column:2/5;min-height:0;height:clamp(360px,62vh,620px);overflow:hidden;}.press-media{position:absolute;left:-12%;top:-18%;width:72%;height:44%;margin:0;overflow:hidden;opacity:0;filter:blur(7px);clip-path:inset(0 100% 0 0);will-change:left,top,width,height,opacity,filter,clip-path;transition:left .9s cubic-bezier(.18,.78,.18,1),
      top .9s cubic-bezier(.18,.78,.18,1),
      width .9s cubic-bezier(.18,.78,.18,1),
      height .9s cubic-bezier(.18,.78,.18,1),
      opacity .5s ease,
      filter .72s ease,
      clip-path .9s cubic-bezier(.18,.78,.18,1);}.press-media img{width:100%;height:100%;object-fit:cover;}.press-stage.is-ready .press-media[data-press-state="active"]{z-index:3;left:0;top:0;width:100%;height:58%;opacity:1;filter:blur(0);clip-path:inset(0);}.press-stage.is-ready .press-media[data-press-state="next"]{z-index:2;left:35%;top:62%;width:65%;height:34%;opacity:.92;filter:blur(0);clip-path:inset(0);}}@media (max-width:900px){.press-layout{display:block;margin-top:var(--s-12);}.press-layout .press-list{margin-top:0;}.press-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gutter);margin-top:var(--s-10);}.press-media{position:relative;overflow:hidden;aspect-ratio:4/3;}.press-media:nth-child(even){margin-top:var(--s-8);}.press-media img{width:100%;height:100%;object-fit:cover;}}@media (prefers-reduced-motion:reduce){.press-media{transition:none!important;filter:none!important;}}@media (min-width:901px){.press-sticky{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto minmax(0,1fr);gap:0 var(--editorial-gap);}.press-sticky>.section-index{grid-column:1/5;grid-row:1;padding:0;}.press-sticky>.press-heading{grid-column:1/3;grid-row:2;padding-top:clamp(36px,5.5vh,58px);}.press-sticky>.press-layout{grid-column:1/5;grid-row:3;min-height:0;align-self:stretch;}}@media (min-width:901px) and (prefers-reduced-motion:reduce){.press-sticky>.press-layout{grid-template-columns:1fr 3fr;gap:var(--editorial-gap);}.press-sticky .press-list{inset:auto;grid-column:1;}.press-sticky .press-stage{inset:auto;grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gutter);}.press-sticky .press-media, .press-sticky .press-stage.is-ready .press-media{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:4/3;opacity:1!important;filter:none!important;}}body .gallery-section{background:transparent!important;}body .gallery-sticky{z-index:6;background:var(--canvas-bg)!important;}main>.press-section{display:block;height:400svh!important;min-height:400svh!important;padding:0;overflow:visible;color:var(--ink)!important;--section-fg:var(--ink);--line:var(--line-light);}.press-sticky{position:sticky;top:0;width:100%;height:100svh;min-height:100svh;overflow:hidden;display:block;padding:calc(var(--nav-h) + clamp(14px,2.2vh,24px)) var(--rail-safe) clamp(18px,3vh,30px);}.press-sticky>.press-layout{position:relative;display:block;width:100%;height:100%;margin:0;padding:0;}.press-sticky .press-list{position:absolute;z-index:8;left:0;top:0;bottom:0;height:auto;flex-direction:column;margin:0;will-change:transform;}.press-sticky .press-card{flex:0 1 auto;}.press-sticky .press-stage{position:absolute;z-index:2;right:0;top:calc((var(--nav-h) + clamp(14px,2.2vh,24px)) * -1);bottom:0;width:auto;height:auto;margin:0;overflow:hidden;}.press-sticky .press-media, .press-sticky .press-stage.is-ready .press-media{position:absolute;margin:0;opacity:0;clip-path:none;transition:none;will-change:left,top,width,height,opacity,filter;}.press-sticky .press-media img{width:100%;height:100%;object-fit:cover;}.press-sticky .press-media img{transform-origin:center;will-change:transform;}@media (max-width:900px){main>.press-section{height:400svh!important;min-height:400svh!important;padding:0;}.press-sticky{display:block;position:sticky;top:0;height:100svh;min-height:100svh;overflow:hidden;padding:calc(var(--nav-h) + var(--s-2)) var(--content-margin) var(--s-3);}.press-sticky>.press-layout{position:relative;display:block;width:100%;height:100%;margin:0;}.press-sticky .press-list{position:absolute;z-index:8;left:0;top:0;bottom:0;flex-direction:column;margin:0;}.press-sticky .press-stage{position:absolute;z-index:2;right:-38%;top:calc((var(--nav-h) + var(--s-2)) * -1);bottom:0;display:block;margin:0;overflow:hidden;}.press-sticky .press-media, .press-sticky .press-stage.is-ready .press-media{position:absolute;margin:0;aspect-ratio:auto;opacity:0;clip-path:none;transition:none;}}@media (prefers-reduced-motion:reduce){main>.press-section{height:auto!important;min-height:100svh!important;padding:calc(var(--nav-h) + var(--s-8)) var(--content-margin) var(--s-12);}.press-sticky{position:relative;inset:auto;height:auto;min-height:0;overflow:visible;display:block;padding:0;}.press-sticky>.press-layout{height:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--editorial-gap);}.press-sticky .press-list{position:relative;inset:auto;height:auto;}.press-sticky .press-stage{position:relative;inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gutter);overflow:visible;}.press-sticky .press-media, .press-sticky .press-stage.is-ready .press-media{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:1/1;opacity:1!important;filter:none!important;}}@media (max-width:600px) and (prefers-reduced-motion:reduce){.press-sticky>.press-layout{grid-template-columns:1fr;}.press-sticky .press-stage{grid-template-columns:repeat(2,minmax(0,1fr));}}.gallery-section, .press-section{--rail-y:50%!important;}.gallery-sticky>.block-rails, .press-sticky>.block-rails{position:absolute!important;inset:0!important;height:100%;transform:translateZ(0);backface-visibility:hidden;contain:layout paint;}.gallery-sticky .block-rail, .press-sticky .block-rail{top:50%!important;will-change:auto;}@media (min-width:901px){.story-rail-pair{transform:none!important;transition:opacity .42s ease;}.theme-section .block-rails, .horizontal-story .story-rails{display:none!important;}.global-rail-flow{position:fixed;z-index:45;inset:0;overflow:hidden;pointer-events:none;color:var(--canvas-fg);}.global-rail-pair{position:absolute;inset:0;opacity:0;will-change:opacity,transform;}.global-rail{position:absolute;top:50%;font-size:9px;line-height:1;letter-spacing:-.01em;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;}.global-rail--left{left:var(--outer-margin);transform:translateY(-50%) rotate(180deg);}.global-rail--right{right:var(--outer-margin);transform:translateY(-50%);}}@media (max-width:900px), (prefers-reduced-motion:reduce){.global-rail-flow{display:none!important;}}.site-nav a{--nav-mx:0px;}.reserve-pill{--nav-mx:0px;--nav-my:0px;transform:translate3d(var(--nav-mx),var(--nav-my),0);}.intro-running :is(#inicio .hero-cast,#inicio .counter-label,#inicio .hero-code,#inicio .hero-dots,#inicio .hero-title,#inicio .hero-micro>p){opacity:0!important;filter:blur(7px)!important;translate:-26px 0!important;}.intro-running.intro-play :is(#inicio .hero-cast,#inicio .counter-label,#inicio .hero-code,#inicio .hero-dots,#inicio .hero-title,#inicio .hero-micro>p){opacity:1!important;filter:blur(0)!important;translate:0 0!important;transition:opacity 1080ms var(--ease) var(--pulse-delay,0ms),
    filter 1080ms var(--ease) var(--pulse-delay,0ms),
    translate 1080ms var(--ease) var(--pulse-delay,0ms),
    color .28s ease,
    background .28s ease;}.site-nav a:hover, .site-nav a:focus-visible{opacity:1;letter-spacing:.045em;}.topbar .reserve-pill:hover, .topbar .reserve-pill:focus-visible{background:var(--paper)!important;color:var(--ink)!important;border-color:var(--paper)!important;transform:translate3d(var(--nav-mx),calc(var(--nav-my) - 3px),0)!important;}.topbar .reserve-pill:hover *, .topbar .reserve-pill:focus-visible *{color:var(--ink)!important;}#inicio :is(.hero-cast,.counter-label,.hero-code,.hero-dots,.hero-title){position:relative;will-change:top,transform,filter,letter-spacing;}@media (max-width:900px) and (prefers-reduced-motion:no-preference){.layered-story{isolation:isolate;}.layered-story .story-panel--from{position:relative;z-index:1;transform-origin:center bottom;will-change:transform,opacity;}.layered-story .story-panel--to{position:relative;z-index:3;margin-top:-12svh;transform-origin:center top;will-change:transform,opacity;box-shadow:0 -28px 72px rgba(0,0,0,.13);}.horizontal-story--main .story-panel--to{background:var(--paper)!important;}}@media (prefers-reduced-motion:reduce){.intro-running :is(#inicio .hero-cast,#inicio .counter-label,#inicio .hero-code,#inicio .hero-dots,#inicio .hero-title,#inicio .hero-micro>p){opacity:1!important;filter:none!important;translate:0 0!important;}.reserve-pill{transform:none!important;}#inicio :is(.hero-cast,.counter-label,.hero-code,.hero-dots,.hero-title){top:auto!important;}.layered-story .story-panel--from, .layered-story .story-panel--to{transform:none!important;opacity:1!important;margin-top:0!important;box-shadow:none!important;}.press-media img{transform:none!important;}}.impulse-field{position:fixed;z-index:80;inset:0;width:100%;height:100%;pointer-events:none;opacity:1;transform:translateZ(0);}.impulse-field~main{position:relative;z-index:1;}@media (prefers-reduced-motion:reduce){.impulse-field{display:none;}}:root{--sans:var(--mono);}html, body, button, input, textarea, select{font-family:var(--mono);}.topbar{grid-template-columns:minmax(100px,1fr) auto minmax(92px,1fr);transition:grid-template-columns .8s var(--brand-motion),color .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease);}.site-nav{gap:clamp(8px,1.25vw,22px);}.site-nav a{padding-inline:clamp(5px,.55vw,10px);transition:padding .7s var(--brand-motion),box-shadow .45s ease,opacity .28s ease,letter-spacing .42s var(--ease),transform .5s var(--ease);}.site-nav a:hover, .site-nav a:focus-visible{padding-inline:clamp(11px,1.1vw,20px);box-shadow:inset var(--brand-rule) 0 currentColor,inset calc(var(--brand-rule) * -1) 0 currentColor;}.reserve-pill{width:clamp(84px,7.5vw,116px);text-align:center;transition:width .75s var(--brand-motion),padding .75s var(--brand-motion),color .28s ease,background .28s ease,transform .5s var(--ease);}.topbar:has(.reserve-pill:hover) .reserve-pill, .topbar:has(.reserve-pill:focus-visible) .reserve-pill{width:clamp(116px,10.5vw,164px);}.hero-brand-panels{overflow:visible;background:transparent;}.hero-brand-panel, .hero-brand-panel--cocina, .hero-brand-panel--con, .hero-brand-panel--corazon{background:var(--ink)!important;border:0;filter:none!important;}.hero-brand-panel:last-child{border-right:0;}.hero-panel-content{transform:none;transition:opacity .36s ease;}.hero-brand-panel.is-active .hero-panel-content{transition-delay:.18s;}.hero-panel-content img{border-inline:var(--brand-rule) solid var(--paper);filter:grayscale(.08) contrast(1.03);}.hero-panel-copy{top:2%;width:32%;padding:6px 10px;font-size:clamp(7px,.66vw,10px);letter-spacing:0;}.hero-panel-copy--left{left:2%;text-align:left;}.hero-panel-copy--right{right:2%;text-align:right;}.hero-brand-panel:focus-visible{outline:0;box-shadow:inset 0 0 0 2px var(--paper);}.hero-data{top:54%;width:min(760px,67vw);}.hero-cast{padding:5px clamp(24px,3.5vw,56px);font-size:clamp(9px,.78vw,12px);transition:padding .8s var(--brand-motion),transform .7s var(--ease),filter .6s ease,letter-spacing .65s var(--ease)!important;pointer-events:auto;}.counter-label{margin-top:clamp(12px,1.8vh,22px);font-size:6px;}.hero-code{padding:8px clamp(12px,1.5vw,24px);font-size:clamp(10px,.92vw,15px);pointer-events:auto;transition:width .9s var(--brand-motion),transform .7s var(--ease),filter .6s ease,letter-spacing .65s var(--ease)!important;}.hero-micro{width:min(980px,74vw);gap:0;font-size:clamp(7px,.6vw,10px);}.hero-micro p{pointer-events:auto;overflow:hidden;}.hero-micro:has(p:nth-child(1):hover){grid-template-columns:1.65fr .68fr .68fr;}.hero-micro:has(p:nth-child(2):hover){grid-template-columns:.68fr 1.65fr .68fr;}.hero-micro:has(p:nth-child(3):hover){grid-template-columns:.68fr .68fr 1.65fr;}.hero-micro:has(p:hover) p:not(:hover){opacity:.56;}:is(.menu-visual,.experience-image,.gallery-tile,.media-frame,.team-gallery,.press-media){border-inline:var(--brand-rule) solid currentColor;}:is(#carta,#about-concept) .route-grid{display:grid;grid-template-columns:.72fr 1.14fr 1.14fr;}:is(#carta,#about-concept) .route-grid>*{grid-column:auto!important;min-width:0;overflow:hidden;}:is(#carta,#about-concept) .route-grid:has(.route-card:nth-child(2):is(:hover,:focus-visible)){grid-template-columns:.5fr 1.72fr .78fr;}:is(#carta,#about-concept) .route-grid:has(.route-card:nth-child(3):is(:hover,:focus-visible)){grid-template-columns:.5fr .78fr 1.72fr;}:is(#carta,#about-concept) .route-grid:has(.route-card:is(:hover,:focus-visible)) .route-card:not(:is(:hover,:focus-visible)){opacity:.48;}.experience-copy .inline-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:0;}.experience-copy .inline-actions:has(.experience-option:nth-child(1):is(:hover,:focus-visible)){grid-template-columns:1.62fr .72fr;}.experience-copy .inline-actions:has(.experience-option:nth-child(2):is(:hover,:focus-visible)){grid-template-columns:.72fr 1.62fr;}.experience-copy .inline-actions:has(.experience-option:is(:hover,:focus-visible)) .experience-option:not(:is(:hover,:focus-visible)){opacity:.45;}.experience-option{min-width:0;overflow:hidden;padding-block:14px!important;}:is(.route-card,.experience-option,.dish-link,.reserve-pill,.button):focus-visible{outline:1px solid currentColor;outline-offset:-4px;}.principles{grid-template-columns:repeat(3,1fr);}.principles>li{grid-column:auto!important;min-width:0;overflow:hidden;transition:opacity .45s ease,padding .8s var(--brand-motion);}.principles:has(li:nth-child(1):hover){grid-template-columns:1.55fr .72fr .72fr;}.principles:has(li:nth-child(2):hover){grid-template-columns:.72fr 1.55fr .72fr;}.principles:has(li:nth-child(3):hover){grid-template-columns:.72fr .72fr 1.55fr;}.principles:has(li:hover) li:not(:hover){opacity:.48;}.impulse-field{mix-blend-mode:difference;}@media (max-width:900px){.site-nav a{padding-inline:0;}.site-nav a:hover, .site-nav a:focus-visible{padding-inline:0;box-shadow:none;}.hero-panel-copy{top:3%;width:46%;font-size:5px;padding:4px 5px;white-space:normal;}.hero-data{top:52%;width:calc(100vw - (var(--rail-safe) * 2));}.hero-cast{font-size:8px;}.counter-label{font-size:5px;margin-top:10px;}.hero-code{font-size:9px;}.hero-micro{font-size:6px;}:is(#carta,#about-concept) .route-grid, :is(#carta,#about-concept) .route-grid:has(.route-card:nth-child(2):hover), :is(#carta,#about-concept) .route-grid:has(.route-card:nth-child(3):hover){grid-template-columns:1fr;}.experience-copy .inline-actions, .experience-copy .inline-actions:has(.experience-option:nth-child(1):hover), .experience-copy .inline-actions:has(.experience-option:nth-child(2):hover){grid-template-columns:1fr;}.principles, .principles:has(li:nth-child(1):hover), .principles:has(li:nth-child(2):hover), .principles:has(li:nth-child(3):hover){grid-template-columns:1fr;}:is(.route-card,.experience-option,.principles>li):hover{opacity:1!important;}}@media (prefers-reduced-motion:reduce){.hero-brand-panel, .hero-micro, .site-nav a, .reserve-pill{transition:none!important;}}:root{--brand-mark-size:clamp(6px,.78vmin,10px);--brand-rule:var(--brand-mark-size);--frame-pad:clamp(14px,1.2vw,22px);--brand-motion:cubic-bezier(.22,.72,.18,1);}:is( .section-index, .section-title, .manifesto-copy, .principles, :is(#carta,#about-concept) .route-grid, .experience-copy .inline-actions, .team-copy, .press-list ){box-shadow:inset var(--brand-rule) 0 currentColor,inset calc(var(--brand-rule) * -1) 0 currentColor;padding-inline:var(--frame-pad);}.section-index>span, .section-title>*, .manifesto-copy>p, .team-copy>*, .press-card>a{padding-inline:0!important;}.principles>li{padding-inline:var(--s-3);}:is(#carta,#about-concept) .route-card{padding-inline:var(--s-3)!important;}.experience-copy .inline-actions{padding-inline:var(--frame-pad);}.experience-option{padding-inline:var(--s-3)!important;}.press-sticky .press-card a{padding-inline:0!important;}:is( .menu-visual, .experience-image, .gallery-tile, .media-frame, .team-gallery, .press-media, .hero-panel-content img ){border:0!important;outline:0!important;box-shadow:none!important;}:is(.menu-visual,.experience-image,.gallery-tile,.media-frame,.team-gallery,.press-media) :is(img,picture,video){border:0!important;outline:0!important;box-shadow:none!important;}.hero-brand-panels{display:grid;grid-template-columns:1fr 1fr 1fr;border-inline:var(--brand-rule) solid var(--paper);contain:layout paint;transition:grid-template-columns 920ms var(--brand-motion);}.hero-brand-panel, .hero-brand-panel--cocina, .hero-brand-panel--con, .hero-brand-panel--corazon{width:auto;min-width:0;flex:none;opacity:1;transition:opacity .42s ease;}.hero-brand-panels.has-active:has(.hero-brand-panel:nth-child(1).is-active){grid-template-columns:7.2fr .58fr .58fr;}.hero-brand-panels.has-active:has(.hero-brand-panel:nth-child(2).is-active){grid-template-columns:.58fr 7.2fr .58fr;}.hero-brand-panels.has-active:has(.hero-brand-panel:nth-child(3).is-active){grid-template-columns:.58fr .58fr 7.2fr;}.hero-brand-panels.has-active .hero-brand-panel{flex-grow:0;opacity:.7;}.hero-brand-panels.has-active .hero-brand-panel.is-active{flex-grow:0;opacity:1;}.hero-panel-copy{box-shadow:none;padding-inline:0;}.hero-panel-content img{border:0!important;transition:opacity .42s ease!important;}.hero-cast, .hero-code, .hero-micro{box-shadow:inset var(--brand-rule) 0 #fff,inset calc(var(--brand-rule) * -1) 0 #fff;}.hero-cast{padding-inline:clamp(28px,3.6vw,58px);}.hero-cast:hover{padding-inline:clamp(34px,4.2vw,68px);}.hero-code{width:min(740px,60vw);padding-inline:clamp(18px,2vw,30px);}.hero-code:hover{width:min(780px,63vw);}.hero-micro{display:flex;grid-template-columns:none;padding-inline:var(--frame-pad);contain:layout;transition:none;}.hero-micro p{flex:1 1 0;min-width:0;padding:8px var(--s-2);box-shadow:none;white-space:nowrap;text-overflow:clip;transform:translateZ(0);transition:flex-grow 760ms var(--brand-motion),opacity .32s ease,transform 760ms var(--brand-motion);}.hero-micro:has(p:hover) p{flex-grow:.74;opacity:.58;}.hero-micro:has(p:hover) p:hover{flex-grow:1.52;opacity:1;transform:translate3d(0,-2px,0);}:is(#carta,#about-concept) .route-grid, .experience-copy .inline-actions, .principles{transition:grid-template-columns 820ms var(--brand-motion);}:is(#carta,#about-concept) .route-grid>*{transition:opacity .34s ease,background-color .42s ease!important;}:is(#carta,#about-concept) .route-card:hover, :is(#carta,#about-concept) .route-card:focus-visible{box-shadow:none!important;transform:none!important;letter-spacing:inherit!important;}.experience-option:hover, .experience-option:focus-visible{box-shadow:none!important;transform:none!important;letter-spacing:inherit!important;background:color-mix(in srgb,currentColor 4%,transparent);}.experience-option+.experience-option, .principles>li+li{border-left:1px solid color-mix(in srgb,currentColor 24%,transparent);}.experience-option, .experience-copy .inline-actions:has(.experience-option:is(:hover,:focus-visible)) .experience-option{min-height:132px;transition:opacity .34s ease,background-color .42s ease!important;}.press-sticky .press-card:hover a, .press-sticky .press-card:focus-within a{padding-block:clamp(8px,1.2vh,16px)!important;}@media (max-width:900px){:root{--brand-mark-size:clamp(6px,1.8vw,8px);--frame-pad:12px;}.hero-brand-panels.has-active:has(.hero-brand-panel:nth-child(1).is-active){grid-template-columns:6fr .7fr .7fr;}.hero-brand-panels.has-active:has(.hero-brand-panel:nth-child(2).is-active){grid-template-columns:.7fr 6fr .7fr;}.hero-brand-panels.has-active:has(.hero-brand-panel:nth-child(3).is-active){grid-template-columns:.7fr .7fr 6fr;}.hero-micro{width:calc(100vw - (var(--rail-safe) * 2));padding-inline:10px;}.hero-micro p{padding-inline:5px;white-space:normal;}}@media (prefers-reduced-motion:reduce){.hero-brand-panels, .hero-micro p, :is(#carta,#about-concept) .route-grid, .experience-copy .inline-actions, .principles{transition:none!important;}}#inicio .hero-cast, #inicio .hero-micro{box-shadow:none!important;padding-inline:0!important;}#inicio .hero-cast:hover{padding-inline:0!important;}#inicio .hero-micro{contain:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;}#inicio .hero-micro p, #inicio .hero-micro:has(p:hover) p, #inicio .hero-micro:has(p:hover) p:hover{min-width:0;padding-inline:0!important;opacity:1;transform:none;flex:none;transition:none;}#inicio .hero-panel-copy{opacity:0;filter:blur(7px);translate:-26px 0;transition:opacity 760ms var(--brand-motion),filter 760ms var(--brand-motion),translate 760ms var(--brand-motion);}#inicio .hero-brand-panel.is-active .hero-panel-copy{opacity:1;filter:blur(0);translate:0 0;}#inicio .hero-brand-panel.is-active .hero-panel-copy--left{transition-delay:170ms;}#inicio .hero-brand-panel.is-active .hero-panel-copy--right{transition-delay:260ms;}:is(#carta,#about-concept)>.section-index{box-sizing:border-box;padding-inline:var(--frame-pad)!important;}:is(#carta,#about-concept)>.route-grid{box-shadow:none!important;padding-inline:0!important;column-gap:var(--grid-gutter);}:is(#carta,#about-concept) .route-card{border:0!important;box-shadow:inset var(--brand-rule) 0 currentColor!important;padding:14px var(--frame-pad)!important;background:transparent;}:is(#carta,#about-concept) .route-card:hover, :is(#carta,#about-concept) .route-card:focus-visible{background:rgba(9,9,9,.065)!important;}:is(#experiencias,#about-team) .inline-actions{padding-inline:0!important;column-gap:var(--grid-gutter);}:is(#experiencias,#about-team) .experience-option:hover, :is(#experiencias,#about-team) .experience-option:focus-visible{background:rgba(9,9,9,.065)!important;}@media (min-width:901px){body .horizontal-story--main :is(#experiencias,#about-team)>.section-index{left:var(--rail-safe)!important;right:auto!important;}body .horizontal-story--main :is(#experiencias,#about-team)>.experience-copy{padding-right:0!important;}}body main>#prensa.press-section{background:var(--paper)!important;color:var(--ink)!important;}.press-sticky .press-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:repeat(4,minmax(0,1fr));grid-auto-flow:row!important;justify-content:stretch!important;gap:clamp(7px,1.1vh,12px)!important;padding:0!important;box-shadow:none!important;transform:none!important;}.press-sticky .press-list:has(.press-card:nth-child(1).is-active){grid-template-rows:1.72fr .76fr .76fr .76fr;}.press-sticky .press-list:has(.press-card:nth-child(2).is-active){grid-template-rows:.76fr 1.72fr .76fr .76fr;}.press-sticky .press-list:has(.press-card:nth-child(3).is-active){grid-template-rows:.76fr .76fr 1.72fr .76fr;}.press-sticky .press-list:has(.press-card:nth-child(4).is-active){grid-template-rows:.76fr .76fr .76fr 1.72fr;}.press-sticky .press-card{grid-column:1!important;}.press-sticky .press-card a{box-sizing:border-box;width:100%;height:100%;min-height:0;display:grid!important;grid-template-columns:1fr auto;grid-template-rows:auto minmax(0,1fr);gap:clamp(10px,1.6vh,20px) 12px;padding:clamp(10px,1.4vh,16px) var(--frame-pad)!important;transform:none!important;opacity:1!important;color:var(--ink)!important;transition:opacity .38s ease,background-color .5s ease!important;}.press-sticky .press-card:hover a, .press-sticky .press-card:focus-within a, .press-sticky .press-card.is-active a{box-sizing:border-box;width:100%;height:100%;min-height:0;display:grid!important;grid-template-columns:1fr auto;grid-template-rows:auto minmax(0,1fr);gap:clamp(10px,1.6vh,20px) 12px;padding:clamp(10px,1.4vh,16px) var(--frame-pad)!important;transform:none!important;color:var(--ink)!important;transition:opacity .38s ease,background-color .5s ease!important;}.press-sticky .press-card a>*{transition:opacity .38s ease;}.press-sticky .press-card.is-active a, .press-sticky .press-card:hover a, .press-sticky .press-card:focus-within a{opacity:1!important;}.press-sticky .press-card.is-active a>*, .press-sticky .press-card:hover a>*, .press-sticky .press-card:focus-within a>*{opacity:1;}.press-sticky .press-card .press-meta{grid-column:1;grid-row:1;align-self:start;}.press-sticky .press-card>a>span:last-child{grid-column:2;grid-row:1;align-self:start;}.press-sticky .press-card h3{grid-column:1/3;grid-row:2;align-self:end;margin:0;max-width:30ch;}@media (max-width:900px){#inicio .hero-micro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;}:is(#carta,#about-concept)>.route-grid, :is(#experiencias,#about-team) .inline-actions{column-gap:0;}:is(#carta,#about-concept) .route-label, :is(#carta,#about-concept) .route-card, :is(#experiencias,#about-team) .experience-option{margin-bottom:var(--s-2);}.press-sticky .press-list{gap:6px!important;}.press-sticky .press-card a, .press-sticky .press-card:hover a, .press-sticky .press-card:focus-within a, .press-sticky .press-card.is-active a{padding:8px 10px!important;gap:7px 6px;}}@media (prefers-reduced-motion:reduce){#inicio .hero-panel-copy{opacity:1!important;filter:none!important;translate:0 0!important;}}@media (min-width:901px){:root{--outer-margin:clamp(24px,2.15vw,38px);--rail-safe:clamp(68px,5.35vw,100px);}}#inicio .hero-brand-panels{border:0!important;contain:none!important;}#inicio .hero-brand-panel:last-child{border:0!important;}.hero-convergence-lines{position:absolute;z-index:12;inset:0;overflow:visible;pointer-events:none;transition:opacity 90ms linear;}.hero-convergence-lines span{top:0;width:var(--hero-mark-size);height:var(--hero-mark-size);transform-origin:center;}#inicio :is(.hero-cast,.counter-label,.hero-code){box-shadow:none!important;padding-inline:0!important;width:auto!important;min-width:0;filter:none!important;rotate:0deg!important;transform-origin:center;}#inicio .hero-cast{line-height:.98!important;}#inicio .counter-label{line-height:1!important;}#inicio .hero-code{width:min(720px,58vw)!important;line-height:1!important;}:is(#carta,#about-concept) :is(.route-label,.route-card,.dish-link){box-sizing:border-box;background:transparent!important;transition:opacity .34s ease,background-color .46s ease!important;}:is(#carta,#about-concept) .dish-link{display:block;width:100%;min-height:52px;}:is(#carta,#about-concept) .route-card+.route-card, :is(#experiencias,#about-team) .experience-option+.experience-option{border-left:0!important;}:is(#carta,#about-concept) :is(.route-card,.dish-link):is(:hover,:focus-visible){box-shadow:inset var(--brand-rule) 0 currentColor!important;}:is(#experiencias,#about-team) .experience-option:is(:hover,:focus-visible){box-shadow:inset var(--brand-rule) 0 currentColor!important;background:rgba(9,9,9,.065)!important;}@media (min-width:901px){:is(:is(#carta,#about-concept),:is(#experiencias,#about-team))>.section-index{box-sizing:border-box;align-items:start!important;}}@media (max-width:900px){#inicio .hero-code{width:100%!important;}}@media (min-width:901px){:is(:is(#carta,#about-concept),:is(#experiencias,#about-team))>.section-index{height:clamp(25px,3.15vh,31px)!important;min-height:clamp(25px,3.15vh,31px)!important;padding-block:5px!important;}:is(#carta,#about-concept) .dish-link{justify-self:stretch!important;overflow:hidden;}:is(#experiencias,#about-team):has(.experience-option:nth-child(1):is(:hover,:focus-visible))>.section-index, :is(#experiencias,#about-team):has(.experience-option:nth-child(1):is(:hover,:focus-visible))>.experience-copy{grid-template-columns:1.62fr .72fr;}:is(#experiencias,#about-team):has(.experience-option:nth-child(2):is(:hover,:focus-visible))>.section-index, :is(#experiencias,#about-team):has(.experience-option:nth-child(2):is(:hover,:focus-visible))>.experience-copy{grid-template-columns:.72fr 1.62fr;}}@media (prefers-reduced-motion:reduce){:is(#experiencias,#about-team)>.section-index{transition:none!important;}}#inicio .hero-brand-panel{appearance:none;-webkit-appearance:none;border:0!important;outline:0!important;}#inicio .hero-brand-panel:hover, #inicio .hero-brand-panel:focus, #inicio .hero-brand-panel:focus-visible, #inicio .hero-brand-panel.is-active{appearance:none;-webkit-appearance:none;border:0!important;outline:0!important;box-shadow:none!important;}:is(#carta,#about-concept) .route-label, :is(#carta,#about-concept) .route-label:hover{cursor:default;}:is(#carta,#about-concept) .route-label:focus-within{background:transparent!important;cursor:default;}:is(#carta,#about-concept) .dish-link:is(:hover,:focus-visible){transform:none!important;}:is(#experiencias,#about-team) .experience-option{background:transparent!important;}:is(#experiencias,#about-team) .experience-option:is(:hover,:focus-within){display:flex;flex-direction:column;min-width:0;min-height:132px!important;overflow:hidden;box-shadow:inset var(--brand-rule) 0 currentColor!important;transition:opacity .34s ease!important;}:is(#experiencias,#about-team) .experience-option-link{gap:8px;transition:background-color .46s ease;}:is(#experiencias,#about-team) .experience-option-link:is(:hover,:focus-visible){outline:0;}:is(#experiencias,#about-team) .experience-option small{display:block;margin:0!important;text-transform:none!important;opacity:.68;}.experience-copy .inline-actions:has(.experience-option:is(:hover,:focus-within)) .experience-option{min-height:132px!important;}.experience-copy .inline-actions:has(.experience-option:nth-child(1):is(:hover,:focus-within)){grid-template-columns:1.62fr .72fr;}.experience-copy .inline-actions:has(.experience-option:nth-child(2):is(:hover,:focus-within)){grid-template-columns:.72fr 1.62fr;}.experience-copy .inline-actions:has(.experience-option:is(:hover,:focus-within)) .experience-option:not(:is(:hover,:focus-within)){opacity:.45;}@media (min-width:901px){:is(#carta,#about-concept) .dish-link{width:calc(100% + var(--editorial-gap))!important;margin-left:calc(var(--editorial-gap) * -1);padding-inline:var(--frame-pad)!important;}:is(#experiencias,#about-team)>.section-index{transition:grid-template-columns 920ms var(--brand-motion)!important;}body .horizontal-story--main :is(#experiencias,#about-team)>.section-index{top:0!important;width:calc(50% - var(--rail-safe))!important;}:is(#experiencias,#about-team) .experience-copy>.inline-actions{padding-right:0!important;}:is(#experiencias,#about-team):has(.experience-option:nth-child(1):is(:hover,:focus-within))>.section-index{grid-template-columns:1.62fr .72fr;}:is(#experiencias,#about-team):has(.experience-option:nth-child(2):is(:hover,:focus-within))>.section-index{grid-template-columns:.72fr 1.62fr;}}@media (max-width:900px){:is(#experiencias,#about-team) .experience-option-link{padding-inline:var(--frame-pad);}}@media (prefers-reduced-motion:reduce){:is(#experiencias,#about-team) .experience-option-link{transition:none!important;}}@media (min-width:901px){:is(#carta,#about-concept)>.section-index{padding-inline:0!important;}:is(#carta,#about-concept)>.section-index>span{padding-left:var(--frame-pad)!important;padding-right:var(--frame-pad)!important;}:is(#carta,#about-concept) .section-title>h2{margin-left:0!important;padding-left:var(--frame-pad)!important;padding-right:var(--frame-pad)!important;}:is(#carta,#about-concept):has(.dish-link:is(:hover,:focus-visible)) .dish-list--categories{grid-template-columns:1.32fr .68fr;}}.corner-frame{position:relative!important;isolation:isolate;}.corner-frame__marks{position:absolute!important;z-index:12!important;inset:0!important;display:block!important;pointer-events:none!important;}.corner-frame__mark{position:absolute!important;display:block!important;width:var(--corner-size)!important;height:var(--corner-size)!important;box-sizing:border-box!important;border:var(--corner-stroke) solid var(--corner-color)!important;background:transparent!important;}.corner-frame__mark--tl{left:0!important;right:auto!important;top:0!important;bottom:auto!important;}.corner-frame__mark--tr{right:0!important;left:auto!important;top:0!important;bottom:auto!important;}.corner-frame__mark--bl{left:0!important;right:auto!important;bottom:0!important;top:auto!important;}.corner-frame__mark--br{right:0!important;left:auto!important;bottom:0!important;top:auto!important;}.corner-frame:is(:hover,:focus-visible,:focus-within)>.corner-frame__marks>.corner-frame__mark, .corner-frame.is-active>.corner-frame__marks>.corner-frame__mark, .press-card.is-active>a.corner-frame>.corner-frame__marks>.corner-frame__mark, .site-nav a.is-active>.corner-frame__marks>.corner-frame__mark{background:var(--corner-color)!important;}.site-nav a::after{display:none!important;}.site-nav a .corner-frame__mark--tr, .site-nav a .corner-frame__mark--br{display:none!important;}.site-nav a>.corner-frame__marks>.corner-frame__mark{opacity:0!important;}.site-nav a:is(:hover,:focus-visible,.is-active)>.corner-frame__marks>.corner-frame__mark{opacity:1!important;}#inicio .hero-brand-panel, #inicio .hero-brand-panel:is(:hover,:focus,:focus-visible){color:var(--paper)!important;box-shadow:none!important;}#inicio .hero-brand-panel.is-active{color:var(--paper)!important;}#inicio .hero-panel-content{padding:clamp(20px,2.1vw,38px)!important;}.hero-convergence-lines span{position:absolute!important;box-sizing:border-box!important;border:var(--corner-stroke) solid var(--paper)!important;background:rgba(242,241,235,var(--merge-progress))!important;transform:translateX(-50%)!important;}#inicio .hero-brand-panels[data-active-panel="0"] .hero-convergence-lines span:is([data-boundary="0"],[data-boundary="1"]), #inicio .hero-brand-panels[data-active-panel="1"] .hero-convergence-lines span:is([data-boundary="1"],[data-boundary="2"]), #inicio .hero-brand-panels[data-active-panel="2"] .hero-convergence-lines span:is([data-boundary="2"],[data-boundary="3"]){background:var(--paper)!important;}:is(#carta,#about-concept) :is(.route-label,.route-card,.dish-link){border:0!important;box-shadow:none!important;padding:calc(var(--frame-pad) + 2px)!important;}:is(#experiencias,#about-team) .experience-option{border:0!important;}:is(#carta,#about-concept) .route-label{color:var(--frame-ink,var(--ink))!important;}:is(#carta,#about-concept) .route-label:hover{background:transparent!important;color:var(--frame-ink,var(--ink))!important;}:is(#carta,#about-concept) :is(.route-card,.dish-link):is(:hover,:focus-visible)>.corner-frame__marks, :is(#experiencias,#about-team) .experience-option:is(:hover,:focus-within)>.corner-frame__marks{--corner-color:var(--frame-ink,var(--ink));}:is(#experiencias,#about-team) .experience-option-link:is(:hover,:focus-visible){background:transparent!important;color:inherit!important;}.editorial-action{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;width:min(100%,360px)!important;min-height:56px!important;margin-top:clamp(18px,3vh,34px)!important;padding:16px calc(var(--frame-pad) + 2px)!important;box-shadow:none!important;}.theme-section.dark .editorial-action:is(:hover,:focus-visible){color:var(--ink)!important;}.press-sticky .press-card a, .press-sticky .press-card.is-active a, .press-sticky .press-card:hover a, .press-sticky .press-card:focus-within a{box-shadow:none!important;background:transparent!important;}.press-sticky .press-card:is(.is-active,:hover,:focus-within) a{color:var(--paper)!important;}.press-sticky .press-card:is(.is-active,:hover,:focus-within) a>.corner-frame__marks{--corner-color:var(--ink);}@media (max-width:900px){:is(#carta,#about-concept) :is(.route-label,.route-card,.dish-link){padding:14px!important;}.editorial-action{width:100%!important;}}.corner-frame{--corner-surface:transparent;background:transparent!important;}.corner-frame__surface{position:absolute;z-index:-1;top:var(--corner-size);right:var(--corner-size);bottom:var(--corner-size);left:var(--corner-size);display:block;pointer-events:none;background:var(--corner-surface);opacity:1;transition:background-color 560ms var(--corner-motion),opacity 460ms var(--corner-motion);}.corner-frame>.corner-frame__surface{box-sizing:border-box!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;inset:var(--corner-size)!important;transform:none!important;translate:none!important;filter:none!important;}.corner-frame>.corner-frame__marks{box-sizing:border-box!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;inset:0!important;transform:none!important;translate:none!important;filter:none!important;opacity:1!important;}#inicio .hero-brand-panel, #inicio .hero-brand-panel:is(:hover,:focus,:focus-visible), #inicio .hero-brand-panel.is-active{background:transparent!important;}#inicio .hero-panel-content{z-index:2;}.press-sticky .press-card:is(.is-active,:hover,:focus-within) a{--corner-surface:var(--ink);background:transparent!important;}.theme-section.dark .editorial-action:is(:hover,:focus-visible){--corner-surface:var(--paper);background:transparent!important;}.reserve-pill, .button.corner-frame, .site-nav a{border:0!important;box-shadow:none!important;background:transparent!important;}.reserve-pill:is(:hover,:focus-visible){--corner-surface:var(--nav-fg);}.button.corner-frame:is(:hover,:focus-visible){--corner-surface:var(--section-fg);}.button--light.corner-frame:is(:hover,:focus-visible){--corner-surface:var(--paper);}.corner-frame[data-frame-role]{--corner-surface:transparent;position:relative!important;}.corner-frame[data-frame-role="button"]:is(:hover,:focus-visible,:focus-within), .press-card.is-active>.corner-frame[data-frame-role="button"]{--corner-surface:var(--ink);color:var(--paper)!important;}.theme-section.dark .corner-frame[data-frame-role="button"]:is(:hover,:focus-visible,:focus-within), .topbar[data-nav-theme="dark"] .corner-frame[data-frame-role="button"]:is(:hover,:focus-visible,:focus-within){--corner-surface:var(--paper);color:var(--ink)!important;}body .theme-section.dark a.corner-frame[data-frame-role="button"]:is(:hover,:focus-visible,:focus-within), body .theme-section.dark a.corner-frame[data-frame-role="button"]:is(:hover,:focus-visible,:focus-within)>*{color:var(--ink)!important;}.corner-frame[data-frame-role="editorial"]{--corner-surface:transparent!important;background:transparent!important;color:inherit!important;}@media (min-width:681px){.site-nav{display:flex;align-items:stretch;}.site-nav>a{display:flex;align-items:center;justify-content:center;white-space:nowrap;opacity:1;}.site-nav:has(>a.is-active)>a{flex-grow:.82;}.site-nav:has(>a.is-active)>a.is-active{flex-grow:1.9;opacity:1;}.site-nav>a:is(:hover,:focus-visible){flex-grow:1.55;opacity:1;}.site-nav a .corner-frame__mark--tr, .site-nav a .corner-frame__mark--br{display:block!important;}.site-nav a>.corner-frame__marks>.corner-frame__mark{opacity:0!important;}.site-nav a:is(:hover,:focus-visible,.is-active)>.corner-frame__marks>.corner-frame__mark{opacity:1!important;}}:is(#carta,#about-concept) .route-label{box-sizing:border-box;transform:none!important;transition:color 500ms var(--ease),
    opacity 500ms var(--ease),
    padding 880ms var(--ease)!important;}:is(#carta,#about-concept) .route-card,
:is(#carta,#about-concept) .dish-link,
:is(#carta,#about-concept) .dish-categories{box-sizing:border-box;min-width:0;transform:none!important;transition:color 500ms var(--ease),
    opacity 500ms var(--ease),
    padding 880ms var(--ease)!important;}:is(#carta,#about-concept) .dish-categories>li{box-shadow:none!important;border:0!important;}:is(#experiencias,#about-team) .experience-copy{transition:grid-template-columns 920ms var(--ease)!important;}:is(#experiencias,#about-team) .experience-copy>*{min-width:0;transition:opacity 500ms var(--ease),translate 920ms var(--ease)!important;}.press-sticky .press-card, .press-sticky .press-card>a{min-height:0;overflow:hidden;}.press-sticky .press-card>a{padding:calc(var(--corner-size) * 1.7) var(--frame-pad)!important;}body #prensa .press-card.is-active>a.corner-frame[data-frame-role="button"], body #prensa .press-card:hover>a.corner-frame[data-frame-role="button"], body #prensa .press-card:focus-within>a.corner-frame[data-frame-role="button"]{--corner-surface:var(--ink)!important;color:var(--paper)!important;}body #prensa .press-card:is(.is-active,:hover,:focus-within)>a.corner-frame[data-frame-role="button"]>*:not(.corner-frame__surface):not(.corner-frame__marks){color:var(--paper)!important;}.press-sticky .press-list{transition:grid-template-rows 920ms var(--ease)!important;}@media (min-width:901px){.press-sticky .press-list:has(.press-card:nth-child(1):is(:hover,:focus-within)){grid-template-rows:1.72fr .76fr .76fr .76fr!important;}.press-sticky .press-list:has(.press-card:nth-child(2):is(:hover,:focus-within)){grid-template-rows:.76fr 1.72fr .76fr .76fr!important;}.press-sticky .press-list:has(.press-card:nth-child(3):is(:hover,:focus-within)){grid-template-rows:.76fr .76fr 1.72fr .76fr!important;}.press-sticky .press-list:has(.press-card:nth-child(4):is(:hover,:focus-within)){grid-template-rows:.76fr .76fr .76fr 1.72fr!important;}}@media (max-width:900px){.site-nav>a.corner-frame>.corner-frame__marks{display:none!important;}}@media (prefers-reduced-motion:reduce){:is(#experiencias,#about-team) .experience-copy, .press-sticky .press-list{transition:none!important;}}:root{--module-motion:920ms cubic-bezier(.16,1,.3,1);--module-fade:420ms ease;}.corner-frame[data-frame-role]{min-width:0;isolation:isolate!important;overflow:hidden!important;}.corner-frame[data-frame-role]>.corner-frame__surface{inset:var(--corner-size)!important;}.corner-frame[data-frame-role]>.corner-frame__marks{z-index:30!important;}.corner-frame[data-frame-role]>.corner-frame__marks>.corner-frame__mark{z-index:1!important;}.corner-frame[data-frame-role]>*:not(.corner-frame__surface):not(.corner-frame__marks){position:relative;z-index:2;}.site-nav a, .topbar .reserve-pill{--nav-my:0px!important;transform:translate3d(var(--nav-mx,0px),0,0)!important;}.topbar .reserve-pill:is(:hover,:focus-visible){--corner-surface:var(--nav-fg)!important;}.topbar[data-nav-theme="dark"] .reserve-pill:is(:hover,:focus-visible)>*{color:var(--ink)!important;}.topbar[data-nav-theme="light"] .reserve-pill:is(:hover,:focus-visible), .topbar[data-nav-theme="light"] .reserve-pill:is(:hover,:focus-visible)>*{color:var(--paper)!important;}@media (min-width:681px){.topbar{overflow:visible;}.site-nav{width:clamp(610px,58vw,930px)!important;gap:clamp(3px,.34vw,6px)!important;transform:translateX(0);}.site-nav>a{flex:.78 1 0!important;min-width:clamp(58px,4.65vw,78px)!important;padding:10px clamp(4px,.5vw,8px)!important;overflow:hidden;}.site-nav:not(:has(>a:is(:hover,:focus-visible))):has(>a.is-active)>a{flex-grow:.34!important;opacity:1;}.site-nav:not(:has(>a:is(:hover,:focus-visible)))>a.is-active{flex-grow:5.4!important;opacity:1;}.site-nav:has(>a:is(:hover,:focus-visible))>a{flex-grow:.28!important;opacity:1;}.site-nav:has(>a:is(:hover,:focus-visible))>a:is(:hover,:focus-visible){flex-grow:6.2!important;opacity:1;}.topbar .reserve-pill{min-width:0;overflow:hidden;white-space:nowrap;}.topbar:has(.reserve-pill:is(:hover,:focus-visible)) .site-nav{width:clamp(500px,47vw,760px)!important;transform:translateX(clamp(-64px,-3.4vw,-30px));}.topbar:has(.reserve-pill:is(:hover,:focus-visible)) .reserve-pill{width:clamp(166px,14vw,230px)!important;}}:is(#carta,#about-concept) .route-label, :is(#carta,#about-concept) .dish-categories{background:transparent!important;box-shadow:none!important;border:0!important;padding:calc(var(--frame-pad) + 2px)!important;overflow:hidden;}:is(#carta,#about-concept) .route-label>.corner-frame__surface, :is(#carta,#about-concept) .route-label>.corner-frame__marks, :is(#carta,#about-concept) .dish-categories>.corner-frame__surface, :is(#carta,#about-concept) .dish-categories>.corner-frame__marks{display:none!important;}:is(#carta,#about-concept) :is(.route-card,.dish-link), :is(#experiencias,#about-team) .experience-option{min-width:0;transform:none!important;transition:color var(--module-fade),opacity var(--module-fade),padding var(--module-motion)!important;}:is(#carta,#about-concept) :is(.route-card,.dish-link):is(:hover,:focus-visible), :is(#experiencias,#about-team) .experience-option:is(:hover,:focus-within){--corner-surface:var(--frame-hover-bg,var(--ink))!important;color:var(--frame-hover-fg,var(--paper))!important;background:transparent!important;}:is(#carta,#about-concept) .dish-link:is(:hover,:focus-visible)>*{color:var(--frame-hover-fg,var(--paper))!important;}@media (min-width:901px){:is(#carta,#about-concept)>.route-grid, :is(#carta,#about-concept) .dish-list--categories{transition:grid-template-columns var(--module-motion)!important;}:is(#carta,#about-concept) .dish-list--categories{grid-template-columns:1fr 1fr!important;}:is(#carta,#about-concept) .dish-list--categories:has(.dish-link:is(:hover,:focus-visible)){grid-template-columns:1.42fr .58fr!important;}:is(#carta,#about-concept) .dish-list--categories:has(.dish-categories:is(:hover,:focus-within)){grid-template-columns:.65fr 1.35fr!important;}}:is(#experiencias,#about-team) .experience-image, :is(#experiencias,#about-team) .experience-copy{border-inline:0!important;}:is(#experiencias,#about-team) .experience-option{display:flex!important;flex-direction:column;justify-content:flex-start;min-height:132px!important;overflow:hidden!important;}:is(#experiencias,#about-team) .experience-option-link{display:grid;grid-template-columns:minmax(0,1fr) auto;color:inherit!important;background:transparent!important;}:is(#experiencias,#about-team) .experience-option small{max-width:none!important;color:inherit!important;}:is(#experiencias,#about-team) .inline-actions{grid-template-columns:1fr 1fr!important;transition:grid-template-columns var(--module-motion)!important;}:is(#experiencias,#about-team) .inline-actions:has(.experience-option:nth-child(1):is(:hover,:focus-within)){grid-template-columns:1.72fr .58fr!important;}:is(#experiencias,#about-team) .inline-actions:has(.experience-option:nth-child(2):is(:hover,:focus-within)){grid-template-columns:.58fr 1.72fr!important;}:is(#experiencias,#about-team) .inline-actions:has(.experience-option:is(:hover,:focus-within)) .experience-option:not(:is(:hover,:focus-within)){opacity:.42;}@media (min-width:901px){:is(#experiencias,#about-team)>.experience-copy{grid-template-columns:1fr 1fr!important;transition:grid-template-columns var(--module-motion)!important;}:is(#experiencias,#about-team):has(.experience-option:nth-child(1):is(:hover,:focus-within))>.experience-copy{grid-template-columns:1.72fr .58fr!important;}:is(#experiencias,#about-team):has(.experience-option:nth-child(2):is(:hover,:focus-within))>.experience-copy{grid-template-columns:.58fr 1.72fr!important;}}.press-sticky .press-list{width:clamp(220px,22vw,340px)!important;}.press-sticky .press-stage{left:calc(clamp(220px,22vw,340px) + var(--editorial-gap))!important;}.press-sticky .press-card>a, .press-sticky .press-card:hover>a, .press-sticky .press-card:focus-within>a, .press-sticky .press-card.is-active>a{background:transparent!important;transition:color var(--module-fade),opacity var(--module-fade)!important;}body #prensa .press-card:is(.is-active,:hover,:focus-within)>a{--corner-surface:var(--ink)!important;color:var(--paper)!important;}body #prensa .press-card:is(.is-active,:hover,:focus-within)>a> *{color:var(--paper)!important;}.press-sticky .press-card a>*{opacity:.58!important;}.press-sticky .press-card:is(.is-active,:hover,:focus-within) a>*{opacity:1!important;}@media (max-width:900px){.site-nav a, .topbar .reserve-pill{transform:none!important;}:is(#carta,#about-concept) .route-label, :is(#carta,#about-concept) .dish-categories{padding:14px!important;}.press-sticky .press-list{width:100%!important;}.press-sticky .press-stage{left:auto!important;}}@media (min-width:681px){.topbar .reserve-pill{--corner-surface:transparent!important;background:transparent!important;color:var(--nav-fg)!important;border:0!important;box-shadow:none!important;width:clamp(92px,7.5vw,118px)!important;padding:calc(var(--corner-size) * .85) calc(var(--corner-size) * 1.45)!important;opacity:.56;transition:width var(--nav-elastic-motion),padding var(--nav-elastic-motion),opacity var(--nav-elastic-fade),letter-spacing var(--nav-elastic-fade),color var(--nav-elastic-fade)!important;}.topbar .reserve-pill:is(:hover,:focus-visible){letter-spacing:.045em;transform:translate3d(var(--nav-mx,0px),0,0)!important;}.topbar[data-nav-theme="dark"] .reserve-pill:is(:hover,:focus-visible)>*, .topbar[data-nav-theme="light"] .reserve-pill:is(:hover,:focus-visible)>*{color:var(--nav-fg)!important;}.topbar .reserve-pill>.corner-frame__surface{background:transparent!important;}.topbar .reserve-pill>.corner-frame__marks>.corner-frame__mark{background:transparent!important;opacity:0!important;transition:opacity var(--nav-elastic-fade),transform var(--nav-elastic-motion),background-color var(--nav-elastic-fade),border-color var(--nav-elastic-fade)!important;}.topbar .reserve-pill:is(:hover,:focus-visible)>.corner-frame__marks>.corner-frame__mark{background:currentColor!important;opacity:1!important;}.topbar:has(.reserve-pill:is(:hover,:focus-visible)) .site-nav{transition:width var(--nav-elastic-motion),transform var(--nav-elastic-motion)!important;}}:root{--nav-elastic-motion:2100ms cubic-bezier(.12,.78,.18,1);--nav-elastic-fade:1050ms cubic-bezier(.16,1,.3,1);}@media (min-width:681px){.site-nav{transition:width var(--nav-elastic-motion),transform var(--nav-elastic-motion)!important;}.site-nav>a{transition:flex-grow var(--nav-elastic-motion),flex-basis var(--nav-elastic-motion),opacity var(--nav-elastic-fade),padding var(--nav-elastic-motion),letter-spacing var(--nav-elastic-fade)!important;}.topbar .reserve-pill:is(:hover,:focus-visible){--corner-surface:var(--nav-fg)!important;background:transparent!important;opacity:1!important;}.topbar .reserve-pill:is(:hover,:focus-visible)>.corner-frame__surface{background:var(--nav-fg)!important;opacity:1!important;}.topbar .reserve-pill:is(:hover,:focus-visible)>*:not(.corner-frame__surface):not(.corner-frame__marks){color:var(--nav-bg)!important;}.topbar[data-nav-theme="dark"] .reserve-pill:is(:hover,:focus-visible)>*:not(.corner-frame__surface):not(.corner-frame__marks){color:var(--ink)!important;}.topbar[data-nav-theme="light"] .reserve-pill:is(:hover,:focus-visible), .topbar[data-nav-theme="light"] .reserve-pill:is(:hover,:focus-visible)>*:not(.corner-frame__surface):not(.corner-frame__marks){color:var(--paper)!important;}}.topbar .reserve-pill:is(:hover,:focus-visible), .topbar .reserve-pill:is(:hover,:focus-visible) > *{color:var(--ink)!important;}.topbar[data-nav-theme] .reserve-pill:is(:hover,:focus-visible){color:#090909!important;-webkit-text-fill-color:#090909!important;text-shadow:none!important;mix-blend-mode:normal!important;}.topbar[data-nav-theme] .reserve-pill:is(:hover,:focus-visible) span{color:#090909!important;-webkit-text-fill-color:#090909!important;opacity:1!important;mix-blend-mode:normal!important;}:is(#carta,#about-concept) .dish-link:is(:hover,:focus-visible){opacity:1!important;mix-blend-mode:normal!important;}:is(#carta,#about-concept) .dish-link:is(:hover,:focus-visible) > *:not(.corner-frame__surface):not(.corner-frame__marks){color:var(--frame-hover-fg,var(--paper))!important;-webkit-text-fill-color:var(--frame-hover-fg,var(--paper))!important;opacity:1!important;mix-blend-mode:normal!important;}.corner-frame[data-frame-role] > .corner-frame__surface{z-index:-1!important;}.topbar[data-nav-theme="dark"] .reserve-pill:is(:hover,:focus-visible){--corner-surface:var(--paper)!important;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;}.topbar[data-nav-theme="dark"] .reserve-pill:is(:hover,:focus-visible) span{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;}:is(#carta,#about-concept) .dish-link:is(:hover,:focus-visible){--corner-surface:var(--frame-hover-bg,var(--ink))!important;color:var(--frame-hover-fg,var(--paper))!important;-webkit-text-fill-color:var(--frame-hover-fg,var(--paper))!important;}@media (min-width:681px){.topbar .reserve-pill.corner-frame{box-sizing:border-box!important;min-height:calc(var(--corner-size) * 3.2)!important;height:auto!important;padding:10px clamp(4px,.5vw,8px)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.42em!important;}.topbar .reserve-pill.corner-frame > .corner-frame__marks{inset:0!important;}.topbar .reserve-pill.corner-frame > .corner-frame__surface{top:var(--corner-size)!important;right:var(--corner-size)!important;bottom:var(--corner-size)!important;left:var(--corner-size)!important;width:auto!important;height:auto!important;box-sizing:border-box!important;}.topbar[data-nav-theme="dark"] .reserve-pill.corner-frame:is(:hover,:focus-visible) > .corner-frame__surface{background:var(--paper)!important;}.topbar[data-nav-theme="dark"] .reserve-pill.corner-frame:is(:hover,:focus-visible), .topbar[data-nav-theme="dark"] .reserve-pill.corner-frame:is(:hover,:focus-visible) span{color:var(--ink)!important;-webkit-text-fill-color:var(--ink)!important;}}.site-nav a.corner-frame > .corner-frame__marks > .corner-frame__mark{background:transparent!important;}.site-nav a.corner-frame:is(:hover,:focus-visible) > .corner-frame__marks > .corner-frame__mark{background:transparent!important;opacity:1!important;}.site-nav a.corner-frame.is-active > .corner-frame__marks > .corner-frame__mark, .site-nav a.corner-frame.is-active:is(:hover,:focus-visible) > .corner-frame__marks > .corner-frame__mark{background:currentColor!important;opacity:1!important;}.topbar .reserve-pill.corner-frame:is(:hover,:focus-visible) > .corner-frame__marks > .corner-frame__mark{background:var(--paper)!important;border-color:var(--paper)!important;opacity:1!important;}@media (min-width:681px){#inicio .hero-brand-panels{will-change:transform;}}:is(#carta,#about-concept) .route-label, :is(#carta,#about-concept) .route-label>p{min-width:0!important;max-width:none!important;white-space:normal!important;text-wrap:wrap!important;overflow-wrap:normal!important;word-break:normal!important;}:is(#carta,#about-concept) .route-label>p{width:100%!important;}:is(#experiencias,#about-team) .experience-option, :is(#experiencias,#about-team) .experience-option:is(:hover,:focus-within){box-sizing:border-box!important;padding:calc(var(--frame-pad) + 2px)!important;}:is(#experiencias,#about-team) .experience-option-link{box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:0!important;}:is(#experiencias,#about-team) .experience-option small{box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:clamp(12px,1.8vh,20px) 0 0!important;}:is(#experiencias,#about-team)>.section-index, :is(#experiencias,#about-team) .inline-actions, :is(#experiencias,#about-team) .experience-option{border-inline:0!important;}:is(#experiencias,#about-team)>.experience-copy{border-inline:0!important;box-shadow:none!important;}:is(#experiencias,#about-team) .experience-option, :is(#experiencias,#about-team) .experience-option:is(:hover,:focus-within,:focus-visible){box-shadow:none!important;}@media (min-width:901px){:is(#experiencias,#about-team)>.section-index span:first-child{display:block!important;grid-column:1!important;}:is(#experiencias,#about-team)>.section-index span:first-child::after{content:none!important;}:is(#experiencias,#about-team)>.section-index span:nth-child(2){display:block!important;grid-column:2!important;}:is(#experiencias,#about-team)>.section-index span:last-child{display:none!important;}}:is(#experiencias,#about-team)>.section-index::before, :is(#experiencias,#about-team)>.section-index::after, :is(#experiencias,#about-team) .experience-image::before, :is(#experiencias,#about-team) .experience-image::after, :is(#experiencias,#about-team) .experience-copy::before, :is(#experiencias,#about-team) .experience-copy::after, :is(#experiencias,#about-team) .inline-actions::before, :is(#experiencias,#about-team) .inline-actions::after{content:none!important;display:none!important;border:0!important;box-shadow:none!important;}:is(#experiencias,#about-team)>.section-index, :is(#experiencias,#about-team) .experience-image, :is(#experiencias,#about-team) .experience-copy, :is(#experiencias,#about-team) .inline-actions{border-left:0!important;border-right:0!important;box-shadow:none!important;}@media (min-width:901px){body .horizontal-story--main :is(#experiencias,#about-team)>.section-index{box-shadow:none!important;border:0!important;}:is(#experiencias,#about-team) .experience-copy>.inline-actions{box-shadow:none!important;border:0!important;}}@media (min-width:901px){body .horizontal-story--main :is(#experiencias,#about-team)>.section-index{padding-inline:0!important;grid-template-columns:1fr 1fr!important;}:is(#experiencias,#about-team)>.section-index span:first-child, :is(#experiencias,#about-team)>.section-index span:nth-child(2){padding-left:0!important;padding-right:0!important;margin-left:0!important;text-align:left!important;}:is(#experiencias,#about-team) .experience-copy>.inline-actions{gap:0!important;column-gap:0!important;padding-inline:0!important;}}@media (min-width:901px){:is(#carta,#about-concept):has(.dish-categories:is(:hover,:focus-within))>.section-index{grid-template-columns:.65fr 1.35fr!important;}:is(#carta,#about-concept):has(.dish-link:is(:hover,:focus-visible))>.section-index{grid-template-columns:1.42fr .58fr!important;}:is(#carta,#about-concept), :is(#carta,#about-concept)>.section-index{transition:grid-template-columns var(--module-motion)!important;}:is(#carta,#about-concept) .section-title>h2{min-width:0!important;width:100%!important;max-width:none!important;white-space:normal!important;text-wrap:wrap!important;overflow-wrap:normal!important;word-break:normal!important;}}@media (min-width:901px){:is(#carta,#about-concept) .section-title>.eyebrow, :is(#carta,#about-concept) .section-title>:is(#carta-title,#about-concept-title){display:none!important;}:is(#carta,#about-concept)>.route-grid{transform:translateY(clamp(-74px,-7vh,-48px))!important;}:is(#carta,#about-concept) .dish-list--categories{transform:translateY(clamp(-52px,-5vh,-32px))!important;}}@media (min-width:901px){:is(#carta,#about-concept){--carta-rail-space:clamp(48px,4.6vw,76px);box-sizing:border-box!important;}:is(#carta,#about-concept) .menu-visual{max-width:100%!important;box-sizing:border-box!important;}:is(#carta,#about-concept)>.route-grid{box-sizing:border-box!important;grid-template-columns:.72fr 1.14fr 1.14fr!important;}:is(#carta,#about-concept)>.route-grid:has(.route-label:is(:hover,:focus-within)){grid-template-columns:1.36fr .82fr .82fr!important;}:is(#carta,#about-concept)>.route-grid:has(.route-card:nth-child(2):is(:hover,:focus-visible)){grid-template-columns:.45fr 1.93fr .62fr!important;}:is(#carta,#about-concept)>.route-grid:has(.route-card:nth-child(3):is(:hover,:focus-visible)){grid-template-columns:.45fr .62fr 1.93fr!important;}:is(#carta,#about-concept) .dish-list--categories{box-sizing:border-box!important;}:is(#carta,#about-concept) .route-card, :is(#carta,#about-concept) .dish-link, :is(#carta,#about-concept) .dish-categories{max-width:100%!important;box-sizing:border-box!important;}}@media (min-width:901px){:is(#carta,#about-concept){--carta-right-rail:clamp(58px,5.2vw,84px);padding-right:0!important;grid-template-columns:calc((100% - var(--carta-right-rail)) / 4)
      calc((100% - var(--carta-right-rail)) / 4)
      calc((100% - var(--carta-right-rail)) / 4)
      calc((100% - var(--carta-right-rail)) / 4)
      var(--carta-right-rail)!important;}:is(#carta,#about-concept)>.section-index, :is(#carta,#about-concept)>.route-grid{grid-column:3/5!important;}:is(#carta,#about-concept) .dish-list--categories{grid-column:3/5!important;}:is(#carta,#about-concept) .block-rail--right{position:absolute!important;right:0!important;width:var(--carta-right-rail)!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;transform:none!important;writing-mode:vertical-rl!important;}:is(#carta,#about-concept)>.route-grid, :is(#carta,#about-concept) .dish-list--categories{width:auto!important;max-width:none!important;}}@media (min-width:901px){:is(#carta,#about-concept) .menu-visual{min-width:0!important;min-height:0!important;overflow:hidden!important;}:is(#carta,#about-concept) .menu-visual img{object-position:center!important;}}@media (min-width:901px){:is(#carta,#about-concept):has(.dish-link:is(:hover,:focus-visible)){grid-template-columns:calc((100% - var(--carta-right-rail)) / 4)
      calc((100% - var(--carta-right-rail)) / 4)
      calc((100% - var(--carta-right-rail)) / 4 * 1.42)
      calc((100% - var(--carta-right-rail)) / 4 * .58)
      var(--carta-right-rail)!important;}:is(#carta,#about-concept):has(.dish-categories:is(:hover,:focus-within)){grid-template-columns:calc((100% - var(--carta-right-rail)) / 4)
      calc((100% - var(--carta-right-rail)) / 4)
      calc((100% - var(--carta-right-rail)) / 4 * .65)
      calc((100% - var(--carta-right-rail)) / 4 * 1.35)
      var(--carta-right-rail)!important;}:is(#carta,#about-concept) .menu-visual{grid-column:1/3!important;grid-row:1/4!important;width:100%!important;height:100%!important;}:is(#carta,#about-concept) .menu-visual img{width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important;object-fit:cover!important;}}:root{--module-safe:var(--rail-safe);--module-content-gap:var(--editorial-gap);--module-frame-pad:var(--frame-pad);}:where(.module-frame){--module-safe-inline:var(--module-safe);--module-content-inline:var(--module-content-gap);}:where(.module-frame > .section-index, .module-content, .module-content > .dish-heading, .module-content > .dish-categories, .module-content > .editorial-action, .module-content > .team-biography, .module-content > .inline-actions, .module-content > .press-card > a){min-width:0;max-width:none;overflow-wrap:break-word;}:is(:is(#carta,#about-concept),.horizontal-story--copy) :is(.route-card,.dish-link):is(:hover,:focus-visible){box-shadow:none!important;}.horizontal-story--copy :is(:is(#carta,#about-concept),:is(#experiencias,#about-team)) :is(.menu-visual,.experience-image){position:absolute;inset:0;z-index:-1;pointer-events:none;grid-area:auto!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;transform:none!important;opacity:1!important;}.horizontal-story--copy :is(:is(#carta,#about-concept),:is(#experiencias,#about-team)) :is(.menu-visual,.experience-image) img{width:100%!important;height:100%!important;object-fit:cover;aspect-ratio:auto!important;}@media (min-width:901px){.horizontal-story--copy :is(#carta,#about-concept) .menu-note{right:calc(50% + var(--carta-right-rail) / 2 + var(--editorial-gap));}}.module-frame--inverse{--frame-ink:#fff;--frame-hover-bg:#fff;--frame-hover-fg:var(--ink);}.horizontal-story--copy :is(:is(#carta,#about-concept),:is(#experiencias,#about-team)) :is(.menu-visual,.experience-image)::after{content:""!important;display:block!important;position:absolute;inset:0;background:rgb(0 0 0 / .38);pointer-events:none;}.horizontal-story--copy :is(.menu-note,.experience-note){z-index:1;}.module-frame--inverse .layout-module--editorial{--frame-hover-bg:transparent;--frame-hover-fg:var(--frame-ink);}.horizontal-story--copy :is(#experiencias,#about-team) .experience-biography > * + *{margin-top:16px;}.horizontal-story--copy :is(#experiencias,#about-team) .experience-biography .eyebrow{opacity:1;}.horizontal-story--copy #about-team .inline-actions{width:max-content!important;max-width:100%;grid-template-columns:max-content!important;margin-top:clamp(24px,4vh,48px)!important;}.horizontal-story--copy #about-team .experience-option{width:max-content;min-height:0!important;padding:12px 16px!important;}.horizontal-story--copy #about-team .experience-option-link{width:auto!important;gap:16px;}@media (min-width:901px){.horizontal-story--copy :is(#experiencias,#about-team) .experience-biography{grid-column:1;grid-row:2;align-self:start;min-width:0;padding:0;}}@media (min-width:901px){#about-team .experience-copy{grid-template-rows:minmax(110px,.65fr) auto minmax(90px,.6fr);align-content:start;}#about-team .experience-copy > .inline-actions{grid-column:1;grid-row:3;}}#inicio .hero-brand-panels{--hero-mark-size:clamp(6px,.9vmin,11px);top:0;left:0;right:0;height:50svh;min-height:0;transform:translate3d(0,var(--hero-pin-y,0px),0);}#inicio .hero-panel-content{padding:0!important;inset:var(--hero-mark-size) calc(var(--hero-mark-size) / 2);}#inicio .hero-brand-panel:first-child .hero-panel-content{left:var(--hero-mark-size);}#inicio .hero-brand-panel:last-of-type .hero-panel-content{right:var(--hero-mark-size);}#inicio .hero-panel-content img{inset:0;width:100%!important;height:100%;max-width:none;object-fit:cover;transform:none;}#inicio .hero-panel-copy{z-index:2;color:#fff;text-shadow:0 1px 8px rgb(0 0 0 / .65);}.topbar{transition:transform 420ms var(--ease), visibility 420ms, background .35s var(--ease), color .35s var(--ease);}body.is-home .topbar{transform:translateY(-110%);visibility:hidden;pointer-events:none;}body.is-home .global-rail-flow{visibility:hidden;}body:not(.is-home) .topbar :is(.wordmark,.menu-toggle,.site-nav>a,.reserve-pill){animation:nav-entry 680ms var(--ease) var(--nav-entry-delay,0ms) backwards;}@keyframes nav-entry{from{opacity:0;filter:blur(7px);translate:0 -18px;clip-path:inset(0 0 100% 0);}to{filter:blur(0);translate:0 0;clip-path:inset(0);}}@media (prefers-reduced-motion:reduce){.topbar{transition:none;}body:not(.is-home) .topbar :is(.wordmark,.menu-toggle,.site-nav>a,.reserve-pill){animation:none;}}#inicio .hero-cast{display:flex;flex-direction:column;align-items:center;gap:12px;}.hero-logo{width:clamp(80px,7vw,104px);height:auto;filter:invert(1);}#inicio .hero-reserve{min-height:32px;padding:8px 14px;font-size:9px;letter-spacing:.02em;}.hero-recognition{align-self:center;justify-content:center;gap:12px;margin-top:10px;}.hero-recognition img{width:42px;height:42px;object-fit:contain;filter:grayscale(1) invert(1);}@media (max-height:650px){#inicio .hero-data{top:49%;}#inicio .hero-cast{gap:5px;}#inicio .hero-recognition{margin-top:6px;}#inicio .hero-recognition img{width:32px;height:32px;}}#inicio .hero-reserve > .corner-frame__marks{opacity:0!important;}#inicio .hero-reserve > .corner-frame__surface{background:transparent!important;}body #inicio .hero-reserve:is(:hover,:focus-visible,:focus-within),
body #inicio .hero-reserve:is(:hover,:focus-visible,:focus-within) > *{color:var(--paper)!important;}.reserve-transition{position:fixed;z-index:1000;pointer-events:none;mix-blend-mode:difference;--reserve-mark:6px;}.reserve-transition::before{content:"";position:absolute;inset:var(--reserve-mark);background:#fff;}.reserve-transition i{position:absolute;width:var(--reserve-mark);height:var(--reserve-mark);background:#fff;}.reserve-transition i:nth-child(1){top:0;left:0;}.reserve-transition i:nth-child(2){top:0;right:0;}.reserve-transition i:nth-child(3){bottom:0;left:0;}.reserve-transition i:nth-child(4){bottom:0;right:0;}


/* HOME · Reservar: hover cromático, sin desplazamiento */
.hero-reserve {
  transition: background .25s, color .25s !important;
}
.hero-reserve:hover,
.hero-reserve:focus-visible {
  transform: none !important;
  background: var(--paper);
  color: var(--ink);
}


/* =========================================================
   PRENSA · comportamiento definitivo
   - El scroll SOLO controla qué artículo corresponde a la imagen.
   - .is-active NO cambia fondo ni color.
   - El hover SOLO expande la tarjeta.
   - Texto siempre negro sobre el fondo claro de Prensa.
   ========================================================= */

body #prensa .press-card,
body #prensa .press-card.is-active,
body #prensa .press-card:hover,
body #prensa .press-card:focus-within,
body #prensa .press-card > a,
body #prensa .press-card.is-active > a,
body #prensa .press-card:hover > a,
body #prensa .press-card:focus-within > a,
body #prensa .press-card > a.corner-frame[data-frame-role="button"],
body #prensa .press-card.is-active > a.corner-frame[data-frame-role="button"],
body #prensa .press-card:hover > a.corner-frame[data-frame-role="button"],
body #prensa .press-card:focus-within > a.corner-frame[data-frame-role="button"] {
  --corner-surface: transparent !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--ink) !important;
  mix-blend-mode: normal !important;
}

body #prensa .press-card > a > *,
body #prensa .press-card.is-active > a > *,
body #prensa .press-card:hover > a > *,
body #prensa .press-card:focus-within > a > *,
body #prensa .press-card > a.corner-frame[data-frame-role="button"] > *:not(.corner-frame__surface):not(.corner-frame__marks),
body #prensa .press-card.is-active > a.corner-frame[data-frame-role="button"] > *:not(.corner-frame__surface):not(.corner-frame__marks),
body #prensa .press-card:hover > a.corner-frame[data-frame-role="button"] > *:not(.corner-frame__surface):not(.corner-frame__marks),
body #prensa .press-card:focus-within > a.corner-frame[data-frame-role="button"] > *:not(.corner-frame__surface):not(.corner-frame__marks) {
  color: var(--ink) !important;
}

body #prensa .press-card > a.corner-frame > .corner-frame__surface {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: transparent !important;
}

body #prensa .press-card > a {
  opacity: 1 !important;
}

body #prensa .press-card > a > .press-meta,
body #prensa .press-card > a > h3,
body #prensa .press-card > a > span[aria-hidden="true"] {
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--ink) !important;
}

@media (min-width: 901px) {
  body #prensa .press-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
    gap: 6px !important;
    height: 100% !important;
    min-height: 0 !important;
    align-self: stretch !important;
    transition: grid-template-rows 760ms var(--ease) !important;
  }

  /* Importante: .is-active del scroll NO expande nada. Solo :hover/focus. */
  body #prensa .press-list:has(.press-card:nth-child(1):hover),
  body #prensa .press-list:has(.press-card:nth-child(1):focus-within) {
    grid-template-rows: 3fr .34fr .34fr .34fr !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(2):hover),
  body #prensa .press-list:has(.press-card:nth-child(2):focus-within) {
    grid-template-rows: .34fr 3fr .34fr .34fr !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(3):hover),
  body #prensa .press-list:has(.press-card:nth-child(3):focus-within) {
    grid-template-rows: .34fr .34fr 3fr .34fr !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(4):hover),
  body #prensa .press-list:has(.press-card:nth-child(4):focus-within) {
    grid-template-rows: .34fr .34fr .34fr 3fr !important;
  }

  body #prensa .press-card {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body #prensa .press-card > a {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    column-gap: 12px !important;
    padding: calc(var(--corner-size) * 1.7) var(--frame-pad) !important;
    overflow: hidden !important;
  }

  body #prensa .press-card .press-meta {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
  }

  body #prensa .press-card > a > span[aria-hidden="true"] {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
  }

  body #prensa .press-card h3 {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
    align-self: end !important;
    margin: 0 !important;
  }
}


/* =========================================================
   PRENSA · ajuste 02
   El scroll vuelve a expandir la tarjeta .is-active.
   Hover y scroll comparten exactamente la misma proporción.
   Movimiento más suave y progresivo.
   ========================================================= */
@media (min-width: 901px) {
  body #prensa .press-list {
    transition: grid-template-rows 1150ms cubic-bezier(.16, 1, .3, 1) !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(1):is(.is-active,:hover,:focus-within)) {
    grid-template-rows: 3fr .34fr .34fr .34fr !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(2):is(.is-active,:hover,:focus-within)) {
    grid-template-rows: .34fr 3fr .34fr .34fr !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(3):is(.is-active,:hover,:focus-within)) {
    grid-template-rows: .34fr .34fr 3fr .34fr !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(4):is(.is-active,:hover,:focus-within)) {
    grid-template-rows: .34fr .34fr .34fr 3fr !important;
  }
}


/* =========================================================
   PRENSA · responsive + tarjetas compactas
   - Desktop y móvil comparten el acordeón por .is-active.
   - En móvil también responde al hover/focus cuando exista.
   - Sin separación vertical entre tarjetas: los corner marks
     inferiores/superiores quedan pegados entre sí.
   ========================================================= */

body #prensa .press-list {
  gap: 0 !important;
  row-gap: 0 !important;
}

/* MÓVIL / TABLET */
@media (max-width: 900px) {
  body #prensa .press-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    row-gap: 0 !important;
    height: clamp(430px, 68svh, 620px) !important;
    min-height: 0 !important;
    transition: grid-template-rows 1150ms cubic-bezier(.16, 1, .3, 1) !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(1):is(.is-active,:hover,:focus-within)) {
    grid-template-rows: 2.35fr .55fr .55fr .55fr !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(2):is(.is-active,:hover,:focus-within)) {
    grid-template-rows: .55fr 2.35fr .55fr .55fr !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(3):is(.is-active,:hover,:focus-within)) {
    grid-template-rows: .55fr .55fr 2.35fr .55fr !important;
  }

  body #prensa .press-list:has(.press-card:nth-child(4):is(.is-active,:hover,:focus-within)) {
    grid-template-rows: .55fr .55fr .55fr 2.35fr !important;
  }

  body #prensa .press-card {
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body #prensa .press-card > a {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    padding: calc(var(--corner-size) * 1.35) var(--frame-pad) !important;
    overflow: hidden !important;
  }

  body #prensa .press-card .press-meta {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
  }

  body #prensa .press-card > a > span[aria-hidden="true"] {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
  }

  body #prensa .press-card h3 {
    grid-column: 1 / 3 !important;
    grid-row: 2 !important;
    align-self: end !important;
    margin: 0 !important;
  }
}

/* DESKTOP: pegamos también los frames entre sí */
@media (min-width: 901px) {
  body #prensa .press-list {
    gap: 0 !important;
    row-gap: 0 !important;
  }
}

/* FOOTER ELIMINADO */


/* FIN DE PÁGINA: PRENSA ES LA ÚLTIMA SECCIÓN */
main > #prensa.press-section { margin-bottom: 0 !important; }
main { padding-bottom: 0 !important; margin-bottom: 0 !important; }
body { padding-bottom: 0 !important; margin-bottom: 0 !important; }



/* =========================================================
   CARTA + ABOUT US · eliminar líneas horizontales divisorias
   Desktop y móvil.
   ========================================================= */

/* CARTA: línea situada antes/sobre "Consultar la carta completa" */
#carta .dish-link,
#carta .dish-list,
#carta .dish-list--categories {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

#carta .dish-link::before,
#carta .dish-link::after,
#carta .dish-list::before,
#carta .dish-list::after {
  display: none !important;
  content: none !important;
}

/* ABOUT US · primera slide:
   elimina la división entre Memoria / Producto / Técnica y Reservar */
#about-concept .dish-link,
#about-concept .dish-list,
#about-concept .dish-list--categories {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

#about-concept .dish-link::before,
#about-concept .dish-link::after,
#about-concept .dish-list::before,
#about-concept .dish-list::after {
  display: none !important;
  content: none !important;
}



/* VISÍTANOS · duplicado exacto de la primera slide de ABOUT US */
#visitanos .dish-link,
#visitanos .dish-list,
#visitanos .dish-list--categories {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

#visitanos .dish-link::before,
#visitanos .dish-link::after,
#visitanos .dish-list::before,
#visitanos .dish-list::after {
  display: none !important;
  content: none !important;
}



/* =========================================================
   VISÍTANOS · layout propio a ancho útil completo
   ========================================================= */

#visitanos {
  --visit-safe: var(--rail-safe);
  position: relative !important;
  isolation: isolate !important;
  box-sizing: border-box !important;
  min-height: 100svh !important;
  width: 100% !important;
  overflow: hidden !important;
  padding-left: var(--visit-safe) !important;
  padding-right: var(--visit-safe) !important;

  /* anulamos la retícula de media pantalla heredada de About Us */
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  column-gap: var(--editorial-gap) !important;
}

/* Fondo: exactamente a pantalla completa */
#visitanos .menu-visual {
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  transform: none !important;
  overflow: hidden !important;
}

#visitanos .menu-visual img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
  aspect-ratio: auto !important;
}

#visitanos .menu-visual::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  background: rgb(0 0 0 / .38) !important;
  pointer-events: none !important;
}

/* Metadatos superiores: también dentro del ancho seguro */
#visitanos > .section-index {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
}

#visitanos > .section-title {
  grid-column: 1 / -1 !important;
}

/* 01 / 02 / 03: TODO el ancho útil, no la mitad derecha */
#visitanos > .route-grid {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  grid-template-columns: .72fr 1.14fr 1.14fr !important;
}

/* Mantener la interacción responsive de las tres columnas */
#visitanos > .route-grid:has(.route-label:is(:hover,:focus-within)) {
  grid-template-columns: 1.36fr .82fr .82fr !important;
}
#visitanos > .route-grid:has(.route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)) {
  grid-template-columns: .45fr 1.93fr .62fr !important;
}
#visitanos > .route-grid:has(.route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)) {
  grid-template-columns: .45fr .62fr 1.93fr !important;
}

#visitanos > .route-grid > .route-card:nth-child(1),
#visitanos > .route-grid > .route-card:nth-child(2),
#visitanos > .route-grid > .route-card:nth-child(3) {
  grid-column: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Presente + Reservar: también ocupa todo el ancho útil */
#visitanos > .menu-layout {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  column-gap: var(--editorial-gap) !important;
}

#visitanos .dish-list--categories {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* La imagen ya es fondo: no reserva ninguna columna */
#visitanos > .menu-layout > .menu-visual {
  grid-column: auto !important;
}

/* Las rails se han quitado del HTML; esto cubre cualquier resto */
#visitanos .block-rails,
#visitanos .block-rail {
  display: none !important;
}

/* Móvil: conserva el mismo margen seguro y apila las 3 columnas */
@media (max-width: 680px) {
  #visitanos {
    padding-left: var(--rail-safe) !important;
    padding-right: var(--rail-safe) !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  #visitanos > .route-grid {
    grid-template-columns: 1fr !important;
  }

  #visitanos > .route-grid:has(.route-card:is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 1fr !important;
  }

  #visitanos > .route-grid > .route-card:nth-child(n) {
    grid-column: 1 !important;
    width: 100% !important;
  }

  #visitanos > .menu-layout {
    grid-template-columns: 1fr !important;
  }

  #visitanos .dish-list--categories {
    grid-column: 1 !important;
  }
}



/* =========================================================
   VISÍTANOS · columnas fluidas
   Mismo lenguaje de expansión/contracción, ahora sobre todo
   el ancho útil de la sección.
   ========================================================= */

@media (min-width: 681px) {
  #visitanos > .route-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    transition:
      grid-template-columns 1050ms cubic-bezier(.16, 1, .3, 1) !important;
    will-change: grid-template-columns;
  }

  #visitanos > .route-grid > .route-card {
    min-width: 0 !important;
    width: auto !important;
    overflow: hidden !important;
    transition:
      padding 1050ms cubic-bezier(.16, 1, .3, 1),
      opacity 650ms cubic-bezier(.16, 1, .3, 1) !important;
  }

  /* 01 */
  #visitanos > .route-grid:has(.route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 2.35fr .325fr .325fr !important;
  }

  /* 02 */
  #visitanos > .route-grid:has(.route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: .325fr 2.35fr .325fr !important;
  }

  /* 03 */
  #visitanos > .route-grid:has(.route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: .325fr .325fr 2.35fr !important;
  }

  /* El contenido de las columnas contraídas no desaparece de golpe:
     simplemente queda comprimido dentro de su módulo. */
  #visitanos > .route-grid:has(.route-card:is(:hover,:focus-visible,:focus-within))
    > .route-card:not(:is(:hover,:focus-visible,:focus-within)) {
    opacity: .72 !important;
  }

  #visitanos > .route-grid > .route-card:is(:hover,:focus-visible,:focus-within) {
    opacity: 1 !important;
  }
}

/* En móvil no hacemos acordeón horizontal: se mantiene legible. */
@media (max-width: 680px) {
  #visitanos > .route-grid,
  #visitanos > .route-grid:has(.route-card:is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 1fr !important;
    transition: none !important;
  }
}



/* =========================================================
   VISÍTANOS · 04 columnas fluidas
   ========================================================= */
@media (min-width: 681px) {
  #visitanos > .route-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    transition: grid-template-columns 1050ms cubic-bezier(.16, 1, .3, 1) !important;
  }

  #visitanos > .route-grid > .route-card:nth-child(1),
  #visitanos > .route-grid > .route-card:nth-child(2),
  #visitanos > .route-grid > .route-card:nth-child(3),
  #visitanos > .route-grid > .route-card:nth-child(4) {
    grid-column: auto !important;
    min-width: 0 !important;
  }

  #visitanos > .route-grid:has(.route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 2.8fr .4fr .4fr .4fr !important;
  }

  #visitanos > .route-grid:has(.route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: .4fr 2.8fr .4fr .4fr !important;
  }

  #visitanos > .route-grid:has(.route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: .4fr .4fr 2.8fr .4fr !important;
  }

  #visitanos > .route-grid:has(.route-card:nth-child(4):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: .4fr .4fr .4fr 2.8fr !important;
  }
}

@media (max-width: 680px) {
  #visitanos > .route-grid,
  #visitanos > .route-grid:has(.route-card:is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 1fr !important;
  }

  #visitanos > .route-grid > .route-card:nth-child(n) {
    grid-column: 1 !important;
  }
}



/* =========================================================
   VISÍTANOS · movimiento refinado / proporcional
   Override final: expansión menos brusca y con continuidad.
   ========================================================= */
@media (min-width: 681px) {
  #visitanos > .route-grid {
    --visit-ease: cubic-bezier(.22, .78, .18, 1);
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    transition: grid-template-columns 820ms var(--visit-ease) !important;
    will-change: grid-template-columns;
  }

  #visitanos > .route-grid > .route-card {
    min-width: 0 !important;
    overflow: hidden !important;
    transition:
      padding-left 820ms var(--visit-ease),
      padding-right 820ms var(--visit-ease),
      opacity 520ms ease !important;
  }

  /* La activa crece aprox. al 52%; las otras tres se reparten
     proporcionalmente el 48% restante. */
  #visitanos > .route-grid:has(.route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 3.25fr 1fr 1fr 1fr !important;
  }

  #visitanos > .route-grid:has(.route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 1fr 3.25fr 1fr 1fr !important;
  }

  #visitanos > .route-grid:has(.route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 1fr 1fr 3.25fr 1fr !important;
  }

  #visitanos > .route-grid:has(.route-card:nth-child(4):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 1fr 1fr 1fr 3.25fr !important;
  }

  /* Evita el efecto de "apagado": el movimiento se percibe por geometría,
     no por esconder las columnas vecinas. */
  #visitanos > .route-grid:has(.route-card:is(:hover,:focus-visible,:focus-within))
    > .route-card {
    opacity: 1 !important;
  }

  /* El texto acompaña al cambio de ancho sin saltos visuales. */
  #visitanos > .route-grid > .route-card > h3,
  #visitanos > .route-grid > .route-card > p,
  #visitanos > .route-grid > .route-card > span {
    max-width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  #visitanos > .route-grid,
  #visitanos > .route-grid > .route-card {
    transition: none !important;
  }
}



/* =========================================================
   VISÍTANOS · versión final negra / solo cuatro columnas
   ========================================================= */

/* Fondo negro continuo, como la entrada visual a Galería. */
#visitanos {
  background: var(--ink) !important;
  color: var(--paper) !important;
  --section-bg: var(--ink) !important;
  --section-fg: var(--paper) !important;
  --line: var(--line-dark) !important;

  min-height: 100svh !important;
  width: 100% !important;
  padding-left: var(--rail-safe) !important;
  padding-right: var(--rail-safe) !important;

  display: flex !important;
  align-items: center !important;
}

/* Ya no existe imagen, cabecera, metadatos ni bloque inferior.
   Estas reglas además neutralizan cualquier resto heredado. */
#visitanos > .section-index,
#visitanos > .section-title,
#visitanos > .menu-layout,
#visitanos .menu-visual,
#visitanos .dish-list,
#visitanos .block-rails {
  display: none !important;
}

/* Las cuatro columnas son el único contenido de la pantalla. */
#visitanos > .route-grid {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  align-self: center !important;
}

/* Líneas y tipografía correctas sobre negro. */
#visitanos > .route-grid > .route-card {
  color: var(--paper) !important;
  border-color: var(--line-dark) !important;
}

/* Evita que estilos "light" heredados vuelvan a pintar la sección clara. */
#visitanos.light,
#visitanos.module-frame--light {
  background: var(--ink) !important;
  color: var(--paper) !important;
}

/* Los corner marks también pasan a blanco sobre negro. */
#visitanos.module-frame--inverse {
  --frame-ink: var(--paper) !important;
  --frame-hover-bg: transparent !important;
  --frame-hover-fg: var(--paper) !important;
}



/* =========================================================
   VISÍTANOS · transición Prensa → Visítanos
   Usa el MISMO canvas global que Experiencias → Galería.
   No pintamos negro sobre la sección: dejamos que --canvas-bg
   interpole de paper a ink durante el scroll.
   ========================================================= */

#visitanos,
#visitanos.light,
#visitanos.module-frame--light {
  background: transparent !important;
  color: var(--canvas-fg) !important;
  --section-bg: var(--canvas-bg) !important;
  --section-fg: var(--canvas-fg) !important;
  --line: var(--canvas-line) !important;
}

#visitanos > .route-grid > .route-card {
  color: var(--canvas-fg) !important;
  border-color: var(--canvas-line) !important;
}

/* El acordeón ya no depende de :hover para decidir la geometría.
   JS fija primero el estado y CSS puede interpolar desde 25/25/25/25. */
@media (min-width: 681px) {
  #visitanos > .route-grid {
    --visit-ease: cubic-bezier(.22, 1, .36, 1);
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    transition: grid-template-columns 900ms var(--visit-ease) !important;
    will-change: grid-template-columns;
  }

  /* Neutraliza las reglas antiguas basadas en :has(:hover),
     que eran las responsables del salto al entrar desde fuera. */
  #visitanos > .route-grid:has(.route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)),
  #visitanos > .route-grid:has(.route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)),
  #visitanos > .route-grid:has(.route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)),
  #visitanos > .route-grid:has(.route-card:nth-child(4):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  #visitanos > .route-grid.is-visit-active-1 {
    grid-template-columns: 3.25fr 1fr 1fr 1fr !important;
  }

  #visitanos > .route-grid.is-visit-active-2 {
    grid-template-columns: 1fr 3.25fr 1fr 1fr !important;
  }

  #visitanos > .route-grid.is-visit-active-3 {
    grid-template-columns: 1fr 1fr 3.25fr 1fr !important;
  }

  #visitanos > .route-grid.is-visit-active-4 {
    grid-template-columns: 1fr 1fr 1fr 3.25fr !important;
  }

  #visitanos > .route-grid > .route-card {
    min-width: 0 !important;
    overflow: hidden !important;
  }
}

@media (max-width: 680px) {
  #visitanos > .route-grid,
  #visitanos > .route-grid[class*="is-visit-active-"] {
    grid-template-columns: 1fr !important;
  }
}



/* =========================================================
   FIX FINAL · PRENSA → VISÍTANOS + ACORDEÓN VISÍTANOS
   ========================================================= */

/* PRENSA:
   Había una regla posterior que pintaba #prensa con --paper sólido.
   La anulamos para que el canvas global quede visible y pueda hacer
   exactamente la interpolación light → dark que ya usa la web. */
#prensa.press-section,
#prensa .press-sticky,
#prensa .press-layout {
  background: transparent !important;
  background-color: transparent !important;
}

/* Prensa toma color y líneas del canvas mientras éste cambia. */
#prensa.press-section {
  color: var(--canvas-fg) !important;
  --section-bg: var(--canvas-bg) !important;
  --section-fg: var(--canvas-fg) !important;
  --line: var(--canvas-line) !important;
}

body #prensa .press-card,
body #prensa .press-card.is-active,
body #prensa .press-card:hover,
body #prensa .press-card:focus-within,
body #prensa .press-card > a,
body #prensa .press-card.is-active > a,
body #prensa .press-card:hover > a,
body #prensa .press-card:focus-within > a,
body #prensa .press-card > a > *,
body #prensa .press-card.is-active > a > *,
body #prensa .press-card:hover > a > *,
body #prensa .press-card:focus-within > a > * {
  color: var(--canvas-fg) !important;
}

/* VISÍTANOS:
   Importante: estas reglas están al final y ganan a los antiguos
   :has(:hover) que estaban bloqueando las clases que pone JS. */
#visitanos,
#visitanos.light,
#visitanos.module-frame--light {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--canvas-fg) !important;
  --section-bg: var(--canvas-bg) !important;
  --section-fg: var(--canvas-fg) !important;
  --line: var(--canvas-line) !important;
}

@media (min-width: 681px) {
  #visitanos > .route-grid {
    --visit-ease: cubic-bezier(.22, 1, .36, 1);
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    transition: grid-template-columns 900ms var(--visit-ease) !important;
    will-change: grid-template-columns;
  }

  /* Desactivamos la geometría de TODOS los hover antiguos. */
  #visitanos > .route-grid:has(.route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)):not(.is-visit-active-1):not(.is-visit-active-2):not(.is-visit-active-3):not(.is-visit-active-4),
  #visitanos > .route-grid:has(.route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)):not(.is-visit-active-1):not(.is-visit-active-2):not(.is-visit-active-3):not(.is-visit-active-4),
  #visitanos > .route-grid:has(.route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)):not(.is-visit-active-1):not(.is-visit-active-2):not(.is-visit-active-3):not(.is-visit-active-4),
  #visitanos > .route-grid:has(.route-card:nth-child(4):is(:hover,:focus-visible,:focus-within)):not(.is-visit-active-1):not(.is-visit-active-2):not(.is-visit-active-3):not(.is-visit-active-4) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  /* Estas son las ÚNICAS geometrías activas. */
  #visitanos > .route-grid.is-visit-active-1,
  #visitanos > .route-grid.is-visit-active-1:has(.route-card:hover) {
    grid-template-columns: 3.25fr 1fr 1fr 1fr !important;
  }

  #visitanos > .route-grid.is-visit-active-2,
  #visitanos > .route-grid.is-visit-active-2:has(.route-card:hover) {
    grid-template-columns: 1fr 3.25fr 1fr 1fr !important;
  }

  #visitanos > .route-grid.is-visit-active-3,
  #visitanos > .route-grid.is-visit-active-3:has(.route-card:hover) {
    grid-template-columns: 1fr 1fr 3.25fr 1fr !important;
  }

  #visitanos > .route-grid.is-visit-active-4,
  #visitanos > .route-grid.is-visit-active-4:has(.route-card:hover) {
    grid-template-columns: 1fr 1fr 1fr 3.25fr !important;
  }

  #visitanos > .route-grid > .route-card {
    min-width: 0 !important;
    overflow: hidden !important;
    color: var(--canvas-fg) !important;
    border-color: var(--canvas-line) !important;
  }
}



/* =========================================================
   FIX DEFINITIVO · PRENSA → VISÍTANOS
   ========================================================= */

/* La regla culpable original es:
   body main > #prensa.press-section { background:var(--paper)!important; }
   Tiene más especificidad que los fixes anteriores.
   La anulamos con EL MISMO selector. */
body main > #prensa.press-section {
  background: transparent !important;
  background-color: transparent !important;
  color: var(--canvas-fg) !important;
  --section-bg: var(--canvas-bg) !important;
  --section-fg: var(--canvas-fg) !important;
  --line: var(--canvas-line) !important;
}

body main > #prensa.press-section > .press-sticky,
body main > #prensa.press-section .press-layout,
body main > #prensa.press-section .press-list,
body main > #prensa.press-section .press-card,
body main > #prensa.press-section .press-card > a {
  background: transparent !important;
  background-color: transparent !important;
}

/* El texto y las líneas acompañan al canvas durante light → dark. */
body main > #prensa.press-section .press-card,
body main > #prensa.press-section .press-card > a,
body main > #prensa.press-section .press-card > a > * {
  color: var(--canvas-fg) !important;
  border-color: var(--canvas-line) !important;
}

/* =========================================================
   FIX DEFINITIVO · ACORDEÓN VISÍTANOS
   Misma lógica CSS que el acordeón que ya funciona:
   estado base explícito + :has(:hover) + transición de grid.
   NO depende de JS.
   ========================================================= */

@media (min-width: 681px) {
  body main #visitanos > .route-grid {
    display: grid !important;

    /* IMPORTANTE: valores explícitos. No repeat()/minmax().
       Así el navegador puede interpolar desde el primer frame. */
    grid-template-columns: 1fr 1fr 1fr 1fr !important;

    transition:
      grid-template-columns 1150ms cubic-bezier(.16, 1, .3, 1) !important;

    will-change: grid-template-columns;
  }

  body main #visitanos > .route-grid > .route-card {
    grid-column: auto !important;
    min-width: 0 !important;
    width: auto !important;
    overflow: hidden !important;

    transition:
      opacity 520ms cubic-bezier(.16, 1, .3, 1),
      padding 1150ms cubic-bezier(.16, 1, .3, 1) !important;
  }

  /* Neutraliza por completo las clases del JS anterior.
     Aunque accidentalmente siguieran presentes, no controlan la geometría. */
  body main #visitanos > .route-grid.is-visit-active-1,
  body main #visitanos > .route-grid.is-visit-active-2,
  body main #visitanos > .route-grid.is-visit-active-3,
  body main #visitanos > .route-grid.is-visit-active-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
  }

  /* Hover real: exactamente la misma idea del acordeón funcional,
     pero repartida entre cuatro columnas. */
  body main #visitanos > .route-grid:has(> .route-card:nth-child(1):hover),
  body main #visitanos > .route-grid:has(> .route-card:nth-child(1):focus-visible),
  body main #visitanos > .route-grid:has(> .route-card:nth-child(1):focus-within) {
    grid-template-columns: 2.35fr .55fr .55fr .55fr !important;
  }

  body main #visitanos > .route-grid:has(> .route-card:nth-child(2):hover),
  body main #visitanos > .route-grid:has(> .route-card:nth-child(2):focus-visible),
  body main #visitanos > .route-grid:has(> .route-card:nth-child(2):focus-within) {
    grid-template-columns: .55fr 2.35fr .55fr .55fr !important;
  }

  body main #visitanos > .route-grid:has(> .route-card:nth-child(3):hover),
  body main #visitanos > .route-grid:has(> .route-card:nth-child(3):focus-visible),
  body main #visitanos > .route-grid:has(> .route-card:nth-child(3):focus-within) {
    grid-template-columns: .55fr .55fr 2.35fr .55fr !important;
  }

  body main #visitanos > .route-grid:has(> .route-card:nth-child(4):hover),
  body main #visitanos > .route-grid:has(> .route-card:nth-child(4):focus-visible),
  body main #visitanos > .route-grid:has(> .route-card:nth-child(4):focus-within) {
    grid-template-columns: .55fr .55fr .55fr 2.35fr !important;
  }
}

@media (max-width: 680px) {
  body main #visitanos > .route-grid,
  body main #visitanos > .route-grid:has(> .route-card:hover) {
    grid-template-columns: 1fr !important;
    transition: none !important;
  }
}



/* =========================================================
   VISÍTANOS · FIX DE INTERACCIÓN
   Las reglas antiguas .is-visit-active-* tenían más especificidad
   que :has(:hover) y dejaban el grid clavado en 1fr 1fr 1fr 1fr.
   Este bloque final gana explícitamente ese conflicto.
   ========================================================= */
@media (min-width: 681px) {
  body main #visitanos > .route-grid,
  body main #visitanos > .route-grid.is-visit-active-1,
  body main #visitanos > .route-grid.is-visit-active-2,
  body main #visitanos > .route-grid.is-visit-active-3,
  body main #visitanos > .route-grid.is-visit-active-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr !important;
    transition: grid-template-columns 1050ms cubic-bezier(.16,1,.3,1) !important;
  }

  body main #visitanos > .route-grid:has(> .route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-1:has(> .route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-2:has(> .route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-3:has(> .route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-4:has(> .route-card:nth-child(1):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: 2.35fr .55fr .55fr .55fr !important;
  }

  body main #visitanos > .route-grid:has(> .route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-1:has(> .route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-2:has(> .route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-3:has(> .route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-4:has(> .route-card:nth-child(2):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: .55fr 2.35fr .55fr .55fr !important;
  }

  body main #visitanos > .route-grid:has(> .route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-1:has(> .route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-2:has(> .route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-3:has(> .route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-4:has(> .route-card:nth-child(3):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: .55fr .55fr 2.35fr .55fr !important;
  }

  body main #visitanos > .route-grid:has(> .route-card:nth-child(4):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-1:has(> .route-card:nth-child(4):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-2:has(> .route-card:nth-child(4):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-3:has(> .route-card:nth-child(4):is(:hover,:focus-visible,:focus-within)),
  body main #visitanos > .route-grid.is-visit-active-4:has(> .route-card:nth-child(4):is(:hover,:focus-visible,:focus-within)) {
    grid-template-columns: .55fr .55fr .55fr 2.35fr !important;
  }
}



/* =========================================================
   VISÍTANOS · contenido final minimalista
   ========================================================= */

/* Sin líneas verticales entre columnas. */
body main #visitanos > .route-grid > .route-card,
body main #visitanos > .route-grid > .route-card:last-child {
  border-right: 0 !important;
  border-left: 0 !important;
}

/* Cada columna funciona como una pequeña ficha editorial. */
#visitanos .visit-info-card {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  min-height: clamp(320px, 44vh, 520px) !important;
}

#visitanos .visit-info-card > h3 {
  margin-top: clamp(28px, 5vh, 64px) !important;
  font-size: clamp(18px, 1.7vw, 28px) !important;
  line-height: 1 !important;
  white-space: nowrap;
}

#visitanos .visit-card-content {
  margin-top: auto;
  display: grid;
  gap: 0;
  min-width: 0;
}

/* Logo discreto: no se convierte en un bloque protagonista. */
#visitanos .visit-card-logo {
  width: min(190px, 72%) !important;
  height: auto !important;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1);
  opacity: .9;
  margin-bottom: clamp(22px, 4vh, 46px);
}

#visitanos .visit-kicker {
  margin: 0 0 clamp(20px, 3vh, 34px) !important;
  max-width: none !important;
  font-size: 8px !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  opacity: .48 !important;
}

/* Links como texto editorial, no como botones. */
#visitanos .visit-text-link {
  display: grid;
  grid-template-columns: minmax(64px, .7fr) minmax(0, 1.3fr);
  gap: clamp(10px, 1vw, 18px);
  width: 100%;
  padding: 11px 0;
  border-top: 1px solid var(--canvas-line);
  color: inherit;
  background: transparent !important;
  min-width: 0;
  transition: opacity 420ms var(--ease), padding-left 650ms var(--ease);
}

#visitanos .visit-text-link:last-child {
  border-bottom: 1px solid var(--canvas-line);
}

#visitanos a.visit-text-link:hover,
#visitanos a.visit-text-link:focus-visible {
  padding-left: 7px;
  opacity: .58;
}

#visitanos .visit-text-link > span:first-child {
  font-size: 7px;
  text-transform: uppercase;
  opacity: .45;
}

#visitanos .visit-text-link > span:last-child {
  min-width: 0;
  font-size: 9px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

#visitanos .visit-text-static {
  cursor: default;
}

/* Premios: iconos pequeños + texto, sin crear tarjetas/botones. */
#visitanos .visit-awards {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 68px;
  margin-bottom: clamp(18px, 3vh, 30px);
}

#visitanos .visit-awards img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain;
  filter: grayscale(1);
  opacity: .88;
}

/* El contenido acompaña al acordeón sin bloquear el hover de la columna. */
#visitanos .visit-info-card,
#visitanos .visit-info-card * {
  box-sizing: border-box;
}

@media (min-width: 681px) {
  #visitanos .visit-info-card {
    padding-inline: clamp(12px, 1.4vw, 24px) !important;
  }

  #visitanos .visit-info-card:first-child {
    padding-left: 0 !important;
  }

  #visitanos .visit-info-card:last-child {
    padding-right: 0 !important;
  }

  /* Cuando una columna se contrae, el contenido se recorta limpiamente. */
  #visitanos .visit-info-card {
    overflow: hidden !important;
  }

  #visitanos .visit-card-content {
    width: 100%;
    min-width: 180px;
  }
}

@media (max-width: 680px) {
  #visitanos .visit-info-card {
    min-height: 280px !important;
    padding: 22px 0 !important;
  }

  #visitanos .visit-info-card > h3 {
    white-space: normal;
  }

  #visitanos .visit-card-content {
    margin-top: 54px;
  }

  #visitanos .visit-card-logo {
    width: min(170px, 55%) !important;
  }
}



/* =========================================================
   VISÍTANOS · ULTRA MINIMAL
   ========================================================= */
#visitanos .visit-info-card {
  border: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: clamp(360px, 52vh, 620px) !important;
  padding: clamp(18px, 2vw, 34px) !important;
}

#visitanos .visit-simple-content {
  width: 100%;
  min-width: 0;
  display: block;
}

#visitanos .visit-number {
  display: block;
  margin-bottom: clamp(28px, 5vh, 58px);
  font-size: 8px;
  line-height: 1;
  opacity: .58;
}

#visitanos .visit-simple-content p {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 320px !important;
  font-size: 9px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  opacity: .86 !important;
}

#visitanos .visit-card-logo {
  display: block;
  width: min(180px, 68%) !important;
  height: auto !important;
  margin: 0 0 clamp(28px, 4vh, 44px) !important;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1);
  opacity: .92;
}

/* Neutraliza el sistema anterior de filas, links y bloques internos. */
#visitanos .visit-card-content,
#visitanos .visit-text-link,
#visitanos .visit-awards,
#visitanos .visit-kicker {
  all: unset;
}

/* Nada se comporta visualmente como botón. */
#visitanos .visit-info-card a,
#visitanos .visit-info-card a:hover,
#visitanos .visit-info-card a:focus-visible {
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: inherit !important;
  opacity: inherit !important;
}

@media (max-width: 680px) {
  #visitanos .visit-info-card {
    min-height: 300px !important;
    justify-content: center !important;
    padding: 32px 0 !important;
  }

  #visitanos .visit-simple-content p {
    max-width: 280px !important;
  }
}

/* Footer: shared editorial accordion, with one consistent spacing system. */
body main #visitanos {
  padding: clamp(48px, 8vh, 96px) var(--outer-margin) !important;
  min-height: 100svh !important;
  height: 100svh !important;
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
}
body main #visitanos > #footer-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr 1fr !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: clamp(16px, 2vw, 32px) !important;
  transform: none !important;
  transition: grid-template-columns var(--module-motion) !important;
}
body main #visitanos > #footer-grid > .visit-info-card {
  grid-area: auto !important;
  min-width: 0 !important;
  min-height: 210px !important;
  padding: 20px 0 !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  transition: opacity var(--module-fade) !important;
  opacity: 1 !important;
}
#visitanos #footer-grid .visit-simple-content { width: 100%; }
#visitanos #footer-grid .visit-card-logo {
  width: 104px !important;
  max-width: 100% !important;
  margin-bottom: 20px !important;
}
#visitanos #footer-grid p { overflow-wrap: anywhere; }
#visitanos #footer-grid a {
  display: inline !important;
  font: inherit !important;
  text-transform: inherit !important;
  letter-spacing: inherit !important;
  text-decoration: underline;
  text-decoration-color: transparent;
  text-underline-offset: 3px;
  transition: text-decoration-color 220ms ease !important;
}
#visitanos #footer-grid a:is(:hover,:focus-visible) {
  text-decoration-color: currentColor;
}
@media (min-width: 901px) {
  body main #visitanos > #footer-grid:has(> :nth-child(1):is(:hover,:focus-within)) { grid-template-columns: 1.72fr .76fr .76fr .76fr !important; }
  body main #visitanos > #footer-grid:has(> :nth-child(2):is(:hover,:focus-within)) { grid-template-columns: .76fr 1.72fr .76fr .76fr !important; }
  body main #visitanos > #footer-grid:has(> :nth-child(3):is(:hover,:focus-within)) { grid-template-columns: .76fr .76fr 1.72fr .76fr !important; }
  body main #visitanos > #footer-grid:has(> :nth-child(4):is(:hover,:focus-within)) { grid-template-columns: .76fr .76fr .76fr 1.72fr !important; }
  body main #visitanos > #footer-grid:has(> :is(:hover,:focus-within)) > .visit-info-card:not(:hover):not(:focus-within) { opacity: .42 !important; }

  .horizontal-story--copy #about-team .experience-copy {
    grid-template-rows: clamp(52px, 8vh, 80px) minmax(80px, .45fr) minmax(0, 1fr) !important;
  }
  .horizontal-story--copy #about-team .experience-biography { grid-column: 1; grid-row: 3; }
  .horizontal-story--copy #about-team .experience-copy > h2 {
    grid-column: 2;
    grid-row: 2;
    margin: 0 !important;
    align-self: start;
  }
  .horizontal-story--copy #about-team .experience-copy > .inline-actions {
    grid-column: 1;
    grid-row: 2;
    width: 100% !important;
    margin: 0 !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-self: start;
    padding-right: var(--editorial-gap);
    box-sizing: border-box;
  }
}
.horizontal-story--copy #about-team .inline-actions .experience-option,
.horizontal-story--copy #about-team .inline-actions .experience-option-link {
  width: 100% !important;
  box-sizing: border-box;
}
.horizontal-story--copy #about-team .inline-actions .experience-option-link { justify-content: space-between; }
@media (max-width: 900px) {
  body main #visitanos > #footer-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px 20px !important;
  }
  body main #visitanos > #footer-grid > .visit-info-card { min-height: 0 !important; padding: 12px 0 !important; }
  .horizontal-story--copy #about-team .experience-copy > .inline-actions {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  body main #visitanos > #footer-grid,
  body main #visitanos > #footer-grid > .visit-info-card { transition: none !important; }
}
body main #visitanos { color: var(--canvas-fg) !important; }
body main #visitanos > #footer-grid { height: auto !important; min-height: 0 !important; }
body main #visitanos > #footer-grid > .visit-info-card,
body main #visitanos > #footer-grid > .visit-info-card * { color: var(--canvas-fg) !important; }
body main > #visitanos.theme-section.horizontal-panel { background: transparent !important; background-color: transparent !important; }
@media (min-width: 901px) {
  .horizontal-story--copy #about-team .experience-biography { margin-top: 0; }
}

/* Keep the contact track identical at rest and on interaction. Only its parent expands. */
#about-team #team-contact-actions {
  grid-template-columns: 1.72fr .58fr !important;
}
#visitanos #footer-grid .visit-card-logo {
  mix-blend-mode: difference;
  filter: invert(1);
}
@media (max-width: 900px) {
  #about-team .experience-copy { display: flex; flex-direction: column; }
  #about-team .experience-copy > h2 { order: 1; }
  #about-team #team-contact-actions { order: 2; margin: 16px 0 32px !important; }
  #about-team .experience-biography { order: 3; }
}

/* A shared grid keeps the chapter heading and editorial rows in step. */
@media (min-width: 901px) {
  body #contenido .horizontal-story--main :is(#experiencias, #about-team) {
    --experience-columns: 1fr 1fr;
  }
  body #contenido .horizontal-story--main :is(#experiencias, #about-team):has(.experience-option:nth-child(1):is(:hover, :focus-within)) {
    --experience-columns: 1.72fr .58fr;
  }
  body #contenido .horizontal-story--main :is(#experiencias, #about-team):has(.experience-option:nth-child(2):is(:hover, :focus-within)) {
    --experience-columns: .58fr 1.72fr;
  }
  body #contenido .horizontal-story--main :is(#experiencias, #about-team) > :is(.section-index, .experience-copy) {
    grid-template-columns: var(--experience-columns) !important;
    transition: grid-template-columns var(--module-motion) !important;
  }
  body #contenido .horizontal-story--main :is(#experiencias, #about-team) > .section-index {
    width: calc(50% - var(--rail-safe)) !important;
  }
  .horizontal-story--copy #about-team .experience-biography {
    padding-right: clamp(20px, 2.5vw, 40px);
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }
  .horizontal-story--copy #about-team .experience-biography--team {
    grid-column: 2;
    grid-row: 3;
  }
}
@media (max-width: 900px) {
  #about-team .experience-biography--team { order: 4; margin-top: 24px; }
}


/* =========================================================
   FILETES VERTICALES · RELEVO EDITORIAL
   ========================================================= */
@media (min-width:901px) {
  /* Blanco + difference mantiene ambos extremos legibles tanto sobre
     fondos claros como sobre fotografía / negro. */
  .global-rail-flow {
    color:#fff !important;
    mix-blend-mode:difference;
  }

  .global-rail-pair {
    transition:none !important;
    will-change:opacity,transform;
  }

  .global-rail {
    color:inherit !important;
  }
}

/* Remove only the decorative bars around chapter metadata. */
body #contenido :is(#carta, #about-concept) > .section-index,
body #contenido #galeria .gallery-meta {
  border-inline: 0 !important;
  box-shadow: none !important;
}
body #contenido :is(#carta, #about-concept) > .section-index::before,
body #contenido :is(#carta, #about-concept) > .section-index::after,
body #contenido #galeria .gallery-meta::before,
body #contenido #galeria .gallery-meta::after {
  content: none !important;
  display: none !important;
}
.section-rail-track { display: none; }
@media (min-width: 901px) {
  /* Each chapter owns its rails: enter with its top, pin at mid-screen,
     then leave with its bottom. No changes to the JavaScript controller. */
  body .global-rail-flow { display: none !important; }
  .horizontal-story { view-timeline-name: --chapter-rails; view-timeline-axis: block; }
  .section-rail-track {
    display: block;
    position: absolute;
    inset: 72px 0;
    z-index: 46;
    pointer-events: none;
    color: #fff;
    mix-blend-mode: difference;
  }
  .section-rail-pin { position: sticky; top: 50vh; height: 0; }
  .section-rail-labels { position: absolute; inset: 0; }
  .section-rail-label {
    position: absolute;
    top: 0;
    font: 9px/1 var(--mono) !important;
    writing-mode: vertical-rl;
    white-space: nowrap;
    color: inherit !important;
  }
  .section-rail-label--left { left: var(--outer-margin); transform: translateY(-50%) rotate(180deg); }
  .section-rail-label--right { right: var(--outer-margin); transform: translateY(-50%); }
  .horizontal-story > .section-rail-track .section-rail-labels {
    animation: chapter-rail-out linear both;
    animation-timeline: --chapter-rails;
    animation-range: contain 0% contain 100%;
  }
  .horizontal-story > .section-rail-track .section-rail-labels + .section-rail-labels {
    animation-name: chapter-rail-in;
  }
}
@keyframes chapter-rail-out {
  0%, 28% { opacity: 1; transform: translateX(0); }
  100% { opacity: 0; transform: translateX(-42px); }
}
@keyframes chapter-rail-in {
  0%, 28% { opacity: 0; transform: translateX(42px); }
  100% { opacity: 1; transform: translateX(0); }
}
@media (min-width: 901px) {
  .section-rail-track { clip-path: inset(-100vh 0); }
  .horizontal-story > .section-rail-track .section-rail-labels {
    animation-timing-function: cubic-bezier(.65, 0, .35, 1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .horizontal-story > .section-rail-track .section-rail-labels {
    animation-timing-function: steps(1, end);
  }
}

/* =========================================================
   MOBILE ART DIRECTION · 2026-09-16
   Desktop remains untouched. One coherent mobile layer.
   ========================================================= */
@media (max-width: 680px) {
  /* Full-screen glass navigation: no opaque light/dark panel. */
  .site-nav {
    z-index: 49;
    inset: var(--nav-h) 0 0;
    height: calc(100svh - var(--nav-h));
    padding: clamp(34px, 7vh, 64px) var(--content-margin) 28px;
    justify-content: center;
    gap: 0;
    background: transparent !important;
    border-bottom: 0;
    -webkit-backdrop-filter: blur(30px) saturate(125%);
    backdrop-filter: blur(30px) saturate(125%);
    transform: translateY(calc(-100% - var(--nav-h)));
  }
  .site-nav::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(127,127,127,.06), rgba(127,127,127,.015));
  }
  .site-nav.open { transform: none; }
  .site-nav a,
  .site-nav a:nth-child(4) {
    padding: 15px 0;
    font-size: clamp(27px, 8vw, 38px);
    line-height: .96;
    border-bottom-color: color-mix(in srgb, currentColor 24%, transparent);
  }

  /* CARTA · restore hierarchy and make the beverage cards a scroll sequence. */
  #carta {
    min-height: auto;
    padding-top: calc(var(--nav-h) + 34px);
    padding-bottom: 72px;
  }
  #carta > .section-index {
    padding: 0 var(--content-margin) 38px;
  }
  #carta > .section-title {
    padding-inline: var(--content-margin);
    margin-bottom: 38px;
  }
  #carta > .menu-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  #carta .dish-list--categories {
    padding-inline: var(--content-margin);
  }
  #carta .dish-heading {
    display: block;
    margin-bottom: 42px;
  }
  #carta .dish-heading p {
    max-width: 30ch;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }
  #carta .dish-categories {
    display: block;
    margin: 0 0 46px;
  }
  #carta .dish-categories li {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    gap: 12px;
    padding: 15px 0;
    border-top: 1px solid var(--line);
  }
  #carta .dish-categories li:last-child { border-bottom: 1px solid var(--line); }
  #carta .dish-categories li p { max-width: none; }
  #carta .dish-link {
    width: 100%;
    min-height: 52px;
    justify-content: space-between;
    margin-bottom: 52px;
  }
  #carta .menu-visual {
    order: 2;
    width: calc(100% - (var(--content-margin) * 2));
    margin: 0 var(--content-margin);
  }
  #carta .menu-visual img { aspect-ratio: 4 / 5; }
  #carta > .route-grid {
    order: 3;
    display: block !important;
    margin: 54px 0 0 !important;
    padding-inline: var(--content-margin);
  }
  #carta > .route-grid > .route-label {
    min-height: 0 !important;
    padding: 0 0 28px !important;
    border-bottom: 1px solid var(--line);
  }
  #carta > .route-grid > .route-card:not(.route-label) {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr) auto;
    grid-template-rows: auto auto;
    align-content: center;
    gap: 8px 12px;
    min-height: 42svh !important;
    padding: 34px 0 !important;
    border-bottom: 1px solid var(--line);
  }
  #carta > .route-grid > .route-card:not(.route-label) > span { grid-column: 1; grid-row: 1; }
  #carta > .route-grid > .route-card:not(.route-label) > h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    align-self: start;
    font-size: clamp(24px, 7vw, 32px) !important;
  }
  #carta > .route-grid > .route-card:not(.route-label) > b {
    position: static;
    grid-column: 3;
    grid-row: 1;
    align-self: start;
  }
  #carta > .route-grid > .route-card:not(.route-label) > p {
    grid-column: 2 / 4;
    grid-row: 2;
    max-width: 29ch;
    margin: 0;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 560ms var(--ease), transform 720ms var(--ease);
  }
  #carta > .route-grid > .route-card.mobile-card-active > p {
    opacity: .76;
    transform: none;
  }

  /* ABOUT · concept becomes an editorial vertical story instead of a desktop stack. */
  #about-concept {
    min-height: auto;
    padding-top: calc(var(--nav-h) + 38px);
    padding-bottom: 86px;
  }
  #about-concept > .section-index,
  #about-concept > .section-title {
    padding-inline: var(--content-margin);
  }
  #about-concept > .section-index { padding-bottom: 40px; }
  #about-concept > .section-title { margin-bottom: 34px; }
  #about-concept > .route-grid {
    display: block !important;
    margin: 0;
    padding-inline: var(--content-margin);
  }
  #about-concept > .route-grid > .route-card {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    grid-template-rows: auto auto;
    align-content: center;
    min-height: 29svh !important;
    padding: 28px 0 !important;
    border-bottom: 1px solid var(--line);
  }
  #about-concept > .route-grid > .route-card:first-child { border-top: 1px solid var(--line); }
  #about-concept > .route-grid > .route-card > span { grid-column: 1; grid-row: 1; }
  #about-concept > .route-grid > .route-card > h3 {
    grid-column: 2;
    grid-row: 1;
    margin: 0 0 12px;
    font-size: clamp(22px, 6.4vw, 29px) !important;
  }
  #about-concept > .route-grid > .route-card > p {
    grid-column: 2;
    grid-row: 2;
    max-width: 29ch;
    margin: 0;
  }
  #about-concept > .menu-layout {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 54px;
  }
  #about-concept .menu-visual {
    order: 1;
    width: calc(100% - (var(--content-margin) * 2));
    margin: 0 var(--content-margin) 54px;
  }
  #about-concept .menu-visual img { aspect-ratio: 4 / 5; object-fit: cover; }
  #about-concept .dish-list--categories {
    order: 2;
    padding-inline: var(--content-margin);
  }
  #about-concept .dish-categories { margin: 0; }
  #about-concept .dish-categories li { display: block; }
  #about-concept .dish-categories li > span {
    display: block;
    margin-bottom: 20px;
    opacity: .58;
  }
  #about-concept .dish-categories .lead {
    max-width: 12ch;
    margin-bottom: 24px;
    font-size: clamp(25px, 7.4vw, 34px) !important;
    line-height: 1.02 !important;
  }
  #about-concept .dish-categories li > p:last-child {
    max-width: 34ch;
    line-height: 1.65 !important;
  }
  #about-concept .dish-link {
    width: 100%;
    min-height: 52px;
    justify-content: space-between;
    margin-top: 42px;
  }

  /* ABOUT · team keeps the successful Experiences grammar, but with more breathing room. */
  #about-team { min-height: auto; padding-bottom: 88px; }
  #about-team > .experience-image { min-height: 76svh; }
  #about-team > .experience-copy {
    min-height: 0;
    padding: 62px var(--content-margin) 0;
  }
  #about-team .experience-copy > h2 {
    max-width: 13ch;
    margin-bottom: 28px !important;
    font-size: clamp(25px, 7.2vw, 34px) !important;
    line-height: 1.02 !important;
  }
  #about-team #team-contact-actions {
    margin: 22px 0 42px !important;
  }
  #about-team .experience-biography,
  #about-team .experience-biography--team {
    max-width: 36ch;
    margin-top: 0 !important;
    padding-top: 26px;
    border-top: 1px solid var(--line);
    line-height: 1.65;
  }
  #about-team .experience-biography--team { margin-top: 36px !important; }

  /* Footer · same copy, but paced like a closing chapter rather than a compact grid. */
  body main #visitanos {
    min-height: 125svh !important;
    padding: calc(var(--nav-h) + 48px) var(--content-margin) 42px !important;
    align-content: stretch;
  }
  body main #visitanos > #footer-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto;
    gap: 0 !important;
    width: 100%;
    min-height: calc(125svh - var(--nav-h) - 90px) !important;
  }
  body main #visitanos > #footer-grid > .visit-info-card {
    display: flex;
    align-items: center;
    min-height: 24svh !important;
    padding: 28px 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--canvas-line) !important;
  }
  body main #visitanos > #footer-grid > .visit-info-card:first-child {
    align-items: flex-start;
    min-height: 29svh !important;
    padding-top: 0 !important;
  }
  body main #visitanos > #footer-grid > .visit-info-card:last-child {
    border-bottom: 0 !important;
    align-items: flex-end;
  }
  #visitanos #footer-grid .visit-card-logo {
    width: min(42vw, 150px) !important;
    margin-bottom: 28px !important;
  }
  #visitanos #footer-grid .visit-simple-content { width: 100%; }
  #visitanos #footer-grid p { max-width: 34ch; line-height: 1.65 !important; }
}

/* Mobile chapters: the same quiet monospace voice as Experiencias. */
.mobile-section-rails { display: none; }
@media (max-width: 900px) {
  :root { --mobile-gutter: clamp(32px, 9vw, 56px); }
  body #contenido :is(#carta, #experiencias, #about-concept, #about-team) {
    width: 100% !important;
    height: auto !important;
    min-height: 100svh !important;
    display: flex !important;
    flex-direction: column;
    padding: 0 0 72px !important;
    transform: none !important;
    opacity: 1 !important;
    overflow: visible !important;
  }
  body #contenido :is(#carta, #experiencias, #about-concept, #about-team, #prensa, #visitanos)
  :is(p, h2, h3, strong, small, a, span, b) {
    font-family: var(--mono) !important;
    font-size: 10px !important;
    font-weight: 300 !important;
    line-height: 1.5 !important;
    letter-spacing: 0 !important;
  }
  body #contenido :is(#carta, #experiencias, #about-concept, #about-team) > .section-index {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: 32px 1fr !important;
    width: auto !important;
    padding: 32px var(--mobile-gutter) !important;
    margin: 0 !important;
    order: 0;
    color: inherit !important;
    mix-blend-mode: normal;
  }
  body #contenido .horizontal-panel > .section-index span:last-child { display: none !important; }
  body #contenido .horizontal-panel > .section-index span:nth-child(2) { text-align: left; }
  body #contenido :is(#carta, #about-concept) > .section-title { display: none !important; }
  body #contenido :is(#carta, #about-concept) > .menu-layout { display: contents !important; }
  body #contenido :is(#carta, #about-concept) .menu-visual,
  body #contenido #about-team > .experience-image {
    position: relative !important;
    inset: auto !important;
    z-index: 0 !important;
    order: 1;
    width: 100% !important;
    height: 64svh !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
    opacity: 1 !important;
  }
  body #contenido :is(#carta, #about-concept) .menu-visual img,
  body #contenido #about-team .experience-image img { height: 100% !important; width: 100% !important; object-fit: cover; }
  body #contenido :is(#carta, #about-concept) .menu-note { inset: auto var(--mobile-gutter) 20px !important; width: auto !important; background: transparent !important; color: white !important; }
  body #contenido :is(#carta, #about-concept) .dish-list--categories {
    order: 2;
    width: 100% !important;
    padding: 40px var(--mobile-gutter) 0 !important;
    margin: 0 !important;
    transform: none !important;
  }
  body #contenido :is(#carta, #about-concept) :is(.dish-heading, .dish-categories) { padding: 0 !important; margin: 0 0 28px !important; }
  body #contenido :is(#carta, #about-concept) .dish-categories li { display: block !important; padding: 16px 0 !important; }
  body #contenido :is(#carta, #about-concept) :is(.dish-heading p, .dish-categories p, .dish-categories .lead) { max-width: none !important; margin: 0 0 16px !important; }
  body #contenido :is(#carta, #about-concept) .dish-link { min-height: 48px !important; width: 100% !important; margin: 24px 0 0 !important; padding: 16px !important; }
  body #contenido :is(#carta, #about-concept) > .route-grid {
    order: 3;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    margin: 40px var(--mobile-gutter) 0 !important;
    padding: 0 !important;
    width: auto !important;
    transform: none !important;
  }
  body #contenido :is(#carta, #about-concept) > .route-grid > .route-card {
    display: grid !important;
    grid-template-columns: 28px minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    min-height: 136px !important;
    gap: 12px 8px;
    padding: 24px 12px !important;
    margin: 0 0 20px !important;
    align-content: center;
  }
  body #contenido :is(#carta, #about-concept) .route-card > p {
    grid-column: 2 / 4 !important;
    max-width: none !important;
    margin: 0 !important;
    opacity: 1 !important;
    transform: none !important;
  }
  body #contenido #carta .route-label { padding: 0 0 20px !important; min-height: 0 !important; }
  body #contenido :is(#experiencias, #about-team) > .experience-copy {
    order: 2;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 40px var(--mobile-gutter) 0 !important;
    gap: 24px;
  }
  body #contenido :is(#experiencias, #about-team) .experience-copy > :is(h2, p) { max-width: none !important; margin: 0 !important; }
  body #contenido #experiencias > .experience-image { order: 1; width: 100%; }
  body #contenido #experiencias .inline-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
  }
  body #contenido #experiencias .experience-option { min-height: 120px !important; padding: 20px !important; }
  body #contenido #about-team #team-contact-actions {
    grid-template-columns: minmax(0, 1fr) !important;
    margin: 0 0 12px !important;
    width: 100% !important;
  }
  body #contenido #about-team .experience-option { min-height: 48px !important; padding: 16px !important; }
  body #contenido #about-team .experience-biography { max-width: none !important; margin: 0 !important; padding: 24px 0 0 !important; }
  body #contenido #about-team .experience-biography p + p { margin-top: 20px; }
  body main #visitanos {
    height: auto !important;
    min-height: 100svh !important;
    padding: 72px var(--mobile-gutter) !important;
  }
  body main #visitanos > #footer-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 36px 20px !important;
    min-height: 0 !important;
  }
  body main #visitanos > #footer-grid > .visit-info-card {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  #visitanos #footer-grid .visit-card-logo { width: 100px !important; margin-bottom: 20px !important; }
  .site-nav a, .site-nav a:nth-child(4) { font: 300 12px/1.5 var(--mono) !important; padding: 18px 0 !important; }

  /* Mobile rails use each stacked chapter as their sticky boundary. */
  body #contenido .section-rail-track { display: block; position: absolute; inset: 72px 0; z-index: 46; pointer-events: none; color: #fff; mix-blend-mode: difference; clip-path: inset(-100vh 0); }
  body #contenido .horizontal-story > .section-rail-track { display: none; }
  .section-rail-pin { position: sticky; top: 50svh; height: 0; }
  .section-rail-labels { position: absolute; inset: 0; }
  body #contenido .section-rail-label {
    position: absolute; top: 0; writing-mode: vertical-rl; white-space: nowrap;
    font: 300 8px/1 var(--mono) !important; color: inherit !important;
  }
  .section-rail-label--left { left: 12px; transform: translateY(-50%) rotate(180deg); }
  .section-rail-label--right { right: 12px; transform: translateY(-50%); }
}
@media (max-width: 900px) and (prefers-reduced-motion: no-preference) {
  body #contenido :is(#carta, #experiencias, #about-concept, #about-team) [data-pulse-item] {
    opacity: 0 !important;
    translate: 0 22px !important;
    filter: blur(3px) !important;
    clip-path: inset(0 0 80% 0);
    transition: opacity 800ms var(--ease) var(--pulse-delay, 0ms), translate 1000ms var(--ease) var(--pulse-delay, 0ms), filter 900ms var(--ease) var(--pulse-delay, 0ms), clip-path 1000ms var(--ease) var(--pulse-delay, 0ms) !important;
  }
  body #contenido :is(#carta, #experiencias, #about-concept, #about-team) [data-pulse-item].is-pulsed {
    opacity: 1 !important; translate: 0 0 !important; filter: blur(0) !important; clip-path: inset(-12px);
  }
}
@media (max-width: 900px) {
  body #contenido :is(#experiencias, #about-team) { margin-top: 0 !important; }
}
@media (max-width: 900px) {
  body #contenido .theme-section .block-rails,
  body #contenido .horizontal-story .story-rails { display: none !important; }
  body #contenido :is(#experiencias, #about-team) .experience-image { position: relative !important; }
  body #contenido :is(#experiencias, #about-team) .experience-note {
    inset: auto var(--mobile-gutter) 20px !important;
    width: auto !important;
  }
}
@media (max-width: 900px) {
  body #contenido :is(#carta, #experiencias, #about-concept, #about-team) {
    background: transparent !important;
    color: var(--canvas-fg) !important;
  }
  body #contenido #prensa { height: 280svh !important; min-height: 280svh !important; }
  body #contenido #prensa .press-layout { position: relative; height: 100svh; }
  body #contenido #prensa .press-stage { position: absolute; inset: 0; width: 100%; height: 100%; }
  body #contenido #prensa .press-list {
    position: absolute !important;
    inset: auto var(--mobile-gutter) 28px !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    display: grid !important;
    gap: 12px;
    z-index: 5;
  }
  body #contenido #prensa .press-card,
  body #contenido #prensa .press-card > a {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
  }
  body #contenido #prensa .press-card > a { display: grid !important; padding: 10px 12px !important; gap: 6px; }
  body #contenido #prensa .press-card h3 { max-width: none !important; margin: 0 !important; }
}
@media (max-width: 900px) {
  body #contenido #prensa .press-sticky {
    padding: 0 !important; width: 100% !important; height: 100svh !important;
  }
  body #contenido #prensa .press-layout {
    display: block !important; width: 100% !important; margin: 0 !important; padding: 0 !important;
  }
  body #contenido #prensa .press-stage { clip-path: inset(0 0 53% 0); }
  body #contenido #prensa .press-list {
    grid-template-rows: repeat(4, auto) !important;
    align-content: end !important; gap: 8px;
  }
  body #contenido #prensa .press-card > a {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
  }
  body #contenido #prensa .press-card :is(.press-meta, h3) { position: static !important; }
  body #contenido #prensa .press-card .press-meta { grid-column: 1; grid-row: 1; }
  body #contenido #prensa .press-card h3 { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  body #contenido #prensa,
  body #contenido #prensa .press-sticky,
  body #contenido #prensa .press-layout { height: auto !important; min-height: 0 !important; }
  body #contenido #prensa .press-stage { display: none; }
  body #contenido #prensa .press-list { position: relative !important; inset: auto !important; margin: 64px var(--mobile-gutter) !important; }
}

/* Prensa: content-sized floors prevent metadata and headlines from colliding. */
body #prensa #press-editorial-list {
  --press-rows: minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 1fr);
  grid-template-rows: var(--press-rows) !important;
  gap: 20px !important;
  transition: grid-template-rows 920ms var(--ease) !important;
}
body #prensa #press-editorial-list .press-card {
  min-height: min-content !important;
  height: auto !important;
  transform: none !important;
  translate: none !important;
  overflow: visible !important;
}
body #prensa #press-editorial-list .press-card > a {
  height: 100% !important;
  min-height: min-content !important;
  grid-template-rows: auto minmax(min-content, 1fr) !important;
  gap: 12px !important;
  padding: 14px 16px !important;
  transform: none !important;
  overflow: visible !important;
}
body #prensa #press-editorial-list .press-card h3 {
  max-width: none !important;
  min-width: 0;
  overflow-wrap: break-word;
  align-self: end;
}
body #prensa #press-editorial-list:has(.press-card:nth-child(1).is-active) { --press-rows: minmax(min-content, 2.2fr) minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 1fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(2).is-active) { --press-rows: minmax(min-content, 1fr) minmax(min-content, 2.2fr) minmax(min-content, 1fr) minmax(min-content, 1fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(3).is-active) { --press-rows: minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 2.2fr) minmax(min-content, 1fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(4).is-active) { --press-rows: minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 2.2fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(1):hover) { --press-rows: minmax(min-content, 2.2fr) minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 1fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(2):hover) { --press-rows: minmax(min-content, 1fr) minmax(min-content, 2.2fr) minmax(min-content, 1fr) minmax(min-content, 1fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(3):hover) { --press-rows: minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 2.2fr) minmax(min-content, 1fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(4):hover) { --press-rows: minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 2.2fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(1):focus-within) { --press-rows: minmax(min-content, 2.2fr) minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 1fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(2):focus-within) { --press-rows: minmax(min-content, 1fr) minmax(min-content, 2.2fr) minmax(min-content, 1fr) minmax(min-content, 1fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(3):focus-within) { --press-rows: minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 2.2fr) minmax(min-content, 1fr); }
body #prensa #press-editorial-list:has(.press-card:nth-child(4):focus-within) { --press-rows: minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 1fr) minmax(min-content, 2.2fr); }

@media (min-width: 901px) {
  body #prensa #press-editorial-list { height: calc(100svh - var(--nav-h) - 64px) !important; }
}
@media (max-width: 900px) {
  body #contenido #prensa .press-sticky { height: 100svh !important; padding: 0 !important; }
  body #contenido #prensa .press-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(120px, 1fr) auto !important;
    gap: 28px !important;
    height: 100svh !important;
    padding: calc(var(--nav-h) + 20px) var(--mobile-gutter) 24px !important;
    box-sizing: border-box;
  }
  body #contenido #prensa .press-stage {
    position: relative !important;
    display: block !important;
    inset: auto !important;
    grid-column: 1 !important; grid-row: 1 !important;
    width: 100% !important; height: 100% !important;
    min-height: 0 !important; margin: 0 !important;
    clip-path: none !important;
    overflow: hidden !important;
    pointer-events: none;
  }
  body #contenido #prensa .press-stage .press-media {
    position: absolute !important; inset: 0 !important;
    width: 100% !important; height: 100% !important;
    aspect-ratio: auto !important; margin: 0 !important;
  }
  body #contenido #prensa #press-editorial-list {
    position: relative !important; inset: auto !important;
    grid-column: 1 !important; grid-row: 2 !important;
    grid-template-rows: repeat(4, minmax(min-content, auto)) !important;
    width: 100% !important; height: auto !important; min-height: 0 !important;
    gap: 18px !important; margin: 0 !important;
  }
  body #contenido #prensa #press-editorial-list .press-card > a {
    padding: 8px 12px !important;
    gap: 6px !important;
    grid-template-rows: auto auto !important;
  }
}
@media (max-width: 900px) and (max-height: 650px), (max-width: 900px) and (prefers-reduced-motion: reduce) {
  body #contenido #prensa { height: auto !important; min-height: 100svh !important; }
  body #contenido #prensa .press-sticky { position: relative; height: auto !important; }
  body #contenido #prensa .press-layout { height: auto !important; grid-template-rows: 180px auto !important; }
  body #contenido #prensa .press-media { display: none !important; }
  body #contenido #prensa .press-media:first-child { display: block !important; opacity: 1 !important; }
}
@media (prefers-reduced-motion: reduce) {
  body #prensa #press-editorial-list { transition: none !important; }
}
body #prensa #press-editorial-list .press-card :is(.press-meta, h3) { opacity: 1 !important; }

/* A continuous, slow home tour; manual input retains a quicker response. */
#inicio .hero-brand-panels {
  --hero-panel-motion: 1100ms;
  transition: grid-template-columns var(--hero-panel-motion) cubic-bezier(.45, 0, .15, 1) !important;
}
#inicio .hero-brand-panels.is-autoplaying { --hero-panel-motion: 2200ms; }
#inicio .hero-panel-content {
  transition: opacity 1200ms ease !important;
  transition-delay: 0ms !important;
}
#inicio .hero-panel-copy {
  transition: opacity 1100ms ease, filter 1300ms ease, translate 1400ms cubic-bezier(.22, 1, .36, 1) !important;
}
@media (prefers-reduced-motion: reduce) {
  #inicio .hero-brand-panels, #inicio .hero-panel-content, #inicio .hero-panel-copy { transition: none !important; }
}


/* =========================================================
   FINAL DETAIL PASS · 2026-09-16
   ========================================================= */

/* EXPERIENCIAS · toda la caja funciona como enlace. */
#experiencias .experience-option {
  position: relative !important;
  cursor: pointer;
}
#experiencias .experience-option .experience-option-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 20;
}
#experiencias .experience-option .experience-option-link {
  position: relative;
  z-index: 21;
}
#experiencias .experience-option small {
  position: relative;
  z-index: 1;
}

/* ABOUT TEAM · Contáctanos comparte ancho y respiración con el resto de acciones. */
#about-team #team-contact-actions {
  grid-template-columns: minmax(0, 1fr) !important;
  padding-right: 0 !important;
}
#about-team #team-contact-actions .experience-option {
  width: 100% !important;
}

/* FOOTER desktop · más recorrido vertical y logo ligeramente mayor. */
@media (min-width: 901px) {
  body main #visitanos {
    height: 120svh !important;
    min-height: 120svh !important;
    padding-top: clamp(64px, 10vh, 120px) !important;
    padding-bottom: clamp(64px, 10vh, 120px) !important;
  }
  body main #visitanos > #footer-grid {
    min-height: 72svh !important;
    align-items: stretch !important;
  }
  body main #visitanos > #footer-grid > .visit-info-card {
    min-height: 280px !important;
    padding-block: 34px !important;
  }
  #visitanos #footer-grid .visit-card-logo {
    width: 132px !important;
  }
}

@media (max-width: 900px) {
  /* HOME · ocultar únicamente “Cocina con corazón”. */
  #inicio .hero-micro > p:nth-child(2) {
    display: none !important;
  }
  #inicio .hero-micro {
    justify-content: space-between !important;
  }
  #inicio .hero-micro > p {
    flex: 0 1 auto !important;
  }

  /* CARTA + EXPERIENCIAS · sin textos superpuestos sobre las imágenes. */
  #carta .menu-note,
  #experiencias .experience-note {
    display: none !important;
  }

  /* CARTA + PRENSA · rails verticales negros sobre fondo claro. */
  body #contenido #carta > .section-rail-track,
  body #contenido #prensa > .section-rail-track {
    color: var(--ink) !important;
    mix-blend-mode: normal !important;
  }
  body #contenido #carta .section-rail-label,
  body #contenido #prensa .section-rail-label {
    color: var(--ink) !important;
  }

  /* Botones móviles · respiración común basada en Experiencias. */
  body #contenido #carta .dish-link,
  body #contenido #about-concept .dish-link,
  body #contenido #about-team .experience-option {
    min-height: 56px !important;
    padding: 20px !important;
  }
  body #contenido #carta > .route-grid > .route-card:not(.route-label) {
    padding: 20px !important;
  }

  /* ABOUT TEAM · eliminar líneas horizontales aisladas. */
  body #contenido #about-team .experience-biography,
  body #contenido #about-team .experience-biography--team {
    border-top: 0 !important;
  }

  /* FOOTER móvil · mismo margen exterior global que navegador/rails. */
  body main #visitanos {
    padding-left: var(--outer-margin) !important;
    padding-right: var(--outer-margin) !important;
  }
  #visitanos #footer-grid .visit-card-logo {
    width: 112px !important;
  }
}


/* =========================================================
   FOOTER DESKTOP/TABLET · editorial half-screen alignment
   ========================================================= */
@media (min-width: 681px) {
  body main #visitanos {
    height: 100svh !important;
    min-height: 100svh !important;
    display: flex !important;
    align-items: stretch !important;
    padding: 50svh var(--outer-margin) clamp(18px, 3vh, 30px) !important;
  }

  body main #visitanos > #footer-grid {
    height: calc(50svh - clamp(18px, 3vh, 30px)) !important;
    min-height: 0 !important;
    align-items: stretch !important;
    gap: clamp(22px, 2.6vw, 46px) !important;
  }

  body main #visitanos > #footer-grid > .visit-info-card {
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  #visitanos #footer-grid .visit-simple-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(20px, 2.7vh, 34px) 0 0;
  }

  #visitanos #footer-grid .visit-subblock + .visit-subblock {
    margin-top: clamp(28px, 4.4vh, 54px);
  }

  #visitanos #footer-grid .visit-label {
    margin-bottom: clamp(7px, 1vh, 12px);
    opacity: .58 !important;
  }

  #visitanos #footer-grid .visit-card-logo {
    width: clamp(120px, 9vw, 154px) !important;
    margin-bottom: clamp(24px, 3.6vh, 44px) !important;
  }
}

/* =========================================================
   EXPERIENCIAS · the complete black card is the link target
   ========================================================= */
#experiencias .experience-option {
  position: relative !important;
  cursor: pointer !important;
}

#experiencias .experience-option > .experience-option-link {
  position: static !important;
}

#experiencias .experience-option > .experience-option-link::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 100 !important;
  display: block !important;
  pointer-events: auto !important;
}

#experiencias .experience-option > small {
  position: relative;
  z-index: 1;
  pointer-events: none;
}


/* =========================================================
   FOOTER REFINEMENT · links, recognition marks, mobile rhythm
   ========================================================= */

/* Los enlaces del footer siempre están identificados con una línea fina. */
#visitanos #footer-grid a {
  position: relative;
  display: inline !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-decoration-color: currentColor !important;
  text-underline-offset: 4px !important;
  transition:
    opacity 280ms ease,
    text-underline-offset 360ms cubic-bezier(.2,.8,.2,1),
    filter 360ms ease !important;
}

/* “Impulso” sutil: la línea se separa ligeramente y el texto gana presencia. */
#visitanos #footer-grid a:is(:hover,:focus-visible) {
  opacity: .68 !important;
  text-underline-offset: 8px !important;
  filter: blur(0) !important;
  outline: none !important;
}

#visitanos #footer-grid .footer-location-link {
  line-height: inherit !important;
}

/* Reconocimientos: mismos símbolos de la home, tratados en monocromo. */
#visitanos .footer-recognition-logos {
  display: flex;
  align-items: center;
  gap: clamp(16px, 1.8vw, 28px);
  margin-top: clamp(24px, 3.8vh, 46px);
}

#visitanos .footer-recognition-logos img {
  display: block;
  width: auto;
  height: clamp(42px, 5.4vw, 72px);
  max-width: 92px;
  object-fit: contain;
  filter: grayscale(1) brightness(0) invert(1);
  opacity: .92;
}

#visitanos .footer-recognition-logos img + img {
  height: clamp(34px, 4.5vw, 60px);
}

/* Móvil: conservar el mismo ritmo entre Localización / Comidas / Cenas. */
@media (max-width: 680px) {
  #visitanos #footer-grid .visit-simple-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  #visitanos #footer-grid .visit-subblock + .visit-subblock {
    margin-top: 32px !important;
  }

  #visitanos #footer-grid .visit-label {
    margin-bottom: 8px !important;
  }

  #visitanos .footer-recognition-logos {
    margin-top: 28px;
    gap: 18px;
  }

  #visitanos .footer-recognition-logos img {
    height: 48px;
    max-width: 72px;
  }

  #visitanos .footer-recognition-logos img + img {
    height: 40px;
  }
}


/* =========================================================
   FOOTER HOVER · refined strike-through interaction
   ========================================================= */

/* Neutralise the previous downward underline movement. */
#visitanos #footer-grid a,
#visitanos #footer-grid a:is(:hover,:focus-visible) {
  text-underline-offset: 4px !important;
  opacity: 1 !important;
  filter: none !important;
}

/* When one footer link is active, the rest of the footer recedes. */
#visitanos #footer-grid:has(a:hover) .visit-info-card {
  color: #171717 !important;
  transition: color 420ms cubic-bezier(.2,.8,.2,1) !important;
}

/* Keep the hovered column subtly present. */
#visitanos #footer-grid:has(a:hover) .visit-info-card:has(a:hover) {
  color: rgba(255,255,255,.42) !important;
}

/* The active link remains white and gets a fine line through the word itself. */
#visitanos #footer-grid a {
  background-image: linear-gradient(currentColor,currentColor);
  background-repeat: no-repeat;
  background-position: 0 52%;
  background-size: 0 1px;
  transition:
    background-size 420ms cubic-bezier(.18,.78,.18,1),
    color 320ms ease !important;
}

#visitanos #footer-grid a:is(:hover,:focus-visible) {
  color: #fff !important;
  background-size: 100% 1px;
}

/* Recognition assets: preserve their original home treatment instead of forcing white. */
#visitanos .footer-recognition-logos img,
#visitanos .footer-recognition-logos img + img {
  filter: none !important;
  opacity: 1 !important;
}


/* =========================================================
   MOBILE TYPOGRAPHY BASE · HOME MICRO COPY AS THE REFERENCE
   ========================================================= */
@media (max-width: 680px) {
  /* Home: cuisine left, address explicitly anchored to the right edge. */
  #inicio .hero-micro {
    left: var(--outer-margin) !important;
    right: var(--outer-margin) !important;
    width: auto !important;
    transform: none !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: end !important;
  }

  #inicio .hero-micro > p:first-child {
    grid-column: 1 !important;
    justify-self: start !important;
    text-align: left !important;
  }

  #inicio .hero-micro > p:nth-child(3) {
    grid-column: 2 !important;
    justify-self: end !important;
    text-align: right !important;
  }

  /* Global mobile type reference:
     same font family + same size as the Home micro copy.
     Position, alignment and interactions remain untouched. */
  main .theme-section:not(#inicio) :is(
    p, h2, h3, strong, span, small, dt, dd, a, b, figcaption
  ),
  main .story-rail,
  main .section-rail-label,
  main .block-rail {
    font-family: var(--mono) !important;
    font-size: var(--type-content) !important;
  }
}


/* =========================================================
   MOBILE TYPE · final readability refinement
   ========================================================= */
@media (max-width: 680px) {
  :root {
    /* Slightly larger than the previous mobile reference:
       still editorial/compact, but safer for real-phone reading. */
    --mobile-ui-type: 11px;
  }

  /* Home reference copy + the requested Home informational UI. */
  #inicio .hero-micro,
  #inicio .hero-micro p,
  #inicio .hero-panel-copy,
  #inicio .counter-label,
  #inicio .hero-code,
  #inicio .hero-code span,
  #inicio .hero-code b,
  #inicio .hero-code i,
  #inicio .hero-code small,
  #inicio .hero-title,
  #inicio .reserve-pill,
  #inicio .reserve-pill span {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: var(--mobile-ui-type) !important;
    line-height: 1.35 !important;
    letter-spacing: 0 !important;
  }

  /* Carry exactly that family + size through the rest of mobile.
     No positioning/alignment/interaction rules are changed here. */
  main .theme-section:not(#inicio) :is(
    p, h2, h3, strong, span, small, dt, dd, a, b, figcaption
  ),
  main .story-rail,
  main .section-rail-label,
  main .block-rail {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: var(--mobile-ui-type) !important;
  }
}


/* =========================================================
   MOBILE TYPE FIX · keep the original MONO, size only
   ========================================================= */
@media (max-width: 680px) {
  :root {
    --mobile-ui-type: 11px;
  }

  /* HOME: preserve the original mono typography. Only size is unified. */
  #inicio .hero-micro,
  #inicio .hero-micro p,
  #inicio .hero-panel-copy,
  #inicio .counter-label,
  #inicio .hero-code,
  #inicio .hero-code span,
  #inicio .hero-code b,
  #inicio .hero-code i,
  #inicio .hero-code small,
  #inicio .hero-title,
  #inicio .reserve-pill,
  #inicio .reserve-pill span {
    font-family: var(--mono) !important;
    font-size: var(--mobile-ui-type) !important;
  }

  /* REST OF MOBILE: same original mono family + unified readable size. */
  main .theme-section:not(#inicio) :is(
    p, h2, h3, strong, span, small, dt, dd, a, b, figcaption
  ),
  main .story-rail,
  main .section-rail-label,
  main .block-rail {
    font-family: var(--mono) !important;
    font-size: var(--mobile-ui-type) !important;
  }
}


/* =========================================================
   MOBILE TYPE SCALE · TIME/SERVING COPY AS VISUAL REFERENCE
   ========================================================= */
@media (max-width: 680px) {
  :root {
    --mobile-ui-type: 11px;
    --mobile-body-type: 12px;
  }

  /* Home: Álex / al mando + Reservar match the reference UI size. */
  #inicio .counter-label,
  #inicio .hero-code,
  #inicio .hero-code span,
  #inicio .hero-code b,
  #inicio .hero-code i,
  #inicio .reserve-pill,
  #inicio .reserve-pill span {
    font-family: var(--mono) !important;
    font-size: var(--mobile-ui-type) !important;
  }

  /* Longer lowercase editorial copy needs one optical step up.
     Same mono family; only the mobile size changes. */
  main .theme-section:not(#inicio) p:not(.eyebrow):not(.section-index p),
  main .theme-section:not(#inicio) .experience-biography p,
  main .theme-section:not(#inicio) .dish-heading p,
  main .theme-section:not(#inicio) .dish-list article > p,
  main .theme-section:not(#inicio) .dish-categories p,
  main .theme-section:not(#inicio) .team-copy > p:not(.eyebrow),
  main .theme-section:not(#inicio) .experience-copy > p:not(.eyebrow):not(.gift-note) {
    font-family: var(--mono) !important;
    font-size: var(--mobile-body-type) !important;
  }
}


/* =========================================================
   MOBILE TYPE SCALE · one final optical step up
   ========================================================= */
@media (max-width: 680px) {
  :root {
    --mobile-ui-type: 12px;
    --mobile-body-type: 13px;
  }
}


/* =========================================================
   MOBILE · ABSOLUTELY ONE FONT SIZE
   Only font-size is overridden. Font families remain untouched.
   ========================================================= */
@media (max-width: 680px) {
  html,
  body,
  body *,
  body *::before,
  body *::after {
    font-size: 12px !important;
  }
}


/* =========================================================
   MOBILE TYPOGRAPHY · DEFINITIVE SPECIFICITY FIX
   Same size as Home microcopy, throughout every mobile section.
   Font family is NOT changed.
   ========================================================= */
@media (max-width: 680px) {
  :root {
    --mobile-global-font-size: 12px;
  }

  /* Header / mobile navigation */
  html body .topbar,
  html body .topbar *,
  html body #site-nav,
  html body #site-nav *,
  html body .reserve-pill,
  html body .reserve-pill *,

  /* Home */
  html body #contenido #inicio,
  html body #contenido #inicio *,

  /* Carta */
  html body #contenido #carta,
  html body #contenido #carta *,

  /* Experiencias */
  html body #contenido #experiencias,
  html body #contenido #experiencias *,

  /* Galería */
  html body #contenido #galeria,
  html body #contenido #galeria *,

  /* About Us */
  html body #contenido #about-concept,
  html body #contenido #about-concept *,
  html body #contenido #about-team,
  html body #contenido #about-team *,

  /* Prensa */
  html body #contenido #prensa,
  html body #contenido #prensa *,

  /* Footer */
  html body #contenido #visitanos,
  html body #contenido #visitanos * {
    font-size: var(--mobile-global-font-size) !important;
  }

  /* Some old rules use !important font shorthand. Re-declare size on the
     exact components that previously escaped the global mobile sizing. */
  html body #contenido #carta :is(
    .dish-heading, .dish-heading *,
    .dish-categories, .dish-categories *,
    .route-card, .route-card *,
    .dish-link, .dish-link *
  ),
  html body #contenido #experiencias :is(
    .experience-copy, .experience-copy *,
    .experience-option, .experience-option *
  ),
  html body #contenido #about-concept :is(
    .module-content, .module-content *,
    .dish-link, .dish-link *,
    .route-card, .route-card *
  ),
  html body #contenido #about-team :is(
    .team-copy, .team-copy *,
    .experience-biography, .experience-biography *,
    .experience-option, .experience-option *
  ),
  html body #contenido #visitanos :is(
    #footer-grid, #footer-grid *,
    .visit-info-card, .visit-info-card *
  ),
  html body #contenido #inicio :is(
    .hero-micro, .hero-micro *,
    .hero-data, .hero-data *,
    .hero-reserve, .hero-reserve *,
    .counter-label,
    .hero-code, .hero-code *
  ) {
    font-size: var(--mobile-global-font-size) !important;
  }
}


/* MOBILE TYPOGRAPHY · tiny optical reduction */
@media (max-width: 680px) {
  :root {
    --mobile-global-font-size: 11.5px;
  }
}


/* =========================================================
   HOME DESKTOP · align secondary type hierarchy
   Mobile remains untouched.
   ========================================================= */
@media (min-width: 681px) {
  /* “Tiempo sirviendo con corazón…” = current Reservar size */
  #inicio .counter-label {
    font-size: 9px !important;
  }

  /* Reservar = Álex de la Fuente / Al mando size */
  #inicio .hero-reserve,
  #inicio .hero-reserve span {
    font-size: 11px !important;
  }
}


/* =========================================================
   HOME · RESERVAR TRANSITION
   Neutral paper expansion + monochrome imagery, no blue inversion.
   ========================================================= */
.reserve-transition {
  mix-blend-mode: normal !important;
}

.reserve-transition::before,
.reserve-transition i {
  background: var(--paper) !important;
}

/* While the transition layer exists, keep Home photography neutral.
   :has() is supported by current Safari/Chrome/Firefox. */
body:has(.reserve-transition) #inicio .hero-panel-content img {
  filter: grayscale(1) contrast(.96) !important;
  transition: filter 420ms ease !important;
}


/* =========================================================
   HOME · RESERVAR TRANSITION · final behaviour
   Keep photography unchanged. Paper layer expands over everything.
   Reservar stays black while the expansion runs.
   ========================================================= */
body:has(.reserve-transition) #inicio .hero-panel-content img {
  filter: none !important;
}

body:has(.reserve-transition) #inicio .hero-reserve,
body:has(.reserve-transition) #inicio .hero-reserve *,
body:has(.reserve-transition) #inicio .hero-reserve:is(:hover,:focus-visible,:focus-within),
body:has(.reserve-transition) #inicio .hero-reserve:is(:hover,:focus-visible,:focus-within) > * {
  color: var(--ink) !important;
}

.reserve-transition {
  mix-blend-mode: normal !important;
}

.reserve-transition::before,
.reserve-transition i {
  background: var(--paper) !important;
}


/* =========================================================
   MOBILE · READABILITY HIERARCHY
   Microcopy stays compact; functional UI and reading text grow.
   Desktop untouched.
   ========================================================= */
@media (max-width: 680px) {
  /* Microcopy / editorial metadata */
  html body #contenido :is(
    .section-index, .section-index *,
    .section-rail-label,
    .story-rail,
    .block-rail,
    .eyebrow,
    .gallery-meta, .gallery-meta *,
    .counter-label
  ) {
    font-size: 11.5px !important;
  }

  /* Functional UI */
  html body :is(
    .topbar, .topbar *,
    #site-nav, #site-nav *,
    .reserve-pill, .reserve-pill *,
    .button, .button *,
    .dish-link, .dish-link *,
    .route-card, .route-card *,
    .experience-option, .experience-option *
  ) {
    font-size: 12px !important;
  }

  /* Reading text */
  html body #contenido :is(
    .dish-heading, .dish-heading *,
    .dish-categories, .dish-categories *,
    .experience-copy > p:not(.eyebrow),
    .experience-biography, .experience-biography *,
    .team-copy > p:not(.eyebrow),
    #about-concept .module-content > p,
    #about-concept .dish-heading *,
    #visitanos .visit-simple-content,
    #visitanos .visit-simple-content *
  ) {
    font-size: 13px !important;
  }
}


/* =========================================================
   MOBILE · FINAL TYPE + MENU ALIGNMENT
   All text = 12px.
   Menu left edge = same global left margin as footer/content.
   Desktop untouched.
   ========================================================= */
@media (max-width: 680px) {
  html body,
  html body *,
  html body *::before,
  html body *::after {
    font-size: 12px !important;
  }

  /* Match the menu's left/right inset to the footer/content grid. */
  html body #site-nav {
    padding-left: var(--outer-margin) !important;
    padding-right: var(--outer-margin) !important;
  }

  html body #site-nav > a {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* MOBILE · Reservar: a touch wider so the arrow fits comfortably */
@media (max-width: 680px) {
  html body .reserve-pill {
    padding-left: 16px !important;
    padding-right: 16px !important;
    white-space: nowrap !important;
  }
}


/* MOBILE · Navegador: Reservar sin flecha */
@media (max-width: 680px) {
  html body .reserve-pill {
    font-size: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  html body .reserve-pill::before {
    content: "Reservar";
    font-size: 12px !important;
  }
}


/* MOBILE · Reservar · definitive label fix */
@media (max-width: 680px) {
  html body .reserve-pill {
    font-size: 12px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    white-space: nowrap !important;
  }

  html body .reserve-pill::before {
    content: none !important;
    display: none !important;
  }

  /* Hide only the arrow if it is provided as a separate element */
  html body .reserve-pill .arrow,
  html body .reserve-pill [aria-hidden="true"] {
    display: none !important;
  }
}


/* =========================================================
   MOBILE · SHORT NUMBERED CONTENT = 1 OF 2 SAFE COLUMNS
   Each numbered item occupies only the left half of the usable
   content width. The right column intentionally remains empty.
   ========================================================= */
@media (max-width: 680px) {
  /* Carta · 01 Bocado / 02 Entrante / 03 Principal / 04 Postre */
  html body #carta .dish-categories > li {
    width: 50% !important;
    max-width: 50% !important;
    box-sizing: border-box !important;
    justify-self: start !important;
    align-self: start !important;
  }

  /* About Us · 01 Origen castizo / 02 Recetario / 03 Mirada actual */
  html body #about-concept .route-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  html body #about-concept .route-grid > .route-card {
    width: 50% !important;
    max-width: 50% !important;
    box-sizing: border-box !important;
    flex: 0 0 auto !important;
  }
}


/* MOBILE · numbered short content → second safe column */
@media (max-width: 680px) {
  html body #carta .dish-categories > li {
    margin-left: 50% !important;
    margin-right: 0 !important;
  }

  html body #about-concept .route-grid > .route-card {
    margin-left: 50% !important;
    margin-right: 0 !important;
  }
}

/* Subtle, persistent cues for clickable titles, without changing box dimensions. */
:is(a.button, a.reserve-pill, a.dish-link, a.experience-option-link, a.editorial-action),
a.route-card h3,
.press-card > a h3 {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .24em;
  text-decoration-color: currentColor;
  text-decoration-skip-ink: auto;
}

/* Desktop readability: retain the shared scale and all mobile type sizes. */
@media (min-width: 901px) {
  :root {
    --type-content: clamp(11px, .70vw, 13px);
    --type-meta: 9px;
    --type-body: clamp(11px, .88vw, 13px);
  }
  .site-nav, .reserve-pill { font-size: 10px; }
  #inicio .counter-label { font-size: 10px !important; }
  #inicio .hero-reserve,
  #inicio .hero-reserve span { font-size: 12px !important; }
}
/* Keep the increase especially restrained on narrow desktop screens. */
@media (min-width: 901px) and (max-width: 1100px) {
  :root { --type-content: 10.5px; }
}

/* About Us desktop: match Reservar and keep corner marks clear of the heading. */
@media (min-width: 901px) {
  body #contenido #about-team #team-contact-actions {
    padding-right: var(--editorial-gap) !important;
  }
  body #contenido #about-team #team-contact-actions .experience-option {
    min-height: 52px !important;
    padding: calc(var(--frame-pad) + 2px) !important;
  }
}

@media (min-width: 1101px) {
  :root { --type-content: clamp(12px, .78vw, 15px); }
}
/* The dense menu column keeps its approved size on shorter laptops. */
@media (min-width: 1101px) and (max-width: 1400px) and (max-height: 800px) {
  #carta .dish-categories { --type-content: 11px; }
}

/* Two restrained levels: primary titles/actions and quieter supporting copy. */
:root { --type-secondary: clamp(10px, .64vw, 12px); }
@media (min-width: 901px) {
  :root { --type-secondary: clamp(11px, .70vw, 13px); }
}
@media (min-width: 901px) and (max-width: 1100px) {
  :root { --type-secondary: 10.5px; }
}
@media (max-width: 680px) {
  :root { --type-secondary: 11.5px; }
}
html body #contenido :is(#carta, #experiencias, #about-concept, #about-team, #galeria, #visitanos) :is(
  .section-index, .section-index *, .eyebrow,
  .route-card > p, .route-card > p *, .route-card > span,
  .dish-heading p, .dish-heading p *,
  .dish-categories p:not(.lead), .dish-categories p:not(.lead) *,
  .experience-copy > p:not(.eyebrow), .experience-option small,
  .experience-biography p, .experience-biography p *,
  .menu-note, .menu-note *, .experience-note, .experience-note *,
  .gallery-meta, .gallery-meta *,
  .visit-subblock > p:not(.visit-label)
),
html body #contenido #prensa :is(p, h2, h3, span, a, b, small) {
  font-size: var(--type-secondary) !important;
}
@media (max-width: 680px) {
  html body #contenido :is(#carta, #experiencias, #about-concept, #about-team, #visitanos) :is(
    .route-card h3, .experience-copy > h2, .dish-categories .lead,
    .dish-link, .dish-link > span,
    .experience-option-link, .experience-option-link > span,
    .visit-label
  ) {
    font-size: 13px !important;
  }
}

/* Mobile navigation needs its own opaque surface over both page themes. */
@media (max-width: 680px) {
  html body .topbar { --menu-bg: #090909; --menu-fg: #f2f1eb; }
  html body .topbar[data-nav-theme="light"] { --menu-bg: #f2f1eb; --menu-fg: #090909; }
  html body.menu-open .topbar {
    background: var(--menu-bg) !important;
    color: var(--menu-fg) !important;
    mix-blend-mode: normal !important;
  }
  html body .topbar .site-nav {
    background: var(--menu-bg) !important;
    color: var(--menu-fg) !important;
    mix-blend-mode: normal !important;
    opacity: 0;
    transform: translateY(-12px);
    visibility: hidden;
    pointer-events: none;
    overflow-y: auto;
    transition: opacity 320ms ease, transform 420ms var(--ease), visibility 0s 420ms;
  }
  html body .topbar .site-nav::before { content: none; }
  html body .topbar .site-nav.open {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
    transition: opacity 320ms ease, transform 420ms var(--ease), visibility 0s;
  }
  html body .topbar .site-nav a {
    color: var(--menu-fg) !important;
    -webkit-text-fill-color: var(--menu-fg) !important;
    mix-blend-mode: normal !important;
  }
}

/* =========================================================
   DESKTOP · ADAPTACIÓN A VIEWPORTS BAJOS
   Mantiene cada capítulo a 100svh sin sacrificar legibilidad.
   En pantallas bajas comprime ritmo vertical antes que tipografía.
   ========================================================= */
@media (min-width: 901px) {
  /* Variables sensibles tanto al ancho como, sobre todo, a la altura. */
  :root {
    --desktop-vpad: clamp(18px, 3.6vh, var(--content-margin));
    --desktop-row-gap: clamp(6px, 1.25vh, 16px);
    --type-meta: clamp(7.5px, 1.05vh, 8px);
    --type-body: clamp(10px, 1.45vh, 12px);
    --type-editorial: clamp(15px, 2.25vh, 20px);
  }

  /* Carta / About: el contenido flexible absorbe la diferencia de altura. */
  .split-section {
    row-gap: var(--desktop-row-gap);
    padding-top: calc(var(--nav-h) + var(--desktop-vpad));
    padding-bottom: var(--desktop-vpad);
  }

  .split-section > .manifesto-grid,
  .split-section > .menu-layout {
    min-height: 0;
    overflow: hidden;
  }

  :is(#carta, #about-concept) .dish-list article {
    padding-block: clamp(5px, .95vh, 16px);
    row-gap: clamp(2px, .55vh, 4px);
  }

  :is(#carta, #about-concept) .dish-list article > p {
    line-height: 1.32;
  }

  :is(#carta, #about-concept) .dish-link {
    min-height: 0;
    padding-block: clamp(7px, 1.2vh, 12px);
  }


  /* Experiencias / equipo: reduce padding y ritmo, no el contenido. */
  .experience-copy {
    padding-top: calc(var(--nav-h) + var(--desktop-vpad));
    padding-right: clamp(28px, 4.9vw, var(--content-margin));
    padding-bottom: var(--desktop-vpad);
    padding-left: clamp(28px, 4.9vw, var(--content-margin));
    min-height: 0;
    overflow: hidden;
  }

  .experience-copy h2 {
    margin: clamp(8px, 1.25vh, 24px) 0 clamp(8px, 1.6vh, 24px);
  }

  .inline-actions {
    margin-top: clamp(10px, 2vh, 32px);
    gap: clamp(8px, 1.5vh, 22px);
  }

  .experience-option {
    min-height: 0;
  }

  .team-section {
    padding-top: calc(var(--nav-h) + var(--desktop-vpad));
    padding-bottom: var(--desktop-vpad);
    row-gap: clamp(10px, 2vh, var(--s-8));
  }

  .team-copy {
    padding-top: clamp(8px, 1.5vh, var(--s-6));
  }

  .team-copy h2 {
    margin-top: clamp(8px, 1.2vh, var(--s-3));
    margin-bottom: clamp(10px, 2vh, var(--s-6));
  }

  .team-copy > p:not(.eyebrow) {
    margin-top: clamp(8px, 1.5vh, 18px);
  }

  .team-gallery {
    min-height: 0;
    height: min(62vh, 680px);
  }

  .hours,
  .booking {
    min-height: 0;
  }

  .hours dl {
    margin-top: clamp(12px, 2.6vh, var(--s-8));
  }

  .hours dl > div {
    padding-block: clamp(7px, 1.35vh, 13px);
  }

  /* Visítanos conserva la composición de media pantalla, con respiración fluida. */
  body main #visitanos {
    padding-bottom: clamp(12px, 2.4vh, 30px) !important;
  }

  body main #visitanos > #footer-grid {
    height: calc(50svh - clamp(12px, 2.4vh, 30px)) !important;
  }

  #visitanos #footer-grid .visit-simple-content {
    padding-top: clamp(12px, 2.4vh, 34px);
  }

  #visitanos #footer-grid .visit-subblock + .visit-subblock {
    margin-top: clamp(16px, 3.5vh, 54px);
  }

  #visitanos #footer-grid .visit-card-logo {
    margin-bottom: clamp(16px, 3vh, 44px) !important;
  }
}

/* Portátiles / monitores de poca altura: compactación adicional.
   Se mantiene una base legible; primero se reducen espacios, imágenes y cajas. */
@media (min-width: 901px) and (max-height: 800px) {
  :root {
    --content-margin: clamp(40px, 5.8vh, 64px);
    --desktop-vpad: clamp(14px, 2.6vh, 24px);
    --desktop-row-gap: clamp(5px, .9vh, 10px);
    --type-meta: clamp(7.5px, 1.08vh, 8px);
    --type-body: clamp(10px, 1.5vh, 11px);
    --type-editorial: clamp(14px, 2.25vh, 18px);
  }


  .experience-copy > p:not(.eyebrow):not(.gift-note) { line-height: 1.12; }
  .experience-copy h2 { line-height: 1.12; }
  .team-copy > p:not(.eyebrow) { line-height: 1.42; }
}

/* Casos especialmente bajos (ventana reducida / portátil pequeño).
   Evita solapes sin convertir el cuerpo de texto en microtipografía. */
@media (min-width: 901px) and (max-height: 680px) {
  :root {
    --desktop-vpad: 12px;
    --desktop-row-gap: 4px;
    --type-meta: 7.5px;
    --type-body: 10px;
    --type-editorial: 14px;
  }

  :is(#carta, #about-concept) .dish-list article { padding-block: 4px; }
  :is(#carta, #about-concept) .dish-list article > p { line-height: 1.22; }
  .inline-actions { margin-top: 8px; gap: 7px; }
  .team-gallery { height: min(56vh, 520px); }
  .hours dl > div { padding-block: 5px; }
}

/* Carta y Experiencias: filas reales, sin desplazamientos verticales.
   Las columnas conservan su interacción y las filas crecen con el texto. */
@media (min-width: 901px) {
  #carta,
  #experiencias {
    --type-content: clamp(11px, 1.8vh, 14px);
    --type-secondary: clamp(10px, 1.55vh, 13px);
  }

  #carta.split-section {
    grid-template-rows: minmax(25px, .45fr) minmax(min-content, .8fr) minmax(0, 1.65fr) !important;
    row-gap: clamp(8px, 1.8vh, 20px);
  }

  #carta > .route-grid {
    transform: none !important;
    align-self: start;
    height: auto !important;
    min-height: 0 !important;
    padding-top: 0;
    align-items: stretch;
  }

  #carta > .route-grid > .route-card {
    height: auto !important;
    min-height: 0 !important;
    padding-block: clamp(8px, 1.5vh, 16px) !important;
    align-self: stretch;
  }

  #carta .dish-list--categories {
    transform: none !important;
    grid-template-rows: minmax(min-content, 1fr) auto;
    min-height: 0;
    height: auto;
    align-content: stretch;
    padding-top: 0;
    padding-bottom: clamp(24px, 4vh, 48px);
    row-gap: clamp(8px, 1.5vh, 18px);
  }

  #experiencias > .experience-copy {
    /* El índice está sobre esta retícula: se reserva una sola cabecera. */
    padding-top: clamp(44px, 7vh, 76px);
    padding-bottom: clamp(24px, 4vh, 48px);
    grid-template-rows: minmax(min-content, .8fr) minmax(min-content, 1fr) auto;
    align-content: stretch;
    row-gap: clamp(16px, 4vh, 48px);
    overflow: visible;
  }

  #experiencias .experience-copy > :is(.eyebrow, h2) {
    margin: 0;
    align-self: start;
    text-align: left;
  }

  #experiencias .experience-copy > .inline-actions {
    margin: 0;
    align-self: start;
  }

  #experiencias .experience-copy .inline-actions .experience-option {
    min-height: 0 !important;
    padding-block: clamp(10px, 2vh, 22px);
    align-content: start;
  }
}

/* En ventanas estrechas o bajas la expansión conserva espacio para
   la columna vecina, evitando que el texto alargue las filas en exceso. */
@media (min-width: 901px) and (max-width: 1200px),
       (min-width: 901px) and (max-height: 600px) {
  html body #carta > .route-grid:has(.route-card:nth-child(2):is(:hover, :focus-visible)) {
    grid-template-columns: .45fr 1.4fr 1.15fr !important;
  }
  html body #carta > .route-grid:has(.route-card:nth-child(3):is(:hover, :focus-visible)) {
    grid-template-columns: .45fr 1.15fr 1.4fr !important;
  }
  html body #experiencias:has(.experience-option:nth-child(1):is(:hover, :focus-within)) > .experience-copy,
  html body #experiencias .inline-actions:has(.experience-option:nth-child(1):is(:hover, :focus-within)) {
    grid-template-columns: 1.2fr 1fr !important;
  }
  html body #experiencias:has(.experience-option:nth-child(2):is(:hover, :focus-within)) > .experience-copy,
  html body #experiencias .inline-actions:has(.experience-option:nth-child(2):is(:hover, :focus-within)) {
    grid-template-columns: 1fr 1.2fr !important;
  }
}

/* La ampliación vive en la foto; el contenedor conserva su órbita 3D. */
@media (hover: hover) and (pointer: fine) {
  #galeria .gallery-tile {
    overflow: visible;
  }
  #galeria .gallery-tile img {
    transition: transform 440ms var(--ease);
  }
  #galeria .gallery-tile:hover {
    z-index: 10;
    opacity: 1 !important;
    filter: none !important;
  }
  #galeria .gallery-tile:hover img {
    transform: scale(1.65);
  }
}
@media (prefers-reduced-motion: reduce) {
  #galeria .gallery-tile img { transition: none; }
}
@media (min-width: 901px) {
  /* La foto ocupa las tres filas sin imponerles su altura intrínseca. */
  #carta .menu-visual { contain: size; }
}
@media (min-width: 901px) and (max-height: 600px) {
  #carta.split-section {
    grid-template-rows: minmax(25px, .2fr) minmax(min-content, .55fr) minmax(0, 1.65fr) !important;
  }
}

/* La escena 3D no debe interceptar el cursor delante de las fotos profundas. */
#galeria .gallery-scene { pointer-events: none; }
#galeria .gallery-tile { pointer-events: auto; }
@media (hover: hover) and (pointer: fine) {
  #galeria .gallery-tile {
    transition: filter 440ms var(--ease), opacity 440ms var(--ease);
  }
}
@media (prefers-reduced-motion: reduce) {
  #galeria .gallery-tile { transition: none; }
}

/* Escala común de escritorio: Carta y Experiencias son la referencia.
   Móvil conserva sus tamaños; los textos de apoyo usan la escala anterior. */
@media (min-width: 901px) {
  :root {
    --type-content: clamp(11px, 1.8vh, 14px);
    --type-secondary: clamp(10px, 1.55vh, 13px);
    --type-support: min(var(--type-secondary), clamp(11px, .70vw, 13px));
  }
  html body #contenido #inicio :is(.hero-panel-copy, .hero-reserve, .hero-reserve span),
  html body #contenido #prensa .press-card h3 {
    font-size: var(--type-content) !important;
  }
  html body #contenido #inicio :is(.hero-micro p, .hero-cast > p, .counter-label),
  html body #contenido #carta .dish-list .dish-heading :is(p, strong) {
    font-size: var(--type-support) !important;
  }
}

/* =========================================================
   VERTICAL RAILS · FINAL NORMALIZATION · 2026-09-25
   Same scale across every chapter + automatic contrast.
   Only vertical chapter markers are affected.
   ========================================================= */

/* DESKTOP · use About Us rail scale as the single reference. */
@media (min-width: 901px) {
  html body #contenido :is(
    .section-rail-label,
    .story-rail,
    .block-rail,
    .global-rail
  ) {
    font-family: var(--mono) !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
  }

  /* White + difference = black on light areas / white on dark areas. */
  html body #contenido :is(
    .section-rail-track,
    .story-rails,
    .block-rails,
    .global-rail-flow
  ) {
    color: #fff !important;
    mix-blend-mode: difference !important;
  }

  html body #contenido :is(
    .section-rail-label,
    .story-rail,
    .block-rail,
    .global-rail
  ) {
    color: inherit !important;
  }
}

/* MOBILE / TABLET · one common rail size, preserving the current mobile scale. */
@media (max-width: 900px) {
  html body #contenido :is(
    .section-rail-label,
    .story-rail,
    .block-rail
  ) {
    font-family: var(--mono) !important;
    font-size: 11.5px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
  }

  html body #contenido :is(
    .section-rail-track,
    .story-rails,
    .block-rails
  ) {
    color: #fff !important;
    mix-blend-mode: difference !important;
  }

  html body #contenido :is(
    .section-rail-label,
    .story-rail,
    .block-rail
  ) {
    color: inherit !important;
  }
}

/* =========================================================
   VERTICAL RAILS · DEFINITIVE FIX · 2026-09-25
   - One identical size for every vertical chapter marker.
   - Fixed black where the rail sits on white.
   - Difference mode only where the background can change.
   - Restores both About Us rail states.
   ========================================================= */

@media (min-width: 901px) {
  /* The desktop rails are injected directly into <body> by JS,
     so they must NOT be scoped through #contenido. */
  body > .global-rail-flow {
    color: #fff !important;
    mix-blend-mode: normal !important;
    visibility: visible;
  }

  body > .global-rail-flow .global-rail-pair {
    visibility: visible;
  }

  body > .global-rail-flow .global-rail {
    display: block !important;
    top: 50% !important;
    font-family: var(--mono) !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
    opacity: 1 !important;
  }

  body > .global-rail-flow .global-rail--left {
    left: var(--outer-margin) !important;
    right: auto !important;
    transform: translateY(-50%) rotate(180deg) !important;
  }

  body > .global-rail-flow .global-rail--right {
    right: var(--outer-margin) !important;
    left: auto !important;
    transform: translateY(-50%) !important;
  }

  /* Default/adaptive rails: white + difference keeps them readable
     over photography, black and white backgrounds. */
  body > .global-rail-flow .global-rail {
    color: #fff !important;
    mix-blend-mode: difference !important;
  }

  /* CARTA · right rail “COMIDA Y BEBIDA” sits on white. */
  body > .global-rail-flow .global-rail-pair[data-global-rail="0"] .global-rail--right {
    color: #090909 !important;
    mix-blend-mode: normal !important;
  }

  /* EXPERIENCIAS · left rail “EXPERIENCIAS” sits on white. */
  body > .global-rail-flow .global-rail-pair[data-global-rail="1"] .global-rail--left {
    color: #090909 !important;
    mix-blend-mode: normal !important;
  }

  /* ABOUT US · BOTH slides are explicitly restored and kept vertical.
     3 = About concept / 4 = About team. Difference is intentional here. */
  body > .global-rail-flow .global-rail-pair[data-global-rail="3"] .global-rail,
  body > .global-rail-flow .global-rail-pair[data-global-rail="4"] .global-rail {
    display: block !important;
    visibility: visible !important;
    color: #fff !important;
    mix-blend-mode: difference !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
  }

  /* PRENSA · both rails sit on white: always black.
     Same 9px scale as Archivo, Carta and About Us. */
  body > .global-rail-flow .global-rail-pair[data-global-rail="5"] .global-rail {
    color: #090909 !important;
    mix-blend-mode: normal !important;
    font-size: 9px !important;
  }

  /* Any legacy vertical rails that remain in the DOM use the exact same scale. */
  body #contenido :is(.section-rail-label, .story-rail, .block-rail) {
    font-size: 9px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
  }
}

@media (max-width: 900px) {
  /* Mobile keeps one single scale for every vertical marker. */
  body #contenido :is(.section-rail-label, .story-rail, .block-rail) {
    font-family: var(--mono) !important;
    font-size: 8px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
  }

  /* Fixed-light sections. */
  body #contenido #carta :is(.section-rail-label--right, .block-rail--right),
  body #contenido #experiencias :is(.section-rail-label--left, .block-rail--left),
  body #contenido #prensa :is(.section-rail-label, .block-rail) {
    color: #090909 !important;
    mix-blend-mode: normal !important;
  }

  /* About Us remains adaptive on both mobile slides. */
  body #contenido :is(#about-concept, #about-team) :is(.section-rail-label, .story-rail, .block-rail) {
    display: block !important;
    visibility: visible !important;
    color: #fff !important;
    mix-blend-mode: difference !important;
  }
}

/* =========================================================
   FINAL OVERRIDE · VERTICAL SECTION MARKERS
   One visual system for every chapter marker.
   ========================================================= */

/* DESKTOP · every generated / legacy vertical rail uses the same typography
   and Difference blending, including PRENSA. */
@media (min-width: 901px) {
  body > .global-rail-flow .global-rail,
  body #contenido .section-rail-label,
  body #contenido .story-rail,
  body #contenido .block-rail {
    font-family: var(--mono) !important;
    font-size: 9px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    color: #fff !important;
    mix-blend-mode: difference !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
  }

  /* Keep the two About Us slides visible and vertical. */
  body > .global-rail-flow .global-rail-pair[data-global-rail="3"] .global-rail,
  body > .global-rail-flow .global-rail-pair[data-global-rail="4"] .global-rail,
  body #contenido #about-concept :is(.section-rail-label, .story-rail, .block-rail),
  body #contenido #about-team :is(.section-rail-label, .story-rail, .block-rail) {
    display: block !important;
    visibility: visible !important;
    color: #fff !important;
    mix-blend-mode: difference !important;
  }

  /* PRENSA · explicitly locked to the exact same size/weight as every
     other vertical section marker. */
  body > .global-rail-flow .global-rail-pair[data-global-rail="5"] .global-rail,
  body #contenido #prensa :is(.section-rail-label, .story-rail, .block-rail) {
    font-size: 9px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    color: #fff !important;
    mix-blend-mode: difference !important;
  }
}

/* MOBILE · same rule: all vertical section markers use Difference.
   Mobile keeps its existing smaller common scale. */
@media (max-width: 900px) {
  body #contenido .section-rail-label,
  body #contenido .story-rail,
  body #contenido .block-rail {
    font-family: var(--mono) !important;
    font-size: 8px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
    color: #fff !important;
    mix-blend-mode: difference !important;
    writing-mode: vertical-rl !important;
    text-orientation: mixed !important;
    white-space: nowrap !important;
  }

  body #contenido :is(#about-concept, #about-team) :is(.section-rail-label, .story-rail, .block-rail) {
    display: block !important;
    visibility: visible !important;
  }
}

/* 02/10 · Las filas de About reservan espacio real antes de Reservar.
   La escala secundaria coincide con el texto de apoyo de Carta. */
@media (min-width: 901px) {
  html body #contenido #about-concept .route-grid .route-card :is(span, h3, p),
  html body #contenido #experiencias .experience-copy > :is(p.eyebrow, h2),
  html body #contenido #carta .dish-list .dish-categories :is(p, span) {
    font-size: var(--type-support) !important;
  }

  #about-concept.split-section {
    grid-template-rows: auto minmax(min-content, .8fr) minmax(0, 1.65fr) !important;
    row-gap: clamp(12px, 2vh, 24px);
  }
  #about-concept .menu-visual { contain: size; }
  #about-concept > .route-grid {
    transform: none !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: center;
    align-items: stretch;
    padding-top: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) !important;
    transition: grid-template-columns var(--module-motion) !important;
  }
  #about-concept > .route-grid > .route-card {
    min-width: 0;
    min-height: 0 !important;
    height: auto;
    margin-inline: 0 !important;
    align-self: stretch;
    overflow-wrap: anywhere;
    padding: clamp(10px, 1.4vh, 14px) !important;
  }
  html body #about-concept > .route-grid:has(.route-card:nth-child(1):is(:hover, :focus-within)) {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, .875fr) minmax(0, .875fr) !important;
  }
  html body #about-concept > .route-grid:has(.route-card:nth-child(2):is(:hover, :focus-within)) {
    grid-template-columns: minmax(0, .875fr) minmax(0, 1.25fr) minmax(0, .875fr) !important;
  }
  html body #about-concept > .route-grid:has(.route-card:nth-child(3):is(:hover, :focus-within)) {
    grid-template-columns: minmax(0, .875fr) minmax(0, .875fr) minmax(0, 1.25fr) !important;
  }
  #about-concept .dish-list--categories {
    transform: none !important;
    min-height: 0;
    height: auto;
    padding-top: 0;
    grid-template-rows: auto;
    align-content: start;
  }
  #about-concept .dish-list--categories > .dish-link {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
  }
  #about-concept .dish-list--categories > .dish-categories {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
  }
}

@media (min-width: 901px) {
  :root { --type-support: clamp(11px, .70vw, 13px); }
}
@media (min-width: 901px) and (max-width: 1100px) and (max-height: 600px) {
  /* En la ventana más compacta, dar ancho al texto antes de reducir su letra. */
  html body #contenido #about-concept .dish-list--categories {
    grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr) !important;
    column-gap: 12px;
  }
  html body #contenido #about-concept .dish-categories {
    padding: 10px !important;
  }
}

/* El índice, el primer número y Reservar comparten el mismo inicio de texto. */
@media (min-width: 901px) {
  html body #contenido #about-concept > .section-index > span,
  html body #contenido #about-concept > .route-grid > .route-card,
  html body #contenido #about-concept .dish-link {
    padding-inline: calc(var(--frame-pad) + 2px) !important;
  }
}
@media (min-width: 901px) and (prefers-reduced-motion: reduce) {
  #about-concept > .route-grid { transition: none !important; }
}
