/* ============ Weiss — tokens ============ */
:root{
  --carbon:#0d0d0d; --carbon2:#151515; --hueso:#F4F1EA; --hueso2:#e9e2d3;
  --rojo:#E30302; --mostaza:#EDB51B; --bordo:#320600; --cuero:#B3865D;
  --gris:#bdb6a8;
  --anton:'Anton',Impact,'Arial Narrow',sans-serif;
  --archivo:'Archivo',system-ui,sans-serif;
  --ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--carbon);scroll-behavior:smooth;overscroll-behavior:none;overflow-x:clip;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--carbon);color:var(--hueso);font-family:var(--archivo);font-size:16px;line-height:1.5;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--anton);font-weight:400;margin:0;line-height:.95;letter-spacing:-.5px}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--mostaza);outline-offset:3px}
.cuero{color:var(--cuero)}
.eyebrow{display:block;font-size:13px;letter-spacing:3px;text-transform:uppercase;font-weight:800;color:var(--cuero)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:15px;text-decoration:none;padding:15px 24px;border-radius:99px;border:1.5px solid transparent;transition:transform .2s var(--ease),background .2s,color .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.97)}
.btn--sm{padding:11px 18px;font-size:14px}
.btn--mostaza{background:var(--mostaza);color:#121212}
.btn--ghost{border-color:var(--hueso);color:var(--hueso)}
.btn--ghost:hover{background:var(--hueso);color:#121212}
.btn--blanco{background:#fff;color:var(--rojo)}
.btn--carbon{background:#121212;color:var(--mostaza)}

/* ============ NAV ============ */
.nav{position:fixed;inset:0 0 auto 0;height:84px;padding:0 clamp(16px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:50;transition:background .3s,height .3s,box-shadow .3s}
.nav.is-solid{background:rgba(13,13,13,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);height:70px;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nav__logo img{width:118px;height:auto}
.nav__links{display:flex;gap:clamp(18px,2.4vw,34px);font-size:15px;font-weight:600}
.nav__links a{text-decoration:none;position:relative;padding:6px 0}
.nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--mostaza);transition:right .25s var(--ease)}
.nav__links a:hover::after{right:0}
.nav__right{display:flex;align-items:center;gap:12px}
.nav__countries{display:flex;border:1.5px solid #444;border-radius:99px;overflow:hidden;font-size:13px;font-weight:800}
.nav__countries a{padding:7px 11px;text-decoration:none}
.nav__countries a.is-on{background:var(--hueso);color:#121212}
.nav__countries a:not(.is-on):hover{background:#2a2a2a}
.burger{all:unset;display:none;cursor:pointer;width:44px;height:44px;position:relative}
.burger span{position:absolute;right:8px;height:3px;border-radius:2px;background:var(--hueso);transition:transform .3s var(--ease),opacity .2s,width .3s,top .3s}
.burger span:nth-child(1){top:14px;width:26px}
.burger span:nth-child(2){top:21px;width:18px;background:var(--mostaza)}
.burger span:nth-child(3){top:28px;width:22px}
.burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg);width:26px}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;width:0}
.burger[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg);width:26px}

/* ============ HERO ============ */
.hero{position:relative;min-height:max(640px,min(100svh,880px));padding-top:clamp(140px,14vw,210px);padding-bottom:90px;overflow:hidden;overflow:clip;background:var(--carbon)}
.hero__stage{position:relative;margin:0 auto;width:clamp(560px,min(68vw,calc((100svh - 200px)*1.5)),980px);aspect-ratio:3/2;container-type:inline-size}
.hero__photo,.hero__pan{position:absolute;inset:0;width:100%;height:100%}
.hero__photo{-webkit-mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(180deg,#000 86%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent),linear-gradient(180deg,#000 86%,transparent);mask-composite:intersect}
.hero__title{position:absolute;left:50%;top:-7.4cqw;transform:translateX(-50%);font-size:21.8cqw;line-height:1;white-space:nowrap;letter-spacing:-.2cqw;animation:rise 1s var(--ease) .1s both}
.hero__title span{display:inline-block}
.hero__pan{animation:panDrop 1s var(--ease) .35s both}
@keyframes rise{from{opacity:0;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes panDrop{from{transform:translateY(-14px)}to{transform:none}}
.hero__left{position:absolute;left:clamp(16px,4vw,56px);bottom:96px;width:290px;display:flex;flex-direction:column;gap:14px;animation:fadeUp .8s var(--ease) .6s both}
.hero__left p{margin:0;font-size:17px;line-height:1.45;color:#d9d3c6}
.hero__left b{color:var(--hueso)}
.hero__right{position:absolute;right:clamp(16px,4vw,56px);bottom:86px;width:260px;display:flex;flex-direction:column;gap:12px;animation:fadeUp .8s var(--ease) .75s both}
.hero__right p{margin:0;font-size:15px;color:#d9d3c6}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.seam{position:relative;height:0;z-index:20}
.ticker{position:absolute;left:-40px;right:-40px;top:-29px;height:58px;background:var(--rojo);transform:rotate(-1.6deg);overflow:hidden;display:flex;align-items:center;z-index:3}
.ticker__track{display:flex;gap:28px;align-items:center;white-space:nowrap;font-family:var(--anton);font-size:30px;padding-left:28px;animation:marq 40s linear infinite}
.ticker__track span{display:flex;gap:28px;align-items:center}
.ticker__track svg{width:22px;height:22px;fill:var(--mostaza)}
@keyframes marq{to{transform:translateX(-50%)}}

/* ============ CARTA (selector) ============ */
.carta{position:relative;overflow:hidden;overflow:clip;padding:96px 0 40px;background:var(--rojo);color:#fff;transition:background .45s,color .45s;--ink:#fff;--title:var(--bordo);--bolt:var(--mostaza);--bg:var(--rojo)}
.carta[data-theme="1"]{background:var(--mostaza);color:var(--bordo);--ink:var(--bordo);--title:var(--bordo);--bolt:var(--rojo);--bg:var(--mostaza)}
.carta[data-theme="2"]{background:#121212;color:var(--hueso);--ink:var(--hueso);--title:var(--cuero);--bolt:var(--mostaza);--bg:#121212}
.carta__lines{position:absolute;inset:0;opacity:.09;background:repeating-linear-gradient(-66deg,var(--ink) 0 9px,transparent 9px 26px);pointer-events:none;transition:background .45s}
.carta__glow{position:absolute;left:50%;top:180px;width:760px;height:340px;margin-left:-380px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.35),transparent);pointer-events:none}
.carta__head{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.carta__title{display:flex;align-items:center;gap:14px;font-size:clamp(34px,4vw,48px)}
.carta__title svg{width:16px;height:20px;fill:currentColor}
.blink{animation:blink 1.1s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}
.carta__hint{margin:0;font-size:14px;font-weight:600;opacity:.85}
.carta__stage{position:relative;height:calc(var(--bw,660px)*2/3 + 50px);margin-top:6px;touch-action:pan-y;user-select:none;-webkit-user-select:none;cursor:grab;z-index:5}
.carta__stage:active{cursor:grabbing}
.carta__stage:focus-visible{outline:none}
.carta__stage img{position:absolute;left:50%;top:30px;width:var(--bw,660px);height:auto;aspect-ratio:3/2;margin-left:calc(var(--bw,660px)/-2);pointer-events:none;-webkit-user-drag:none;will-change:transform,filter;transition:transform .55s var(--ease),filter .45s,opacity .45s}
.carta__stage.is-drag img{transition:none}
.carta__nav{all:unset;position:absolute;top:calc(70px + 110px + var(--bw,660px)/4);z-index:8;width:64px;height:64px;border-radius:50%;background:var(--ink);color:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,background .45s,color .45s}
.carta__nav:hover{transform:scale(1.08)}
.carta__nav:active{transform:scale(.94)}
.carta__nav:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.carta__nav svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.carta__nav--prev{left:clamp(12px,3.4vw,48px)}
.carta__nav--next{right:clamp(12px,3.4vw,48px)}
.carta__info{position:relative;z-index:6;display:flex;flex-direction:column;align-items:center;gap:12px;padding:0 20px;text-align:center}
.carta__name{display:flex;align-items:center;gap:16px;font-family:var(--anton);font-size:clamp(46px,6vw,86px);line-height:1;color:var(--title);transition:color .45s}
.carta__name.slam{animation:slam .45s var(--ease)}
@keyframes slam{0%{opacity:0;transform:scale(1.3)}60%{opacity:1;transform:scale(.97)}100%{transform:none}}
.carta__num{font-size:20px;background:var(--ink);color:var(--bg);padding:4px 10px;border-radius:6px;transition:background .45s,color .45s}
.carta__moves{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;max-width:980px;font-weight:800;font-size:16px}
.carta__moves li{display:flex;align-items:center;gap:6px;animation:fadeUp .4s var(--ease) both}
.carta__moves svg{width:15px;height:15px;fill:var(--bolt);flex:none}
.carta__roster{position:relative;z-index:6;display:flex;justify-content:center;gap:10px;margin:30px auto 0;padding:6px 20px 10px;max-width:100%;overflow-x:auto;scrollbar-width:none}
.carta__roster::-webkit-scrollbar{display:none}
.thumb{all:unset;cursor:pointer;position:relative;flex:none;width:66px;height:66px;border-radius:10px;overflow:hidden;background:rgba(0,0,0,.18);transition:transform .2s,box-shadow .2s,background .3s}
.thumb:hover{transform:translateY(-4px)}
.thumb:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.thumb img{width:100%;height:100%;object-fit:contain;padding:6px;filter:grayscale(1) brightness(.85);transition:filter .3s}
.thumb[aria-selected="true"]{background:var(--ink);box-shadow:0 0 0 3px var(--bolt)}
.thumb[aria-selected="true"] img{filter:none}
.thumb[aria-selected="true"]::after{content:"P1";position:absolute;left:4px;top:4px;font-family:var(--anton);font-size:12px;line-height:1.2;background:var(--bolt);color:#121212;padding:1px 5px;border-radius:4px;animation:bob 1.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-4px)}}
.carta__menus{position:relative;z-index:6;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:22px;padding:0 20px;font-size:14px;font-weight:600}
.carta__menus a{font-weight:800;text-underline-offset:4px}

/* ============ BURGA DEL MES ============ */
.mes{position:relative;background:var(--rojo);color:#fff;display:grid;grid-template-columns:minmax(260px,330px) 1fr;gap:20px;align-items:center;padding:90px clamp(16px,5.5vw,80px) clamp(130px,15vw,220px);overflow:hidden;overflow:clip}
.mes::before{content:"";position:absolute;inset:0;background:radial-gradient(42% 50% at 64% 46%,rgba(255,90,60,.55),transparent);pointer-events:none}
.mes__copy{position:relative;display:flex;flex-direction:column;gap:20px;align-items:flex-start;z-index:2}
.mes__copy .eyebrow{color:#fff}
.mes__copy h2{font-size:clamp(48px,5vw,66px);color:var(--bordo)}
.mes__copy p{margin:0;font-size:17px}
.mes__count{display:flex;align-items:center;gap:14px;background:var(--bordo);border-radius:14px;padding:14px 18px}
.mes__count b{font-family:var(--anton);font-weight:400;font-size:48px;line-height:1;color:var(--mostaza)}
.mes__count span{font-size:14px;font-weight:800;line-height:1.25}
.pulse{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.06)}}
.mes__poster{position:relative;display:flex;flex-direction:column;align-items:center}
.mes__logo{width:150px;height:auto;margin-bottom:8px}
.mes__star{position:absolute;right:2%;top:40px;width:clamp(96px,10vw,140px);aspect-ratio:1;display:grid;place-items:center;z-index:3}
.mes__star svg{position:absolute;inset:0;width:100%;height:100%;fill:#fff}
.mes__star>span{position:relative;font-family:var(--anton);font-size:clamp(14px,1.4vw,20px);line-height:1.05;text-align:center;color:var(--rojo)}
.spin{animation:spin 16s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.mes__svg{width:100%;max-width:1060px;height:auto;overflow:visible}
.mes__svg text{font-family:var(--archivo);font-weight:800;fill:#fff}
.mes__svg .arw{fill:none;stroke:#fff;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--len);stroke-dashoffset:var(--len)}
.mes__svg .lbl{opacity:0}
.mes__svg .bimg{opacity:0;filter:drop-shadow(0 26px 30px rgba(60,0,0,.45))}
.mes.is-on .bimg{animation:drop .8s cubic-bezier(.2,.9,.25,1.1) both}
.mes.is-on .arw{animation:draw .7s cubic-bezier(.3,.7,.2,1) forwards}
.mes.is-on .lbl{animation:fadeIn .45s ease-out forwards}
@keyframes drop{0%{opacity:0;transform:translateY(-70px) rotate(-3deg)}70%{opacity:1;transform:translateY(6px) rotate(.4deg)}100%{opacity:1;transform:none}}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fadeIn{to{opacity:1}}
.mes__name{font-size:clamp(56px,7.6vw,112px);color:var(--bordo);text-align:center;margin-top:-6px}

/* ============ HISTORIA ============ */
.historia{position:relative;z-index:2;background:#121212;padding:0 0 90px}
.historia__mount{position:absolute;left:0;top:1px;transform:translateY(-100%);display:block;width:100%;height:clamp(90px,14vw,200px);fill:#121212;pointer-events:none}
.historia__mount .snow{fill:var(--hueso)}
.historia__inner{max-width:1240px;margin:0 auto;padding:20px clamp(16px,4vw,40px) 0;display:grid;grid-template-columns:1fr 1fr;gap:30px 60px}
.historia__head{display:flex;flex-direction:column;gap:18px}
.historia__head h2{font-size:clamp(56px,7vw,100px)}
.historia__head p{margin:0;font-size:18px;color:#d9d3c6;max-width:520px}
.timeline{list-style:none;margin:0;padding:0 0 0 28px;border-left:2px dashed #3a3a3a;display:flex;flex-direction:column;gap:22px;align-self:center}
.timeline li{position:relative;display:flex;flex-direction:column;gap:2px}
.timeline li::before{content:"";position:absolute;left:-37px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--mostaza);box-shadow:0 0 0 5px #121212}
.timeline b{font-family:var(--anton);font-weight:400;font-size:24px;color:var(--mostaza)}
.timeline span{color:#d9d3c6}
.historia__stats{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:clamp(20px,5vw,70px);border-top:2px solid #2a2a2a;padding-top:24px}
.historia__stats div{display:flex;align-items:baseline;gap:10px}
.historia__stats b{font-family:var(--anton);font-weight:400;font-size:clamp(44px,5vw,64px);line-height:1}
.historia__stats span{font-weight:800;color:var(--cuero);text-transform:uppercase;letter-spacing:2px;font-size:13px}
.galeria{display:flex;gap:22px;overflow-x:auto;padding:60px clamp(16px,4vw,56px) 30px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.galeria::-webkit-scrollbar{display:none}
.galeria figure{margin:0;flex:none;width:clamp(220px,24vw,320px);aspect-ratio:3/4;scroll-snap-align:center;background:var(--hueso);padding:10px 10px 38px;border-radius:4px;box-shadow:0 18px 40px rgba(0,0,0,.45);transition:transform .35s var(--ease)}
.galeria figure:nth-child(odd){transform:rotate(-2.5deg)}
.galeria figure:nth-child(even){transform:rotate(2deg) translateY(16px)}
.galeria figure:hover{transform:rotate(0) translateY(-8px) scale(1.03)}
.galeria img{width:100%;height:100%;object-fit:cover;pointer-events:none}

.tomi{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:22px 28px;background:#1b1b1b;border-radius:22px;padding:22px 28px}
.tomi__avatar{display:block;width:104px;height:104px;border-radius:50%;padding:4px;background:conic-gradient(var(--mostaza),var(--rojo),var(--cuero),var(--mostaza));transition:transform .3s var(--ease)}
.tomi__avatar:hover{transform:rotate(-6deg) scale(1.05)}
.tomi__avatar img{width:100%;height:100%;border-radius:50%;border:4px solid #1b1b1b;background:#fff;object-fit:cover}
.tomi__txt{display:flex;flex-direction:column;gap:6px}
.tomi__txt h3{font-size:34px}
.tomi__txt p{margin:0;color:#d9d3c6;max-width:640px}
@media (max-width:760px){.tomi{grid-template-columns:1fr;justify-items:center;text-align:center;padding:24px 20px}.tomi__txt{align-items:center}}

/* ============ LOCALES ============ */
.locales{background:var(--hueso);color:#121212;padding:90px clamp(16px,4vw,56px)}
.locales__head{max-width:1320px;margin:0 auto 30px;display:flex;flex-direction:column;gap:12px}
.locales__head .eyebrow{color:var(--rojo)}
.locales__head h2{font-size:clamp(60px,8vw,110px)}
.locales__head p{margin:0;font-size:17px;color:#4a4339}
.locales__tabs{display:none;gap:8px;flex-wrap:wrap}
.locales__tabs button{all:unset;cursor:pointer;padding:11px 18px;border-radius:99px;border:2px solid #121212;font-weight:800;font-size:14px}
.locales__tabs button[aria-selected="true"]{background:#121212;color:var(--hueso)}
.locales__tabs button:focus-visible{outline:3px solid var(--rojo);outline-offset:2px}
.locales__maps{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,440px) minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start}
.locales__right{display:flex;flex-direction:column;gap:22px}
.locales__more{max-width:1320px;margin:44px auto 0;display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
.locales__more .mx{position:sticky;top:90px}
.mapa{position:relative}
.mapa svg{width:100%;height:auto;display:block;overflow:visible}
.mapa--amba{background:#fff;border:2.5px solid #121212;border-radius:18px;overflow:hidden;box-shadow:8px 8px 0 #121212}
.mapa--amba.flash{animation:flash .9s ease}
@keyframes flash{30%{box-shadow:8px 8px 0 var(--rojo);transform:translateY(-4px)}}
.m-land{fill:#fff;stroke:#121212;stroke-width:2.4;stroke-linejoin:round}
.m-uy{fill:url(#hatch);stroke:#121212;stroke-width:1.6;stroke-linejoin:round}
.m-andes{fill:#d8cfbd;stroke:#121212;stroke-width:1.4;stroke-linejoin:round}
.m-sea{font-family:var(--anton);fill:#b9ad97;letter-spacing:3px}
.m-water{fill:#e6ddcb}
.m-waves{fill:none;stroke:#cfc3ab;stroke-width:1.4;stroke-linecap:round}
.m-coast{fill:none;stroke:#121212;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.m-road{fill:none;stroke:#121212;stroke-opacity:.28;stroke-width:3;stroke-linecap:round}
.m-gpaz{fill:none;stroke:#121212;stroke-width:2;stroke-dasharray:6 6;stroke-opacity:.55}
.m-river{fill:none;stroke:#7aa6b8;stroke-width:3;stroke-linecap:round}
.m-label{font-family:var(--anton);fill:#121212}
.m-label.big{font-size:21px}
.m-label.mid{font-size:17px;fill:#6b6153}
.m-label.small{font-size:13px;fill:#8c826f}
.m-label.water{font-size:20px;fill:#a89c84;letter-spacing:3px}
.m-label.road{font-family:var(--archivo);font-weight:800;font-size:11px;fill:#8c826f}
.pin{cursor:pointer;outline:none}
.pin .pin-body{fill:var(--rojo);stroke:#121212;stroke-width:1.6;transition:fill .2s}
.pin .pin-dot{fill:#fff}
.pin .pin-hit{fill:transparent}
.pin g g{transform-box:fill-box;transform-origin:50% 100%;transition:transform .25s var(--ease)}
.pin:hover g g,.pin:focus-visible g g{transform:scale(1.25)}
.pin.is-on .pin-body{fill:var(--mostaza)}
.pin.is-on g g{transform:scale(1.35)}
.pin:focus-visible .pin-body{stroke:var(--rojo);stroke-width:3}
.pin-in{animation:pinDrop .55s cubic-bezier(.2,.9,.3,1.3) both}
@keyframes pinDrop{from{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:none}}
.cluster{cursor:pointer;outline:none}
.cluster circle{fill:var(--mostaza);stroke:#121212;stroke-width:2}
.cluster text{font-family:var(--anton);fill:#121212}
.cluster .ring{fill:none;stroke:var(--mostaza);stroke-width:3;animation:ring 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes ring{from{transform:scale(1);opacity:.9}to{transform:scale(2.2);opacity:0}}
.cluster:focus-visible circle{stroke:var(--rojo);stroke-width:3.5}
.card{background:#121212;color:var(--hueso);border-radius:18px;padding:22px 24px;display:grid;grid-template-columns:1fr auto;align-items:end;gap:6px 20px;min-height:150px}
.card>*{grid-column:1}
.card .card__btns{grid-column:2;grid-row:1/5;align-self:center;flex-direction:column}
.card.swap{animation:fadeUp .35s var(--ease)}
.card .eyebrow{color:var(--mostaza)}
.card h3{font-size:34px;line-height:1}
.card p{margin:0;color:#d9d3c6}
.card .addr{font-weight:800;color:var(--hueso)}
.card__btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.card__btns .btn{padding:11px 16px;font-size:14px}
.mx{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid #121212;border-radius:14px;padding:12px 14px;font-size:14px}
.mx__flag{width:30px;height:20px;border-radius:3px;flex:none;background:linear-gradient(90deg,#006847 33.3%,#fff 33.3% 66.6%,#ce1126 66.6%);border:1px solid #121212}
.mx div{display:flex;flex-direction:column;flex:1;line-height:1.3}
.mx div span{color:#6b6153}
.mx a{font-weight:800;color:var(--rojo);text-underline-offset:3px}
.lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px 34px;border-top:2px solid #121212;padding-top:4px}
.lista__grp{display:flex;flex-direction:column}
.lista h4{margin:18px 0 8px;font-family:var(--anton);font-weight:400;font-size:22px;letter-spacing:.5px;color:var(--rojo)}
.lista button{all:unset;cursor:pointer;display:flex;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;padding:9px 12px;border-radius:8px;font-weight:600;font-size:16px}
.lista button span{color:#6b6153;font-weight:400;font-size:13px;text-align:right}
.lista button:hover{background:var(--hueso2)}
.lista button[aria-current="true"]{background:#121212;color:var(--hueso)}
.lista button[aria-current="true"] span{color:var(--gris)}
.lista button:focus-visible{outline:2px solid var(--rojo)}

/* ============ FRANQUICIAS ============ */
.franq{position:relative;background:var(--mostaza);color:var(--bordo);padding:90px clamp(16px,5vw,80px);overflow:hidden;overflow:clip}
.franq__tri{position:absolute;right:-40px;top:0;bottom:0;width:48%;opacity:.95;background:
  conic-gradient(from 150deg at 50% 0,#121212 0 60deg,transparent 0) 0 0/46px 40px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);mask-image:linear-gradient(90deg,transparent,#000 40%)}
.franq__copy{position:relative;max-width:620px;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.franq h2{font-size:clamp(52px,7vw,96px)}
.franq h2 span{color:#fff;-webkit-text-stroke:0}
.franq p{margin:0;font-size:18px;font-weight:600;max-width:460px}

/* ============ FOOTER ============ */
.footer{background:var(--carbon);padding:70px clamp(16px,4vw,56px) 28px}
.footer__top{max-width:1320px;margin:0 auto;display:flex;gap:40px;justify-content:space-between;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid #2a2a2a}
.footer__top>img{width:130px;height:auto}
.footer__cols{display:flex;gap:clamp(30px,6vw,90px);flex-wrap:wrap}
.footer__cols div{display:flex;flex-direction:column;gap:8px;font-size:15px}
.footer__cols b{font-family:var(--anton);font-weight:400;font-size:20px;color:var(--mostaza);margin-bottom:4px}
.footer__cols a{text-decoration:none;color:#d9d3c6}
.footer__cols a:hover{color:var(--hueso)}
.footer__bottom{max-width:1320px;margin:22px auto 0;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:#8d877c}
.credit a{color:var(--hueso);font-weight:600;text-underline-offset:3px}
.credit a:hover{color:var(--mostaza)}


/* ============ INTRO (smash) ============ */
#intro{display:none}
html.intro{overflow:hidden}
html.intro #intro{display:block}
.intro{position:fixed;inset:0;z-index:200;background:var(--carbon);overflow:hidden}
.intro.out{animation:introUp .65s cubic-bezier(.7,0,.3,1) forwards}
@keyframes introUp{to{transform:translateY(-100%)}}
.intro__stage{position:absolute;left:50%;top:50%;width:600px;height:600px;margin:-300px 0 0 -300px;transform:scale(var(--s,1))}
.intro__ball{position:absolute;left:50%;top:300px;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#a0573a,#5c2a17 55%,#3a180b);animation:iFall .5s cubic-bezier(.55,0,1,.45) .15s both,iSmash .35s cubic-bezier(.2,.9,.3,1.2) .65s forwards}
@keyframes iFall{from{transform:translateY(-520px)}to{transform:none}}
@keyframes iSmash{0%{transform:none}40%{width:360px;height:46px;margin:-23px 0 0 -180px;border-radius:50%}100%{width:320px;height:58px;margin:-29px 0 0 -160px;border-radius:46% 46% 40% 40%;background:radial-gradient(ellipse at 50% 30%,#8a4529,#4a200f 70%)}}
.intro__drop{position:absolute;left:50%;top:300px;width:10px;height:10px;border-radius:50%;background:var(--mostaza);opacity:0;animation:iBurst .55s ease-out .65s forwards}
@keyframes iBurst{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}}
.intro__steam{position:absolute;left:50%;top:268px;width:6px;height:40px;margin-left:-3px;border-radius:6px;background:linear-gradient(transparent,rgba(255,255,255,.35));opacity:0;animation:iSteam 1.2s ease-out .85s forwards}
@keyframes iSteam{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(-80px) scaleX(2)}}
.intro__ched{position:absolute;left:50%;top:252px;width:230px;height:40px;margin-left:-115px;background:var(--mostaza);border-radius:6px 6px 18px 18px;opacity:0;animation:iChed .45s cubic-bezier(.2,.9,.3,1.2) 1.05s forwards}
.intro__ched::after{content:"";position:absolute;left:30px;bottom:-22px;width:24px;height:30px;background:var(--mostaza);border-radius:0 0 12px 12px;box-shadow:120px -4px 0 -3px var(--mostaza)}
@keyframes iChed{from{opacity:1;transform:translateY(-320px) rotate(-8deg)}to{opacity:1;transform:none}}
.intro__logo{position:absolute;left:50%;top:110px;width:260px;height:auto;margin-left:-130px;clip-path:inset(0 100% 0 0);animation:iWrite .7s ease-out 1.5s forwards}
@keyframes iWrite{to{clip-path:inset(0 0 0 0)}}
.intro__tag{position:absolute;left:0;right:0;top:410px;text-align:center;font-weight:800;letter-spacing:4px;font-size:13px;color:var(--cuero);opacity:0;animation:iFade .4s ease-out 1.95s forwards}
@keyframes iFade{to{opacity:1}}
.intro__skip{all:unset;cursor:pointer;position:absolute;right:20px;bottom:20px;font-size:13px;font-weight:800;color:var(--gris);padding:10px 14px;border-radius:99px;border:1.5px solid #333}
.intro__skip:hover{color:var(--hueso);border-color:var(--hueso)}
.intro__skip:focus-visible{outline:2px solid var(--mostaza);outline-offset:2px}
html.intro .hero *,html.intro .hero{animation-play-state:paused!important}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ============ RESPONSIVE ============ */

@media (max-width:1100px){
  .nav__links{position:fixed;inset:70px 0 auto 0;flex-direction:column;gap:0;background:rgba(13,13,13,.97);padding:10px 24px 26px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .25s,transform .3s var(--ease)}
  .nav__links.open{opacity:1;transform:none;pointer-events:auto}
  .nav__links a{font-family:var(--anton);font-size:30px;padding:10px 0;border-bottom:1px solid #222}
  .nav__links a::after{display:none}
  .burger{display:block}
  .nav{background:rgba(13,13,13,.92);height:70px}
  .hero{padding-bottom:70px}
  .hero__left,.hero__right{position:static;width:auto;max-width:560px;margin:0 auto;padding:0 20px;align-items:center;text-align:center}
  .hero__left{margin-top:18px}
  .hero__left img{display:none}
  .hero__right{flex-direction:row;flex-wrap:wrap;justify-content:center;margin-top:16px}
  .hero__right .eyebrow,.hero__right p{display:none}
}
@media (max-width:900px){
  .mes{grid-template-columns:1fr;padding-top:70px}
  .mes__copy{order:2;align-items:center;text-align:center}
  .historia__inner{grid-template-columns:1fr}
  .locales__maps,.locales__more{grid-template-columns:1fr}
  .locales__tabs{display:flex}
  .mapa.is-hidden{display:none}
  .mapa--ar{max-width:440px;margin:0 auto;width:100%}
  .locales__more .mx{position:static}
}
@media (max-width:760px){
  body{font-size:15px}
  .nav__countries{display:none}
  .nav .btn--sm{padding:10px 14px;font-size:13px}
  .nav__logo img{width:92px}
  .hero{min-height:auto;padding-top:96px}
  .hero__stage{width:144vw;margin-left:-22vw;margin-top:132px}
  .hero__title{top:-25.4cqw;font-size:20cqw;line-height:.82;white-space:normal;width:90cqw;text-align:center}
  .hero__title span{display:block}
  .hero__left p{font-size:15px}
  .hero__right{gap:10px}
  .hero__right .btn{flex:1;min-width:140px}
  .ticker{height:46px;top:-23px;transform:rotate(-2deg)}
  .ticker__track{font-size:22px;gap:18px}
  .ticker__track span{gap:18px}
  .ticker__track svg{width:16px;height:16px}
  .carta{padding-top:76px}
  .carta__glow{width:420px;margin-left:-210px;top:140px;height:240px}
  .carta__nav{display:none}
  .carta__name{gap:10px;max-width:100%}
  .carta__num{font-size:15px}
  .carta__moves{flex-direction:column;align-items:flex-start;font-size:16px;gap:8px;width:100%;max-width:340px}
  .carta__info{align-items:center}
  .carta__roster{justify-content:flex-start}
  .thumb{width:58px;height:58px}
  .mes{padding:56px 16px 120px}
  .mes__logo{width:110px}
  .mes__star{top:0;right:0}
  .historia__head p{font-size:16px}
  .galeria{padding-top:40px}
  .locales{padding:70px 16px}
  .card{grid-template-columns:1fr}
  .card .card__btns{grid-column:1;grid-row:auto;flex-direction:row}
  .mapa--amba{box-shadow:5px 5px 0 #121212}
  .franq{padding:70px 16px 90px}
  .franq__tri{width:100%;opacity:.18;-webkit-mask-image:none;mask-image:none}
  .footer__top{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
@media (max-width:760px){
  .mapa--amba .m-label{font-size:22px}
  .mapa--amba .m-label.big{font-size:26px}
  .mapa--amba .m-label.mid{font-size:22px}
  .mapa--amba .m-label.water{font-size:24px}
  .mapa--amba .m-label.small,.mapa--amba .m-label.road{font-size:17px}
}
