/* ============================================================
   El Legado · piezas propias
   Identidad: bordó #640718 (carta y menú) · blanco · oro #B8925A ·
   brasa #C2571A · pizarra de río #4E6E7E · tinta vino #2A0A10
   Tipografía: Cormorant Garamond (display, serif de la casa) + Inter
   ============================================================ */
:root{
  --rojo:#640718;--rojo-900:#3E0410;--rojo-700:#4F0613;--rojo-50:#F7ECEE;--rojo-100:#E8C9CF;
  --negro:#2A0A10;--negro-2:#3A1219;--negro-3:#4A1C24;
  --tinta:#1E1215;--tinta-70:#4A3B3F;--tinta-45:#6E6266;--tinta-25:#A39A97;
  --linea:#E9DDD8;--linea-fuerte:#D6C6C0;--fondo:#FAF6F3;--fondo-2:#F2EAE5;
  --amarillo:#B8925A;--amarillo-50:#F6EFE4;--naranja:#C2571A;--naranja-50:#FBEDE4;
  --azul:#4E6E7E;--azul-50:#EAF0F2;--verde:#4F7A4A;--verde-50:#EAF2E8;--ambar:#B8925A;--ambar-50:#F6EFE4;--violeta:#7A4A62;--violeta-50:#F3EAEF;
  --disp:"Cormorant Garamond","Libre Baskerville",Georgia,serif;
  --sombra-1:0 1px 2px rgba(42,10,16,.06),0 1px 3px rgba(42,10,16,.04);
  --sombra-2:0 6px 18px rgba(42,10,16,.08),0 1px 3px rgba(42,10,16,.05);
  --sombra-3:0 22px 50px rgba(42,10,16,.18),0 2px 8px rgba(42,10,16,.06);
}
body{background:var(--fondo)}
.g>*,.card,.lienzo-chart{min-width:0}

/* tipografía display serif: sin mayúsculas forzadas, un punto más grande */
.hub-cab h2{font-weight:600;text-transform:none;letter-spacing:.5px;font-size:52px}
.mod h3{text-transform:none;font-weight:600;font-size:27px;letter-spacing:.1px}
.kpi__val,.hoy__k b,.mod__kpis b,.hecho b,.pp__usd,.simu__res b,.simu__v,.hallazgo .num,.simu__o b{font-family:var(--disp);font-weight:700}
.pp h4{text-transform:none;font-weight:600;font-size:28px}
.top h1{font-family:var(--disp);font-weight:700;font-size:26px;letter-spacing:.2px}
.sec h2{font-family:var(--disp);font-weight:700;text-transform:none;font-size:26px}
.card__cab h3{letter-spacing:.1px}

/* ---------- gate ---------- */
.gate{background:radial-gradient(120% 90% at 50% 0%,#7A0C20 0%,#3E0410 55%,#1E0509 100%)}
.gate__bg i{background:linear-gradient(90deg,transparent,#E8C9CF 40%,#E8C9CF 60%,transparent);opacity:.06}
.gate__bg i:nth-child(2){background:linear-gradient(90deg,transparent,var(--amarillo) 40%,var(--amarillo) 60%,transparent);opacity:.07}
.gate__bg i:nth-child(3){background:linear-gradient(90deg,transparent,var(--naranja) 40%,var(--naranja) 60%,transparent);opacity:.05}
.gate__entrada{position:absolute;left:50%;bottom:-4%;width:min(980px,150vw);transform:translateX(-50%);opacity:0;pointer-events:none;animation:entradaIn 2.4s ease .3s forwards}
@keyframes entradaIn{to{opacity:.13}}
.gate__box{z-index:1}
.gate__logo{width:min(330px,72vw);filter:none;margin-bottom:18px}
.lg-gate{display:flex;flex-direction:column;align-items:center;gap:12px}
.lg-gate__logo{width:100%}
.lg-gate__logo img,.lg-gate__logo svg{width:100%;height:auto;display:block}
.lg-gate__logo svg.trazo path{fill:transparent;stroke:#fff;stroke-width:2.2;stroke-dasharray:var(--L);stroke-dashoffset:var(--L);animation:trazo 1.25s cubic-bezier(.6,0,.3,1) forwards,relleno .6s ease 1.25s forwards}
@keyframes trazo{to{stroke-dashoffset:0}}
@keyframes relleno{to{fill:#fff;stroke-width:0}}
.lg-gate__sub{font-family:var(--sans);font-size:11px;letter-spacing:5px;text-transform:uppercase;color:#E8C9CF;opacity:0;animation:subir .7s ease 1.5s forwards}
.gate__t{font-family:var(--disp);font-weight:600;text-transform:none;letter-spacing:1px;font-size:30px;color:#fff}
.gate__s,.gate__pre{color:#D9B8BF}
.gate__pie{color:#B89198}
.pin__cajas input{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.06);color:#fff}
.pin__cajas input:focus{border-color:var(--amarillo);box-shadow:0 0 0 3px rgba(184,146,90,.3)}
.pin__btn{background:#fff;color:var(--rojo)}
@media (prefers-reduced-motion:reduce){.lg-gate__logo svg.trazo path{animation:none;fill:#fff;stroke-width:0}}

/* ---------- boot y wipe ---------- */
.boot{background:radial-gradient(120% 90% at 50% 0%,#5A0616,#22060B)}
.boot__emb{width:min(260px,60vw);height:auto}
.boot__emb img{width:100%;height:auto;display:block}
.boot__lineas{color:#E8C9CF}
.boot__lineas b{color:#fff;font-family:var(--disp);font-size:1.15em}
.boot__barra i{background:var(--amarillo)}
.wipe{background:linear-gradient(120deg,var(--rojo),#3E0410)}
.wipe__emb{width:min(240px,50vw);height:auto}
.wipe__emb img{width:100%;height:auto;display:block}

/* ---------- shell ---------- */
.side{background:linear-gradient(180deg,#3E0410,#2A0A10)}
.marca__emb img{width:100%;height:100%;border-radius:9px;display:block;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.marca__txt strong{font-family:var(--disp);font-size:19px;font-weight:700;letter-spacing:.4px}
.nav__it{color:#E3CDD2}
.nav__it:hover{background:rgba(255,255,255,.07)}
.nav__it.on{background:rgba(184,146,90,.16)}
.nav__it.on::before{background:var(--amarillo)}
.nav__it .pin{background:var(--amarillo);color:#2A0A10}
.nav__it--tour{margin-top:10px;border:1px dashed rgba(232,201,207,.35);color:#E8C9CF}
.nav__rot{color:#B48A93}
.side__pie{color:#C9A9AF}
.side__pie b{color:#fff;font-family:var(--disp);font-size:15px}
.mod--dark{background:linear-gradient(150deg,#4F0613,#2A0A10)}
.mod--dark .mod__ico{background:rgba(184,146,90,.18);color:var(--amarillo)}
.mod--dark .mod__kpis{border-color:#5A2630}
.mod--dark .mod__ir{background:#5A2630}
.mod--dark p,.mod--dark .mod__kpis div{color:#D9B8BF}
.card--negro{background:linear-gradient(150deg,#3E0410,#2A0A10);border-color:#2A0A10}
.card--negro .card__cab p,.card--negro .card__pie{color:#D9B8BF;border-color:#5A2630}
.card--negro .feed__it{background:#4A1C24;border-color:#5A2630}.card--negro .feed__it span{color:#D9B8BF}
.card--negro .stack div{background:rgba(255,255,255,.06);border-color:#5A2630}
.card--negro .stack span{color:#D9B8BF}
.card--negro .card__cuerpo{color:#fff}
.plataforma>div{background:rgba(255,255,255,.06);border-color:#5A2630}
.plataforma .ic{background:rgba(184,146,90,.2);color:var(--amarillo)}
.plataforma span{color:#D9B8BF}
.pp--todo{background:linear-gradient(140deg,var(--rojo),#2A0A10)}
.pasos-precio--2{grid-template-columns:1.3fr 1fr}
.chip--amarillo{background:var(--amarillo-50);color:#6E5228;border-color:#E3D2B5}
.chip--naranja{background:var(--naranja-50);color:#8A3A10;border-color:#F0CDB6}
.tag--naranja{background:var(--naranja-50);color:#8A3A10}
.tag--amarillo,.tag--ambar{background:var(--amarillo-50);color:#6E5228}
.tag--verde{background:var(--verde-50);color:#2E5A2A}
.tag--azul{background:var(--azul-50);color:#34505E}
.kpi--amarillo::after,.kpi--ambar::after{background:var(--amarillo)}
.kpi--naranja::after{background:var(--naranja)}
.barra i.naranja{background:var(--naranja)}.barra i.amarillo{background:var(--amarillo)}
.hallazgo .sol{background:var(--rojo-50);color:var(--rojo-900)}
.rojo,.pie b.rojo{color:var(--rojo)}
.sel{font:inherit;font-size:12.5px;padding:8px 10px;border-radius:9px;border:1px solid var(--linea-fuerte);background:#fff;width:100%;color:var(--tinta)}
.seg--wrap{display:flex;flex-wrap:wrap;gap:2px}
.seg--col{display:flex;flex-direction:column;align-items:stretch;width:100%}
.seg--col button{text-align:left}
.tabla-env--alta{max-height:420px;overflow-y:auto}
.mono{font-family:var(--mono);font-size:12px}

/* ---------- hub: casona + fotos ---------- */
.hoy--legado{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-bottom:20px}
.hoy--legado>*{min-width:0}
.casona{background:linear-gradient(180deg,#FFFDFB,#F6EEEA);border:1px solid var(--linea);border-radius:var(--r-l);padding:16px;box-shadow:var(--sombra-1)}
.casona--mini{padding:8px;box-shadow:none}
.casona__cab{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.casona h3{margin:0 0 2px;font-size:13.5px;font-weight:700}
.casona p{margin:0;font-size:11.5px;color:var(--tinta-45)}
.casona__k{display:flex;gap:14px}
.casona__k span{font-size:11px;color:var(--tinta-45);text-align:center}
.casona__k b{display:block;font-family:var(--disp);font-size:24px;line-height:1;color:var(--rojo)}
.casona svg{width:100%;height:auto;display:block}
.casona .muro{fill:#fff;stroke:#D6C6C0;stroke-width:2}
.casona .muro--alta{fill:#FBF6F3}
.casona .planta{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:1.5px;fill:#9B8F8C}
.casona .sal{cursor:pointer}
.casona .sal__base{fill:#FBF7F5;stroke:#D6C6C0;stroke-width:1.5;transition:stroke .2s}
.casona .sal__ocup{opacity:.22;transform-box:fill-box;transform-origin:bottom;animation:llenar 1.1s cubic-bezier(.2,.8,.2,1) both}
.casona .sal:hover .sal__base,.casona .sal:focus .sal__base,.casona .sal.on .sal__base{stroke:var(--rojo);stroke-width:2.5}
.casona .sal.on .sal__ocup{opacity:.38}
.casona .sal__n{font-family:var(--disp);font-size:15px;font-weight:700;fill:var(--tinta)}
.casona .sal__s{font-family:var(--sans);font-size:10.5px;font-weight:600;fill:#6E6266}
.casona .area rect{fill:#F2EAE5;stroke:#D6C6C0;stroke-width:1.5}
.casona .area--cocina{cursor:pointer}
.casona .area--cocina rect{fill:#FBEDE4;stroke:#E9B79A}
.casona .banq{fill:#D6C6C0}
.casona .llama{fill:var(--naranja);transform-box:fill-box;transform-origin:bottom;animation:llama 1.1s ease-in-out infinite alternate}
.casona .plaza rect{fill:#EEF3EC;stroke:#C9D8C4;stroke-width:1.5}
.casona .onda{fill:none;stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:onda 2.4s ease-out infinite}
.casona .maceta circle{fill:#B9CDB2}.casona .maceta path{stroke:#4F7A4A;stroke-width:2;fill:none;stroke-linecap:round;transform-box:fill-box;transform-origin:bottom;animation:brisa 4s ease-in-out infinite}
.casona .calle{fill:#E7DDD8}
.casona .calle__t{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:3px;fill:#9B8F8C}
.casona .porton rect{fill:var(--rojo)}
.casona .paso{fill:var(--amarillo);stroke:#fff;stroke-width:1.5}
@keyframes llenar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes llama{from{transform:scaleY(.75) skewX(-4deg);opacity:.75}to{transform:scaleY(1.15) skewX(4deg);opacity:1}}
@keyframes onda{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@keyframes brisa{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}

.vitrina-legado{background:linear-gradient(160deg,#3E0410,#2A0A10);border-radius:var(--r-l);padding:16px;color:#fff;display:flex;flex-direction:column}
.vitrina-legado h3{margin:0 0 2px;font-size:13.5px;font-weight:700;color:#fff}
.vitrina-legado p{margin:0 0 10px;font-size:11.5px;color:#D9B8BF}
.foto-mosaico{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;flex:1;min-height:300px}
.foto-mosaico figure{margin:0;position:relative;overflow:hidden;border-radius:10px;min-width:0;min-height:0}
.foto-mosaico figure.alta{grid-row:1/3}
.foto-mosaico img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;animation:fotoIn .8s ease both}
.foto-mosaico figure:nth-child(2) img{animation-delay:.1s}.foto-mosaico figure:nth-child(3) img{animation-delay:.2s}.foto-mosaico figure:nth-child(4) img{animation-delay:.3s}.foto-mosaico figure:nth-child(5) img{animation-delay:.4s}
.foto-mosaico figure:hover img{transform:scale(1.06)}
.foto-mosaico figcaption{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;font-size:10.5px;line-height:1.3;color:#fff;background:linear-gradient(transparent,rgba(30,5,9,.85));opacity:0;transition:opacity .25s}
.foto-mosaico figure:hover figcaption,.foto-mosaico figure.alta figcaption{opacity:1}
.foto-mosaico figcaption small{display:block;color:#D9B8BF;font-size:9.5px}
@keyframes fotoIn{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}

/* ---------- diagnóstico ---------- */
.viaje{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;position:relative;padding-top:6px}
.viaje__p{position:relative;z-index:1;background:#fff;border:1px solid var(--linea);border-radius:12px;padding:12px;min-width:0;animation:modIn .5s ease both;animation-delay:calc(var(--i) * .12s)}
.viaje__n{width:28px;height:28px;border-radius:50%;background:var(--rojo);color:#fff;display:grid;place-items:center;font-family:var(--disp);font-weight:700;font-size:16px;margin-bottom:8px}
.viaje__p:nth-child(n+3) .viaje__n{background:var(--naranja)}
.viaje__p b{display:block;font-size:13px}
.viaje__p small{display:block;font-size:11px;color:var(--rojo);font-weight:600;margin:2px 0 4px}
.viaje__p span{font-size:11.5px;color:var(--tinta-45);line-height:1.4;display:block}
.viaje__linea{position:absolute;left:0;right:0;top:20px;width:100%;height:10px;z-index:0}
.viaje__linea path{stroke:var(--rojo-100);stroke-width:3;fill:none;stroke-dasharray:8 8;animation:ruta 1.4s linear infinite}
.barrio svg{width:100%;height:auto;display:block;border-radius:12px}
.barrio .b-calle{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:2.5px;fill:#9B8F8C}
.barrio .b-n{font-family:var(--disp);font-size:16px;font-weight:700;fill:var(--tinta)}
.barrio .b-s{font-family:var(--sans);font-size:10px;fill:#6E6266}
.barrio .b-n--b,.barrio .b-s--b{fill:#fff}
.barrio .b-halo{fill:none;stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:onda 2.2s ease-out infinite}
.barrio .b-ruta{fill:none;stroke:var(--amarillo);stroke-width:3;stroke-dasharray:6 8;animation:ruta 1.6s linear infinite}
.barrio .b-ruta--2{stroke:var(--rojo);opacity:.5}
.barrio .auto{fill:var(--rojo);animation:auto 4s ease-in-out infinite}
@keyframes auto{0%,100%{transform:translateX(0)}50%{transform:translateX(115px)}}
@keyframes ruta{to{stroke-dashoffset:-32}}

/* ---------- mesa ---------- */
.sala-env{display:grid;place-items:center;background:var(--fondo);border-radius:14px;padding:6px}
.sala-svg{width:100%;max-height:360px;height:auto;display:block}
.sala-svg__piso{fill:#FFFDFB;stroke:#E2D4CE;stroke-width:1.5}
.sala-svg__piso--patio{fill:#F1F5EF;stroke:#CFDCCA}
.mesa-g{cursor:pointer}
.mesa-svg{stroke-width:2.5;transition:fill .3s,stroke .3s}
.mesa-svg--libre{fill:#fff;stroke:#CDBDB6}
.mesa-svg--res{fill:var(--amarillo-50);stroke:var(--amarillo)}
.mesa-svg--ocup{fill:var(--rojo);stroke:var(--rojo)}
.mesa-svg--pago{fill:var(--naranja-50);stroke:var(--naranja);animation:pulsoMesa 1.6s ease-in-out infinite}
.mesa-g:hover .mesa-svg{stroke-width:4}
.mesa-svg__t{font-family:var(--disp);font-weight:700;font-size:15px;fill:var(--tinta);pointer-events:none}
.mesa-g .mesa-svg--ocup+.mesa-svg__t{fill:#fff}
.silla{fill:#EDE3DE;transition:fill .3s}
.silla--on{fill:#B48A93}
@keyframes pulsoMesa{0%,100%{stroke-width:2.5}50%{stroke-width:5}}
.leyenda-mesas{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:11.5px;color:var(--tinta-45)}
.leyenda-mesas i{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:5px;vertical-align:-2px;border:2px solid}
.leyenda-mesas .ocup{background:var(--rojo);border-color:var(--rojo)}.leyenda-mesas .pago{background:var(--naranja-50);border-color:var(--naranja)}.leyenda-mesas .res{background:var(--amarillo-50);border-color:var(--amarillo)}.leyenda-mesas .libre{background:#fff;border-color:#CDBDB6}
.flujo-l{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;position:relative;padding-top:4px}
.flujo-l__p{position:relative;z-index:1;text-align:center;background:#fff;border:1px solid var(--linea);border-radius:14px;padding:12px 8px;min-width:0;animation:modIn .5s ease both;animation-delay:calc(var(--i) * .12s)}
.flujo-l__p .ic{width:40px;height:40px;border-radius:50%;margin:0 auto 8px;background:var(--rojo-50);color:var(--rojo);display:grid;place-items:center;animation:latido 6s ease-in-out infinite;animation-delay:calc(var(--i) * 1s)}
.flujo-l__p .ic svg{width:20px;height:20px}
.flujo-l__p b{display:block;font-family:var(--disp);font-size:18px}
.flujo-l__p span{font-size:11px;color:var(--tinta-45);line-height:1.35;display:block}
.flujo-l__svg{position:absolute;left:0;right:0;top:26px;width:100%;height:40px;z-index:0;overflow:visible}
.flujo-l__svg path{stroke:var(--rojo-100);stroke-width:3;fill:none;stroke-dasharray:6 8}
.fl-bola{fill:var(--amarillo);stroke:#fff;stroke-width:2}
@keyframes latido{0%,12%,100%{background:var(--rojo-50);color:var(--rojo);transform:none}5%{background:var(--rojo);color:#fff;transform:scale(1.12)}}

/* ---------- cocina ---------- */
.kds{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.kds__t{background:#fff;border:1px solid var(--linea);border-left:4px solid var(--linea-fuerte);border-radius:10px;padding:10px 12px;opacity:.5;transition:opacity .3s,transform .3s,border-color .3s;animation:modIn .45s ease both;animation-delay:calc(var(--i) * .08s);min-width:0}
.kds__t.on{opacity:1;border-left-color:var(--rojo);transform:translateY(-2px);box-shadow:var(--sombra-2)}
.kds__t.tarde{border-left-color:var(--naranja)}
.kds__cab{display:flex;justify-content:space-between;gap:8px}
.kds__cab b{font-size:12.5px}
.kds__cab span{font-family:var(--disp);font-weight:700;font-size:18px;color:var(--rojo)}
.kds__t.tarde .kds__cab span{color:var(--naranja)}
.kds__t ul{margin:6px 0;padding-left:16px;font-size:12px;line-height:1.5}
.kds__barra{height:4px;border-radius:4px;background:var(--fondo-2);overflow:hidden}
.kds__barra i{display:block;height:100%;background:var(--rojo);animation:kdsBar 2s ease both}
.kds__t.tarde .kds__barra i{background:var(--naranja)}
.kds__t small{display:block;margin-top:6px;font-size:10.5px;color:var(--tinta-45)}
@keyframes kdsBar{from{width:0}}
.parrilla{width:100%;height:auto;display:block}
.parrilla .brasa{animation:brasa 1.6s ease-in-out infinite alternate}
.parrilla .humo{fill:none;stroke:rgba(255,255,255,.35);stroke-width:5;stroke-linecap:round;animation:humo 3s ease-out infinite}
.parrilla .corte{animation:chispa 2.4s ease-in-out infinite}
.parrilla .corte--2{animation-delay:1.2s}
.parrilla .corte__t{font-family:var(--disp);font-size:16px;font-weight:700;fill:#E8C9CF}
@keyframes brasa{from{opacity:.55}to{opacity:1}}
@keyframes humo{0%{transform:translateY(20px);opacity:0}30%{opacity:.8}100%{transform:translateY(-40px);opacity:0}}
@keyframes chispa{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.parrilla__pie{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.parrilla__pie div{background:rgba(255,255,255,.06);border:1px solid #5A2630;border-radius:10px;padding:10px;display:flex;gap:10px;align-items:center}
.parrilla__pie b{font-family:var(--disp);font-size:30px;line-height:1;color:var(--amarillo)}
.parrilla__pie span{font-size:11px;color:#D9B8BF;line-height:1.35}

/* ---------- carta viva: celular ---------- */
.cel-g{align-items:start}
.cel{width:300px;max-width:100%;height:600px;margin:0 auto;border-radius:40px;background:#FFFDFB;border:10px solid #1E0509;box-shadow:var(--sombra-3);position:relative;overflow:hidden;display:flex;flex-direction:column}
.cel__notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:110px;height:22px;background:#1E0509;border-radius:0 0 14px 14px;z-index:2}
.cel__top{background:var(--rojo);padding:30px 0 12px;display:grid;place-items:center}
.cel__top img{width:110px;height:auto}
.cel__pant{flex:1;overflow-y:auto;padding:0 14px 14px}
.cel__secs{display:flex;gap:6px;overflow-x:auto;padding:10px 0;position:sticky;top:0;background:#FFFDFB;z-index:1;scrollbar-width:none}
.cel__secs::-webkit-scrollbar{display:none}
.cel__secs button{flex:0 0 auto;font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;border:1px solid var(--linea-fuerte);color:var(--tinta-70);white-space:nowrap}
.cel__secs button.on{background:var(--rojo);border-color:var(--rojo);color:#fff}
.cel__cat{margin:4px 0 6px;animation:lienzoIn .35s ease both}
.cel__cat h4{margin:0;font-family:var(--disp);font-size:24px;color:var(--rojo);font-weight:700}
.cel__cat small{font-size:11px;color:var(--tinta-45);font-style:italic}
.cel__it{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px dotted var(--linea-fuerte);animation:lienzoIn .4s ease both}
.cel__it b{display:block;font-family:"Libre Baskerville",Georgia,serif;font-size:12px;font-weight:400;color:var(--rojo-900)}
.cel__it span{display:block;font-size:10.5px;color:var(--tinta-45);font-style:italic;line-height:1.35;margin-top:2px}
.cel__it em{font-style:normal;font-size:11.5px;font-weight:700;color:var(--rojo);white-space:nowrap}
.cel__pie{margin-top:12px;border:1px solid var(--rojo-100);padding:8px;font-size:9.5px;letter-spacing:.8px;text-transform:uppercase;text-align:center;color:var(--rojo)}
.antes-desp{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.antes-desp>div{border-radius:12px;padding:12px 14px;background:var(--fondo);border:1px solid var(--linea);min-width:0}
.antes-desp>div:last-child{background:var(--rojo-50);border-color:var(--rojo-100)}
.antes-desp small{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--tinta-45)}
.antes-desp ul{margin:6px 0 0;padding-left:16px;font-size:12.5px;line-height:1.6}

/* ---------- bodega ---------- */
.maridaje{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}
.maridaje__copa{display:grid;place-items:center}
.copa-svg{width:120px;height:auto;display:block;filter:drop-shadow(0 10px 20px rgba(0,0,0,.35))}
.copa-svg .vino{animation:servir 1.4s cubic-bezier(.2,.8,.2,1) both;transform-box:fill-box;transform-origin:bottom}
.copa-svg .ola{animation:ola 2.6s ease-in-out infinite}
@keyframes servir{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes ola{0%,100%{transform:translateX(0)}50%{transform:translateX(-8px)}}
.maridaje__der{display:grid;gap:12px;min-width:0}
.maridaje__res{background:rgba(255,255,255,.07);border:1px solid #5A2630;border-radius:12px;padding:14px;animation:lienzoIn .4s ease both}
.maridaje__res small{display:block;font-size:11px;color:#D9B8BF;text-transform:uppercase;letter-spacing:.8px}
.maridaje__res b{display:block;font-family:var(--disp);font-size:34px;line-height:1.1;color:#fff;margin:2px 0}
.maridaje__res span{font-size:12px;color:var(--amarillo)}
.maridaje p{margin:0;font-size:12px;color:#D9B8BF;line-height:1.55}

/* ---------- eventos ---------- */
.tour{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:start}
.tour img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px;display:block}
.tour__p{font-family:var(--disp);font-weight:700;font-size:34px;line-height:1;color:var(--rojo)}
.tour__p small{display:block;font-family:var(--sans);font-size:11px;font-weight:500;color:var(--tinta-45);margin-top:2px}
.tour p{margin:8px 0 0;font-size:12.5px;line-height:1.55;color:var(--tinta-70)}
.tour__f{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.tour__f span{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--fondo-2);color:var(--tinta-45)}
.tour__f span.on{background:var(--naranja);color:#fff;animation:pulsoMesa 1.6s ease-in-out infinite}
.cal__c.hoy{border-color:var(--rojo)}
.cal__e{background:var(--rojo-50);color:var(--rojo-900)}
.cal__e.na{background:var(--naranja);color:#fff}
.cal__e.am{background:var(--amarillo-50);color:#6E5228}
.cal__e.az{background:var(--azul-50);color:#34505E}

/* ---------- huéspedes ---------- */
.embudo{display:flex;flex-direction:column;align-items:center;gap:6px}
.embudo__p{width:var(--w);min-width:200px;max-width:100%;background:linear-gradient(90deg,var(--rojo),#8E2A3A);color:#fff;border-radius:10px;padding:9px 14px;display:flex;align-items:baseline;gap:10px;animation:modIn .6s ease both;animation-delay:calc(var(--i) * .1s)}
.embudo__p b{font-family:var(--disp);font-size:24px;font-weight:700}
.embudo__p>span{font-size:12px;opacity:.95;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.embudo__p em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;background:rgba(255,255,255,.2);padding:1px 7px;border-radius:999px}
.wa-mini{display:flex;flex-direction:column;gap:10px;background:#ECE5DD;border-radius:16px;padding:0 0 12px;overflow:hidden}
.wa-mini__top{display:flex;align-items:center;gap:10px;background:var(--rojo);color:#fff;padding:10px 14px}
.wa-mini__top img{width:32px;height:32px;border-radius:8px}
.wa-mini__top b{display:block;font-size:13px}.wa-mini__top span{font-size:11px;color:#E8C9CF}
.wa-mini__log{display:flex;flex-direction:column;gap:6px;padding:4px 12px;height:270px;overflow-y:auto;scroll-behavior:smooth}
.wa-mini .wa-m{font-size:12px;max-width:88%}
.wa-mini .btn{align-self:center}
.fechas{display:flex;flex-direction:column;gap:8px}
.fecha{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--linea);border-radius:12px;background:#fff;animation:modIn .45s ease both;animation-delay:calc(var(--i) * .08s)}
.fecha__ic{width:40px;height:40px;border-radius:12px;background:var(--rojo-50);color:var(--rojo);display:grid;place-items:center}
.fecha__ic.an{background:var(--amarillo-50);color:#8A6A3A}.fecha__ic.em{background:var(--azul-50);color:var(--azul)}
.fecha__ic svg{width:20px;height:20px}
.fecha__ic .vela{fill:var(--naranja);stroke:var(--naranja);transform-box:fill-box;transform-origin:bottom;animation:llama .9s ease-in-out infinite alternate}
.fecha b{display:block;font-size:13px}
.fecha span{display:block;font-size:11.5px;color:var(--tinta-45)}
.fecha em{display:block;font-style:normal;font-size:12px;color:var(--rojo);margin-top:2px}

/* ---------- tour y asistente con la marca ---------- */
.tour-card{border-top:4px solid var(--rojo)}
.tour-card h4{font-family:var(--disp);font-size:22px}
.as-fab{background:var(--rojo)}
.as-cab{background:var(--rojo)}

/* ---------- móvil y anchos intermedios ---------- */
@media (max-width:1180px){.hoy--legado{grid-template-columns:1fr}.pasos-precio--2{grid-template-columns:1fr}.viaje,.flujo-l{grid-template-columns:repeat(3,1fr)}.viaje__linea,.flujo-l__svg{display:none}.kds{grid-template-columns:repeat(2,1fr)}}
@media (max-width:820px){
  .hub-cab h2{font-size:40px}
  .viaje,.flujo-l{grid-template-columns:repeat(2,1fr)}
  .kds{grid-template-columns:1fr}
  .antes-desp{grid-template-columns:1fr}
  .maridaje{grid-template-columns:1fr}
  .tour{grid-template-columns:1fr}.tour img{aspect-ratio:16/9}
  .foto-mosaico{grid-template-columns:1fr 1fr;grid-template-rows:none;min-height:0}
  .foto-mosaico figure{aspect-ratio:4/3}
  .foto-mosaico figure.alta{grid-row:auto;grid-column:1/-1;aspect-ratio:16/10}
  .casona__k{width:100%;justify-content:space-between}
  .fecha{grid-template-columns:36px 1fr}.fecha>.tag{grid-column:2;justify-self:start}
  .hallazgo{grid-template-columns:40px 1fr}.hallazgo>div:last-child{grid-column:2;text-align:left!important;min-width:0!important}
  .mod__kpis{padding-right:44px}
}
@media (prefers-reduced-motion:reduce){.casona *,.parrilla *,.barrio *,.copa-svg *{animation:none!important}}

/* números alineados en la serif display */
body,svg text{font-variant-numeric:lining-nums}
.casona__k b{font-size:26px;font-weight:700}

/* botón fijo del recorrido, a la izquierda del Asistente */
.tour-fab{position:fixed;right:168px;bottom:22px;z-index:60;display:flex;align-items:center;gap:8px;padding:12px 18px 12px 14px;border-radius:999px;background:#fff;color:var(--rojo);border:1.5px solid var(--rojo-100);font-weight:700;font-size:13px;box-shadow:0 12px 30px rgba(42,10,16,.18);transition:transform .2s;animation:fabIn .6s cubic-bezier(.2,.8,.2,1) 1.4s both}
.tour-fab:hover{transform:translateY(-2px)}
.tour-fab svg{width:18px;height:18px}
body:has(.gate:not(.off)) .tour-fab,body:has(.gate:not(.off)) .as-fab,body.tour-on .tour-fab{display:none}
@media (max-width:820px){.tour-fab{right:22px;bottom:80px;padding:10px 14px}}
.tour-invita__emb{width:150px;height:auto;margin:0 auto 10px}
.tour-invita__emb img{width:100%;height:auto;display:block;border-radius:14px}
.casona__k b span{font-size:inherit;color:inherit}
