body.gastro {
 --coal:#1a1b18; --paper:#f7f1e4; --coral:#ff7a5e; --gold:#f9c654; --green:#153d32; --line:#cfc7b7;
 --display:"Arial Black","Segoe UI",Arial,sans-serif;
 margin:0; background:var(--paper); color:var(--coal); font:17px/1.55 "Segoe UI",Arial,sans-serif;
}
.gastro *, .gastro *::before,.gastro *::after{box-sizing:border-box}
.gastro :is(h1,h2,h3,p,figure,dl,dd){margin:0}
.gastro :is(h1,h2,h3){font-family:var(--display);font-weight:900;line-height:.98;letter-spacing:-.065em;color:inherit}
.gastro h1{font-size:clamp(3.15rem,6.6vw,7.3rem)}
.gastro h2{font-size:clamp(2.35rem,4.2vw,4.7rem)}
.gastro h3{font-size:clamp(1.55rem,2.65vw,3.25rem)}
.gastro :is(h2,h3)>span{color:#cb4832}
.gastro img{display:block;width:100%;max-width:100%;height:auto}
.gastro a{color:inherit;text-decoration:none}
.gastro :is(a,button,summary):focus-visible,.gastro [tabindex]:focus-visible{outline:3px solid #1385bf;outline-offset:3px;box-shadow:0 0 0 3px #fff8e8}
.gastro button,.gastro summary{cursor:pointer}
.gastro .wrap{width:min(1320px,90%);margin-inline:auto}
.gastro .skip{position:fixed;top:-10em;left:10px;z-index:30;background:var(--paper);padding:12px}.gastro .skip:focus{top:8px}
.gastro .mast,.gastro .foot{background:var(--coal);color:var(--paper)}
.mast-inner,.mast .brand,.foot>div,.signal,.gastro .k,.scene-caption,.mast small{display:flex;align-items:center}
.mast-inner{height:64px;gap:18px}.mast .brand{gap:9px}
.mast b,.foot b{font:900 1.22rem/1 var(--display);letter-spacing:-.085em}.mast b span,.foot b span{color:var(--coral)}
.brand-mark{color:var(--coral);font:bold 1.95rem/1 Arial}.mast-section{border-left:1px solid #77776b;padding:4px 0 4px 18px;font-size:.95rem;font-weight:650}
.gastro :is(.k,.signal,.mast small,.tile-num,.picture-tag,.scene-caption,.dishgrid small,.foot small,.visit dt){font:750 .7rem/1.4 "Segoe UI",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.mast small{margin-left:auto;gap:8px}.mast small i,.k i,.signal b{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--coral)}
.hero-scene{isolation:isolate;display:grid;align-items:end;position:relative;overflow:hidden;background:var(--coal);color:var(--paper)}
.backdrop{position:absolute;inset:0;z-index:-2;overflow:hidden}.backdrop img{height:100%;object-fit:cover;object-position:65% 58%}
.hero-scene:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#11140ffc 0%,#11140fe8 20%,#11140fc7 40%,#11140f2e 65%,transparent 83%),linear-gradient(0deg,#17151175,transparent 26%)}
.discovery{min-height:clamp(470px,39vw,640px)}.discovery .backdrop{left:17%}
.scene-content{padding-block:clamp(36px,4vw,66px);position:relative}
.signal{gap:10px;color:#fff3dc;margin-bottom:17px!important}.signal b{background:var(--gold)}.signal span,.scene-caption b{color:var(--coral)}
.discovery h1{font-size:clamp(3.55rem,6.3vw,7.2rem);line-height:.93;max-width:11em}
.discovery h1 span{display:block}.discovery h1 em{display:block;color:var(--coral);font-family:Georgia,serif;font-weight:500;letter-spacing:-.072em;line-height:.98}
.gastro .deck,.slogan{font-size:clamp(1.05rem,1.6vw,1.45rem);line-height:1.4;color:white;max-width:32em;margin-top:18px}
.gastro .pill{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;border-radius:999px;min-height:46px;padding:8px 10px 8px 20px;font-size:.93rem;font-weight:750;background:var(--coral);color:#201c16;transition:background .2s,translate .2s}
.scene-content .pill{margin-top:22px}.pill span,.restaurant strong span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--coal);color:var(--paper);font-size:1.05rem}
.scene-caption{position:absolute;right:5%;bottom:28px;background:#171914e6;padding:8px 13px;border:1px solid #fff5;gap:10px;color:#fff7e4}.scene-caption span{font-size:1rem;color:var(--gold)}
.explore,.directory{padding-block:clamp(30px,3.7vw,60px)}.gastro .k{color:#4d4c40;gap:9px;margin-bottom:9px}.k i{background:#b8432f}.k span{color:#ac422a}
.routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.3vw,22px);margin-top:23px}
.route{isolation:isolate;position:relative;display:flex;align-items:flex-end;min-height:clamp(225px,20vw,345px);overflow:hidden;border-radius:6px;color:#fff!important;background:#173e32}
.tile-photo,.route:after{position:absolute;inset:0;z-index:-2}.tile-photo img{height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.route:after{content:"";z-index:-1;background:linear-gradient(0deg,#10150fef 0%,#10150fc9 20%,#10150f40 64%,#10150f0d)}
.tile-num,.picture-tag{position:absolute;top:14px;left:14px;background:var(--paper);color:var(--coal);padding:5px 9px;border-radius:2px}
.tile-info{padding:24px;max-width:85%}.tile-info h3{font-size:clamp(2rem,3vw,3.5rem)}.tile-info p{margin-top:6px;line-height:1.3}
.round{position:absolute;bottom:22px;right:18px;border:1px solid #fff9;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:1.2rem;transition:background .22s,color .22s,transform .25s}
.flag{display:block;width:30px;height:11px;margin-bottom:10px;transform:skew(-14deg);background:linear-gradient(#ffd359 50%,#3e66ad 50% 75%,#df564b 75%)}
.venezuela .flag{background:linear-gradient(#ffd359 33%,#355d9a 33% 67%,#df564b 67%);position:relative}.venezuela .flag:after{content:"••••••••";position:absolute;inset:1px 0 0;text-align:center;color:white;font:6px/10px Arial;letter-spacing:1px}
.cocina-fusion .flag{background:repeating-linear-gradient(120deg,#ff8661 0 5px,#ebc453 5px 10px,#3caa8c 10px 15px)}
.category-hero{min-height:clamp(440px,42vw,620px)}.category-hero .backdrop{left:27%}.category-hero .backdrop img{object-position:50% 50%}.category-hero.venezuela .backdrop img{object-position:50% 50%}
.category-hero .backdrop picture{display:block;height:100%}
.category-hero[style*="--bandera"]::before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:clamp(8px,.8vw,12px);z-index:2;pointer-events:none;background:var(--bandera);box-shadow:0 2px 12px #050b1638}
.category-hero .scene-content,.hero .scene-content{padding-top:22px}
.category-hero > .back{position:absolute;top:clamp(14px,2vw,28px);left:5%;z-index:2;margin:0}
.gastro .back{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;font-weight:650;color:#fff4df;text-underline-offset:4px;text-decoration:underline;text-decoration-color:#baa994}
.category-hero .back,.hero .back{margin-bottom:clamp(14px,2vw,32px)}
.list{display:grid;gap:24px;margin-top:22px}
.restaurant{display:grid;grid-template-columns:1.4fr 1fr;isolation:isolate;background:var(--green);color:var(--paper)!important;border-radius:6px;overflow:hidden}
.card-photo{position:relative;overflow:hidden;min-height:280px}.card-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card-copy{display:grid;align-content:center;justify-items:start;padding:clamp(24px,3.4vw,58px)}.card-copy .k,.spread .k,.closing .k{color:var(--gold)}.card-copy h3{max-width:13em;font-size:clamp(2rem,3.35vw,4rem)}.card-copy h3+p{margin-top:10px;max-width:38ch}
.restaurant-card-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-sizing:border-box;width:clamp(58px,6.6vw,88px);aspect-ratio:1;display:grid;place-items:center;padding:4px;border:2px solid var(--edge,var(--gold));border-radius:50%;background:#201814;box-shadow:0 0 12px color-mix(in srgb,var(--halo,var(--gold)) 56%,transparent),0 3px 9px #0008;pointer-events:none}
.restaurant-card-logo:empty{display:none}
.gastro .restaurant-card-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.restaurant:has(.restaurant-card-logo:not(:empty)){border:1px solid var(--gold)}
.restaurant[style*="--edge"]{border:2px solid var(--edge);box-shadow:0 0 14px color-mix(in srgb,var(--halo) 34%,transparent)}
.restaurant strong{display:flex;align-items:center;gap:15px;color:var(--paper);margin-top:18px}.restaurant strong span{background:var(--gold);color:var(--coal)}
.empty{display:flex;align-items:center;justify-content:space-between;gap:32px;background:#eae3d2;border-top:4px solid var(--coral);padding:clamp(22px,3.6vw,48px)}.empty h2+p{margin-top:12px}.empty .pill{flex-shrink:0}
.hero{min-height:clamp(400px,37vw,590px)}.hero .backdrop{left:21%}.hero h1{max-width:9.8em}.hero .slogan{color:var(--gold);font-weight:600}.seal{width:clamp(80px,10vw,144px);position:absolute;bottom:4%;right:5%;filter:drop-shadow(2px 5px 6px #0007)}
.chapters{display:flex;justify-content:center;gap:clamp(14px,7vw,130px);background:var(--green);color:var(--paper);border-bottom:3px solid var(--gold)}.chapters a{padding:14px 8px;font-weight:700}
.intro{display:grid;grid-template-columns:.65fr 2fr;align-items:start;gap:24px;padding-block:clamp(28px,4vw,60px);border-bottom:1px solid var(--line);margin-bottom:clamp(28px,3.6vw,52px)}.intro p:last-child{font-weight:650;font-size:clamp(1.22rem,2vw,1.95rem);line-height:1.28;letter-spacing:-.035em;max-width:45em}
.gastro dialog button{background:var(--coal);color:white;border:none;border-radius:999px;min-width:44px;min-height:44px;font-size:1.1rem}
.dishgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.dishgrid figure{background:#ebe3d3;border-radius:5px;overflow:hidden;min-width:0}.dishgrid img,.pair img{aspect-ratio:1;object-fit:contain}
.dishgrid figcaption,.pair figcaption{padding:clamp(14px,1.7vw,26px)}.dishgrid small{color:#91422b}.dishgrid h3,.pair h3{margin:5px 0 9px}.dishgrid h3{font-size:clamp(1.5rem,2.2vw,2.3rem)}.dishgrid p,.pair p{line-height:1.43}
.spread,.hospital,.pair,.rooms,.visit{display:grid;gap:clamp(14px,2vw,28px)}
.spread{grid-template-columns:1.4fr 1fr;align-items:center;gap:0;background:var(--green);color:var(--paper);margin-block:clamp(40px,5vw,80px)}.spread section{padding:clamp(24px,4.5vw,82px)}.spread h2{color:var(--gold)}.spread h2+p,.hospital h2+p{margin-top:15px}
.pair,.rooms{grid-template-columns:1fr 1fr;margin-top:20px}.pair figure{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;background:#eed495;overflow:hidden;border-radius:5px}.pair figure:nth-child(2){background:#efc1a9}.pair h3{font-size:clamp(1.5rem,2.2vw,2.7rem)}
#ambiente,#visita{margin-top:clamp(40px,5.5vw,80px)}.rooms{grid-template-columns:1.25fr 1fr}.rooms figure{display:grid;align-items:end;background:var(--coal);color:white;border-radius:5px;overflow:hidden}.rooms img,.rooms figcaption{grid-area:1/1}.rooms img{height:100%;object-fit:cover}.rooms figcaption{position:relative;padding:30px 18px 12px;background:linear-gradient(transparent,#171b17df);font-weight:700}
.hospital{grid-template-columns:.9fr 1.2fr;align-items:center;background:var(--coal);color:var(--paper);gap:0;margin-block:clamp(25px,4vw,60px)}.hospital>div{padding:clamp(24px,3.8vw,65px)}.hospital .k{color:var(--coral)}
.album{border-block:1px solid var(--line)}.album summary,.visit summary{padding:16px 0;font-weight:700}.album summary{font-size:1.4rem}.album summary span{float:right;font-size:.87rem;margin-top:5px}.album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:16px 0}.album-grid button{display:block;padding:0;width:100%;border:0;background:var(--coal)}.album-grid img{aspect-ratio:1.4;object-fit:contain;background:#e7deca}.album-grid figcaption{font-size:.83rem;margin-top:5px}
.visit{grid-template-columns:1.25fr 1fr;margin-top:22px}.visit details{padding:0 16px;background:#ebe2d1}.visit details p{padding-bottom:14px}.visit dl{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:10px 18px}.visit dt{padding-top:4px}.visit dd{border-bottom:1px solid var(--line);padding-bottom:7px;overflow-wrap:anywhere;min-width:0}
.sobremesa .contact-action{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;max-width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:6px;color:var(--green);background:#ebe2d1;font-weight:700;text-decoration:underline;text-underline-offset:4px;transition:background .2s,color .2s}
.contact-action span{flex-shrink:0}.visit-map-action{margin-top:14px}.contact-note{margin-top:22px;padding:16px 20px;background:#ebe2d1;border-left:3px solid var(--green);border-radius:4px;font-size:.9rem}.contact-note p+p{margin-top:8px}.contact-note blockquote,.contact-dialog blockquote{margin:12px 0 0;font-style:italic;overflow-wrap:anywhere}.gastro dialog.contact-dialog{width:min(90vw,520px);padding:24px}.contact-dialog h2{font-size:1.6rem}.contact-dialog form{margin-top:20px}.gastro .contact-dialog button{min-height:44px}.contact-dialog [hidden]{display:none}
@media(hover:hover){.sobremesa .contact-action:hover{color:var(--paper);background:var(--green)}}
@media(prefers-reduced-motion:reduce){.sobremesa .contact-action,.sobremesa .hero .pill{transition:none;translate:none}}
.closing{margin-top:clamp(34px,5vw,80px);background:var(--green);color:white;padding:clamp(36px,5vw,78px) 5%;text-align:center}.closing .k{justify-content:center}.closing>a{margin:18px 10px 0}.closing>a:not(.pill){display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.foot>div{gap:18px;padding-block:22px;flex-wrap:wrap}.foot>div>span{font-size:.88rem}.foot small{margin-left:auto;color:#d4d0c2}
.gastro dialog{border:0;border-radius:8px;padding:16px;background:var(--coal);color:var(--paper);width:min(94vw,920px);max-height:94dvh}.gastro dialog::backdrop{background:#0d120eeb}.gastro dialog img{height:58vh;object-fit:contain}.gastro dialog footer{display:flex;justify-content:space-between;gap:10px}.gastro dialog button{background:var(--paper);color:var(--coal);padding-inline:16px}.gastro dialog p{padding:12px 0}
@media(hover:hover){.pill:hover{translate:0 -2px;background:var(--gold)}.route:hover img,.restaurant:hover .card-photo>img{transform:scale(1.045)}.route:hover .round{background:var(--paper);color:var(--coal);transform:rotate(6deg)}.chapters a:hover,.mast-section:hover{text-decoration:underline;text-underline-offset:5px}}
.gastro :is(.pill,.route,.restaurant):active{filter:brightness(.92)}
@media(max-width:900px){.tile-info{padding:16px}.tile-info p{font-size:.93rem}.round{width:30px;height:30px;right:12px;bottom:16px}.pair figure{grid-template-columns:1fr}.dishgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){
 .mast-inner{height:52px;gap:12px}.mast small{display:none}.mast-section{padding-left:12px}.mast .brand{gap:5px}.mast b{font-size:1.04rem}.brand-mark{font-size:1.5rem}
 .discovery{min-height:440px}.hero-scene:after{background:linear-gradient(0deg,#131711 0%,#131711ed 17%,#121710bf 42%,#151a1333 74%,#181b1412)}
 .discovery .backdrop,.category-hero .backdrop,.hero .backdrop{inset:0 0 11%}.discovery .backdrop img{object-position:51% 48%}.scene-content{padding-block:28px}.scene-caption{display:none}.discovery h1{font-size:clamp(2.95rem,11vw,4.3rem);max-width:9em}.discovery h1 span{display:block}.discovery .deck{max-width:26ch;margin-top:13px}.scene-content .pill{margin-top:16px}
 .routes{grid-template-columns:1fr;gap:12px;margin-top:16px}.route{min-height:177px}.route:after{background:linear-gradient(90deg,#101710e8 3%,#101710c7 31%,#10171025 74%)}.tile-photo{left:20%}.tile-info{padding:18px}.tile-info h3{font-size:2.15rem}.tile-num{left:auto;right:12px;top:11px}.round{bottom:12px}.tile-info p{margin-top:4px}
 .category-hero{min-height:430px}.category-hero .scene-content,.hero .scene-content{position:static;padding-block:23px}.category-hero .back,.hero .back{position:absolute;top:12px;left:5%;padding:4px 13px;border-radius:99px;background:#171914e8;margin:0}.category-hero .deck{margin-top:8px}
 .restaurant{grid-template-columns:1fr}.card-photo{min-height:0;aspect-ratio:1.88}.card-copy{padding:20px;position:relative}.card-copy h3{font-size:2.2rem}.empty{display:grid;justify-items:start;gap:18px}.empty h2{font-size:clamp(1.9rem,8vw,2.75rem)}
 .restaurant-card-logo{width:72px}
 .sobremesa .hero .scene-content{padding-top:70px}
 .sobremesa .hero .back{top:8px;z-index:2}
 .hero{min-height:405px}.hero h1{font-size:clamp(2.85rem,11.7vw,4.1rem);max-width:9em}.hero .signal{margin-bottom:10px!important}.hero .slogan{font-size:1.1rem;margin-top:12px}.seal{width:74px;top:12px;bottom:auto;right:4%}.chapters{gap:20px}.chapters a{font-size:.93rem;padding:13px 3px}
 .intro{display:block;margin-bottom:26px}.dishgrid{grid-template-columns:1fr}
 .spread,.hospital,.visit{grid-template-columns:1fr}.spread section,.hospital>div{padding:23px 5%}.pair{gap:10px}.pair figcaption{padding:13px 10px}.pair p{font-size:.92rem}.rooms{grid-template-columns:1fr}.hospital img{grid-row:1}.album-grid{grid-template-columns:repeat(2,1fr)}.album summary span{display:none}.visit dl{gap:8px 12px}
 .foot>div{gap:6px 16px}.foot small{width:100%;margin:0}
}
@media(prefers-reduced-motion:no-preference){
 .gastro main{animation:page-enter .24s ease-out both}
 @keyframes page-enter{from{opacity:.83}to{opacity:1}}
 html:has(.gastro){scroll-behavior:smooth}
 .scene-content{animation:arrive .48s ease-out both}.in-view{animation:arrive .42s ease-out}
 @keyframes arrive{from{opacity:.65;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
 @supports(animation-timeline:view()){.hero-scene{view-timeline-name:--scene}.backdrop img{animation:depth linear both;animation-timeline:--scene;animation-range:exit 0% exit 100%}@keyframes depth{from{transform:scale(1.015)}to{transform:scale(1.08) translateY(2%)}}}
}
@media(prefers-reduced-motion:reduce){.gastro *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Carta escrita desde las categorías del perfil de cada restaurante. */
.house-menu{margin-top:clamp(36px,5vw,72px);padding:clamp(22px,4vw,52px);background:#efe6d4;border:1px solid #d3c4a8;border-top:5px double var(--green);border-radius:4px;box-shadow:0 16px 35px -27px #42351b70}
.menu-heading{display:grid;grid-template-columns:1fr auto;gap:8px 20px;padding-bottom:26px;border-bottom:1px solid #b9aa8c}
.menu-heading h2{color:var(--green);font-size:clamp(2.2rem,4vw,4rem)}
.menu-flower{align-self:center;font:clamp(2.4rem,5vw,4.5rem)/1 Georgia,serif;color:#9b4930}
.menu-heading .menu-intro{grid-column:1/-1;font:italic 1.25rem/1.5 Georgia,serif;color:#69513a;margin-top:10px}
.menu-demo{grid-column:1/-1;font-size:.76rem;color:#66563e}
.menu-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;margin-top:32px}
.menu-category{min-width:0}.menu-category>header{display:flex;align-items:baseline;gap:12px;margin-bottom:10px;border-bottom:2px solid var(--green);padding-bottom:12px}
.menu-number{font:italic 1rem Georgia,serif;color:#9b4930}.gastro .menu-category h3{font:500 clamp(1.75rem,2.3vw,2.1rem)/1.1 Georgia,serif;letter-spacing:-.035em;color:var(--green)}
.menu-items{list-style:none;padding:0;margin:0}.menu-items li{padding:16px 0;border-bottom:1px solid #cfc1a5}
.menu-item-heading{display:flex;align-items:baseline;gap:14px;justify-content:space-between}.menu-item-heading h4{margin:0;font:750 1rem/1.35 "Segoe UI",Arial,sans-serif;overflow-wrap:anywhere}
.menu-price{white-space:nowrap;font:600 1rem/1.4 Georgia,serif;color:#81402d;font-variant-numeric:tabular-nums}
.menu-items p{margin-top:5px;font-size:.91rem;line-height:1.45;color:#615542;max-width:46ch}
@media(min-width:901px){.menu-category:last-child:nth-child(odd){grid-column:1/-1}.menu-category:last-child:nth-child(odd) .menu-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}
@media(max-width:900px){.menu-categories{gap:28px}.house-menu{padding:26px}.menu-item-heading{gap:8px}}
@media(max-width:620px){.house-menu{padding:22px 18px}.menu-heading{gap:6px 10px}.menu-heading .menu-intro{font-size:1.12rem}.menu-categories{grid-template-columns:1fr;gap:28px}.menu-flower{font-size:2.2rem}}

/* Atlas: una única navegación cambia de órbitas a fichas táctiles. */
.chef-atlas{--gutter:clamp(28px,5vw,100px);position:relative;isolation:isolate;overflow:hidden;color:#fff6e7;background:#190e0e;display:grid;grid-template-columns:1fr 1fr;align-content:space-between;row-gap:20px;min-height:clamp(680px,53vw,815px);padding:clamp(27px,3vw,52px) var(--gutter) 16px}
.chef-stage{display:contents}
.chef-image,.chef-atlas:before{position:absolute;inset:0;z-index:-2;pointer-events:none}
.chef-image img{width:100%;height:100%;object-fit:contain;object-position:50% 0}
.chef-atlas:before{content:"";z-index:-1;background:linear-gradient(90deg,#160d10ee 0%,#180d10ae 18%,transparent 38% 62%,#180d1090 82%,#160d10ec),linear-gradient(0deg,#190e0ef0,transparent 20%)}
.atlas-heading{align-self:start;max-width:min(40vw,575px)}
.gastro .atlas-label,.atlas-key small,.atlas-base{font:750 .69rem/1.45 "Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:.17em}
.atlas-label{display:flex;align-items:center;gap:9px;color:#ffcf91}.atlas-label i,.atlas-base i,.node-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#83ddae}.atlas-label i{background:var(--coral)}.atlas-label span{color:var(--coral)}
.gastro .atlas-heading h1{font-size:clamp(2.8rem,4.1vw,5rem);margin-top:9px;letter-spacing:-.065em}
.atlas-heading h1 em{display:block;font:italic 500 .93em/1 Georgia,serif;color:#ffad92;letter-spacing:-.055em}
.atlas-intro{justify-self:end;max-width:clamp(230px,24vw,365px);align-self:start;padding-top:7px}
.atlas-intro p{font-size:clamp(.98rem,1.22vw,1.23rem);line-height:1.36;font-weight:550;margin-top:10px}
.atlas-routes{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px 0;perspective:1250px}
.atlas-key{grid-column:1/-1;display:flex;align-items:baseline;gap:12px;font-size:1.22rem;font-weight:750;letter-spacing:-.03em}
.atlas-key small{color:#f5c779;font-size:.63rem}
.atlas-wing{--direction:1;position:relative;display:grid;gap:8px;width:clamp(198px,17vw,272px)}
.wing-right{--direction:-1;justify-self:end}
.atlas-wing:before{content:"";position:absolute;z-index:-1;inset:-6% -30%;border:1px solid #ffb58a26;border-radius:50%;transform:rotate(calc(var(--direction)*13deg));pointer-events:none}
.atlas-node{--arc:7%;--offset:calc(var(--direction)*var(--arc));position:relative;display:flex;align-items:center;gap:10px;min-height:46px;padding:7px 14px 7px 9px;border:1px solid #efcab650;background:linear-gradient(110deg,#3e2728ed,#291c20ec);border-radius:13px;box-shadow:0 5px 18px #10060977,inset 0 1px 0 #ffe0bc17;color:#fff9f2!important;font:700 clamp(.86rem,1.08vw,1.08rem)/1.15 "Segoe UI",Arial,sans-serif;text-decoration:none;transform:translateX(var(--offset));transition:background .19s,border-color .19s,box-shadow .22s,scale .22s;touch-action:manipulation}
.atlas-node:nth-child(2),.atlas-node:nth-last-child(2){--arc:17%}.atlas-node:nth-child(3),.atlas-node:nth-last-child(3){--arc:24%}.atlas-node:nth-child(4){--arc:27%}
.node-symbol{width:30px;height:24px;display:grid;place-items:center;flex:none;overflow:hidden;border-radius:3px;color:var(--gold)}
.node-symbol img{width:100%;height:auto;max-height:100%;object-fit:contain}.node-name{flex:1}.node-arrow{font:600 1.1rem/1 Arial;color:#dbc4ac}.node-dot{width:6px;height:6px;flex:none}.fusion-glyph{font:700 1.6rem/1 Arial;color:#ffad85}
.atlas-node.has-places{border-color:#8ac7a785;background:linear-gradient(100deg,#264236f4,#292520f2)}
.atlas-base{grid-column:1/-1;border-top:1px solid #f0ccb23d;padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:.61rem;color:#ead4c4}
.atlas-base span{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:.035em;font-weight:600;font-size:.78rem}
@media (hover:hover){
 .dishgrid figure:hover img{transform:scale(1.015)}.dishgrid figure{overflow:hidden}
}
.atlas-node:active{background:#624133;scale:.98}
@media(min-width:1800px){.chef-atlas{padding-inline:max(var(--gutter),calc((100vw - 1650px)/2))}}
@media(max-width:1000px){
 .chef-atlas{display:block;padding:0;min-height:0}.chef-atlas:before{display:none}
 .chef-stage{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:16%;isolation:isolate;position:relative;min-height:clamp(360px,48vw,480px);padding:24px 5%}
 .chef-stage:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#190e0e,transparent 65%),linear-gradient(90deg,#190e0e78,transparent 42% 58%,#190e0e55)}
 .chef-image img{object-fit:cover;object-position:center 18%}.atlas-heading,.atlas-intro{align-self:end}.atlas-intro{max-width:275px}.atlas-intro .atlas-label{display:none}
 .atlas-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 5%;perspective:none}.atlas-key{padding:7px 0 4px;justify-content:space-between}
 .atlas-wing{display:contents}.atlas-wing:before{display:none}.atlas-node{transform:none;min-height:50px}.atlas-base{margin:15px 5% 0;padding:12px 0 16px}
}
@media(max-width:600px){
 .chef-stage{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:0;min-height:clamp(435px,116vw,620px);padding:0 5% 19px}
 .chef-stage:before{background:linear-gradient(0deg,#190e0e 0%,#190e0ef6 9%,#190e0ec9 22%,#190e0e33 39%,transparent 49%)}
 .chef-image img{object-position:center top}.atlas-heading,.atlas-intro{align-self:auto;max-width:100%}
 .gastro .atlas-heading h1{font-size:clamp(2.32rem,9.8vw,3.85rem);margin-top:5px}.atlas-heading h1 em{font-size:.89em}
 .atlas-intro{padding:0}.atlas-intro p{font-size:.95rem;line-height:1.36;margin-top:9px;max-width:38ch}.gastro .atlas-label{font-size:.59rem}
 .atlas-routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.atlas-key{font-size:1.1rem;padding:1px 0}.atlas-node{min-height:54px;padding:8px;gap:6px;font-size:.9rem;line-height:1.24;border-radius:10px}.node-symbol{width:23px;height:20px}.node-arrow{font-size:.93rem}.atlas-base b{font-size:.53rem}
}
@media(prefers-reduced-motion:no-preference){
 .chef-image{animation:chef-arrival .7s ease-out both}.atlas-node{animation:node-arrival .4s cubic-bezier(.2,.75,.25,1) backwards;animation-delay:calc(var(--step)*38ms)}
 .wing-right .atlas-node{animation-delay:calc(60ms + var(--step)*38ms)}
 .sobremesa .seal{animation:chef-arrival .65s .12s ease-out backwards}
 .dishgrid img{transition:transform .3s ease-out}
 @keyframes chef-arrival{from{opacity:.5}to{opacity:1}}
 @keyframes node-arrival{from{opacity:.15;translate:calc(var(--direction,1)*-12px) 5px;rotate:y 7deg}to{opacity:1;translate:0 0;rotate:y 0deg}}
}
@media(prefers-reduced-motion:reduce){.atlas-node,.dishgrid figure img{scale:1!important}.dishgrid figure:hover img{transform:none}}


/* La luz, el borde y el reflejo de salida comparten la paleta de cada cocina. */
.chef-atlas {
  --passage-ms: 560;
  --tone-a: #ffae75;
  --tone-b: #95bb99;
  --tone-c: #fa8a79;
}
.atlas-node:is([data-cocina="colombia"],[data-cocina="venezuela"],[data-cocina="ecuador"]) {
  --tone-a:#fbd05c; --tone-b:#5888e4; --tone-c:#e36a62;
}
.atlas-node[data-cocina="peru"] {--tone-a:#f17875; --tone-b:#fff2e3; --tone-c:#e35e63}
.atlas-node[data-cocina="bolivia"] {--tone-a:#e5695c; --tone-b:#ecc957; --tone-c:#60b888}
.atlas-node[data-cocina="honduras"] {--tone-a:#48c6d4; --tone-b:#fff7ed; --tone-c:#56b6d3}
.atlas-node[data-cocina="mexico"] {--tone-a:#6abb94; --tone-b:#f5ead8; --tone-c:#e5786e}
.atlas-node[data-cocina="argentina"] {--tone-a:#8cd0ec; --tone-b:#fff2de; --tone-c:#e7c373}
.atlas-node[data-cocina="brasil"] {--tone-a:#61c384; --tone-b:#e9c651; --tone-c:#648acc}
.atlas-node:is([data-cocina="republica-dominicana"],[data-cocina="cuba"],[data-cocina="chile"]) {
  --tone-a:#7b9ddd; --tone-b:#f6eadf; --tone-c:#e57065;
}
.atlas-node[data-cocina="cocina-fusion"] {--tone-a:#ffae75; --tone-b:#d6a1e8; --tone-c:#82c7ad}
.atlas-node {
  isolation:isolate;
  border-color:#d9b7a65e;
  background:linear-gradient(155deg,#594044f2 -20%,#35282beb 39%,#24191cf7 90%);
  box-shadow:inset 0 1px 0 #fff1d92e,inset 0 -2px 0 #130e1370,0 3px 5px #10080a4a,0 9px 16px -6px #090506b5;
  transition:opacity .26s,scale .25s,translate .25s,border-color .28s,box-shadow .28s;
}
.atlas-node::before,.atlas-node::after {
  content:"";position:absolute;pointer-events:none;opacity:0;transition:opacity .26s;
}
.atlas-node::before {
  z-index:-1;inset:0;border-radius:inherit;
  background:radial-gradient(ellipse at 4% 12%,color-mix(in srgb,var(--tone-a) 28%,transparent),transparent 64%),
    radial-gradient(ellipse at 92% 100%,color-mix(in srgb,var(--tone-c) 22%,transparent),transparent 65%);
}
.atlas-node::after {
  bottom:1px;left:6%;right:6%;height:2px;border-radius:100%;
  background:linear-gradient(90deg,transparent,var(--tone-a) 22%,var(--tone-b) 53%,var(--tone-c) 80%,transparent);
  transform:scaleX(.35);transition:opacity .22s,transform .35s;
}
.atlas-node.has-places {
  background:linear-gradient(145deg,#3e5849ef,#22362df5 53%,#292920f7);
  border-color:#95d8aeaa;box-shadow:inset 0 1px 0 #e1f7d736,0 7px 17px #070c0896,0 0 12px #82e0a01a;
}
.node-dot {position:relative;box-shadow:0 0 7px #87efaf9e}
.node-dot::after {content:"";position:absolute;inset:-3px;border:1px solid #97efb983;border-radius:50%}
.node-symbol,.node-arrow {transition:transform .26s,color .26s}
.atlas-node:focus-visible,.atlas-node.is-opening {border-color:var(--tone-a);z-index:2}
.atlas-node:focus-visible::before,.atlas-node.is-opening::before {opacity:.95}
.atlas-node:focus-visible::after,.atlas-node.is-opening::after {opacity:.9;transform:scaleX(1)}
@media(hover:hover) and (pointer:fine) {
  .atlas-node:hover {
    z-index:2;translate:0 -3px;scale:1.022;border-color:color-mix(in srgb,var(--tone-a) 70%,#3a3433);
    box-shadow:inset 0 1px 0 #fff1d935,0 12px 23px -5px #030403c7,0 0 13px color-mix(in srgb,var(--tone-a) 15%,transparent);
  }
  .atlas-node:hover::before{opacity:.8}
  .atlas-node:hover::after{opacity:.68;transform:scaleX(.88)}
  .atlas-node:hover .node-arrow{color:var(--tone-a);transform:translate(2px,-2px)}
  .atlas-node:hover .node-symbol{transform:translateY(-1px) scale(1.045)}
}
.chef-image::after {
  content:"";position:absolute;inset:0;opacity:0;pointer-events:none;
  background:radial-gradient(ellipse at var(--light-x,25%) 50%,var(--light-a) 0%,transparent 54%),
    radial-gradient(ellipse at 50% 75%,var(--light-b),transparent 48%),
    radial-gradient(ellipse at 80% 40%,var(--light-c),transparent 48%);
  transition:opacity .32s ease-out,transform .47s ease-out;transform:scale(.98);
}
.chef-atlas.is-departing .chef-image::after{opacity:.24;transform:scale(1.035)}
.is-departing .atlas-node:not(.is-opening){opacity:.52}
.is-departing .atlas-node.is-opening {
  z-index:3;translate:0 -3px;scale:1.045;border-color:var(--tone-a);
  box-shadow:0 10px 26px #090506a3,0 0 18px color-mix(in srgb,var(--tone-a) 26%,transparent);
}
.is-opening .node-arrow{transform:translate(3px,-2px);color:var(--tone-a)}
@media(prefers-reduced-motion:no-preference) {
  .node-dot::after{animation:available-ring 2.4s ease-out 2}
  @keyframes available-ring{0%{transform:scale(.72);opacity:.85}75%,100%{transform:scale(1.4);opacity:.16}}
}
@media(max-width:1000px),(pointer:coarse) {
  .chef-atlas{--passage-ms:430}
  .atlas-node:active{scale:.976;border-color:var(--tone-a)}
  .atlas-node:active::before{opacity:.85}
  .is-departing .atlas-node.is-opening{translate:0 -1px;scale:1.025}
}
@media(prefers-reduced-motion:reduce) {
  .chef-atlas .atlas-node,.chef-atlas .atlas-node :is(.node-arrow,.node-symbol){translate:none;scale:1}
  .chef-atlas .atlas-node :is(.node-arrow,.node-symbol){transform:none}
  .atlas-node::before,.atlas-node::after,.chef-image::after,.node-dot::after{transition:none;animation:none}
}

