@font-face{font-family:Manrope;src:url('assets/fonts/manrope-variable.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}
:root{--fondo:#111820;--fondo-2:#0C1117;--panel:#1B2530;--panel-alto:#24313E;--crema:#F5F1EA;--crema-2:#C1CBD4;--gris:#A3AFBA;--borde:#3B4C5D;--borde-control:#718293;--rojo:#BF0C1A;--azul:#1B3A6B;--cobre:#EDB375;--cobre-alto:#FFD0A0;--pista:#B9824C;--verde:#286B4D;--verde-hover:#215D42;--cab:76px;--barra:84px;--ficha:304px;font-family:Manrope,system-ui,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--fondo);scrollbar-color:var(--borde-control) var(--panel)}
body{min-height:100vh;min-height:100svh;background:var(--fondo);color:var(--crema);font-family:Manrope,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}
button,a,input{touch-action:manipulation}button{font:inherit}a{color:inherit}img{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--cobre-alto);outline-offset:4px;border-radius:10px}
.cab{height:var(--cab);flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;border-bottom:1px solid var(--borde)}
.marca{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;border-radius:10px}.marca img{width:44px;height:44px;border-radius:10px;flex:none}
.marca h1{margin:0;font-size:17px;font-weight:750;line-height:1.3;letter-spacing:-.045em}.marca p{margin:4px 0 0;font-size:11px;font-weight:500;line-height:1.4;color:var(--crema-2)}.marca:hover h1{color:var(--cobre-alto)}
.cab-cta{display:none;gap:10px}.cab-cta a,.barra a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:11px 20px;font-size:14px;line-height:1.3;font-weight:750;text-decoration:none;border:1px solid var(--borde-control);border-radius:13px;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}
.cab-cta .wa,.barra .wa{background:var(--verde);border-color:transparent;color:#fff}.cab-cta .wa:hover,.barra .wa:hover{background:var(--verde-hover)}.cab-cta .tel:hover,.barra .tel:hover{background:var(--panel-alto);border-color:var(--cobre)}.cab-cta a:active,.barra a:active{transform:translateY(1px)}
.tablero{position:relative}.maqueta{position:relative;margin:0 auto;width:var(--maq,100vw);aspect-ratio:1}.maqueta img{width:100%;height:100%;object-fit:cover;border-radius:24px}
.alaweb{position:absolute;left:29%;top:32%;width:46%;height:42%;z-index:6;display:block;border-radius:12px;clip-path:polygon(14% 0,88% 0,88% 65%,100% 65%,100% 100%,0 100%,0 65%,14% 65%)}
.alaweb span{position:absolute;left:80%;top:0;width:27px;height:27px;border:1px solid var(--cobre);background:var(--fondo-2);color:var(--cobre-alto);border-radius:50%;display:grid;place-items:center;font-size:16px;line-height:1;transition:background-color .18s ease,transform .18s ease}.alaweb:hover span{background:var(--panel-alto);transform:translate(1px,-1px)}.alaweb:focus-visible{outline:3px solid var(--cobre-alto);outline-offset:-4px}
.js .sin-js{display:none}.red{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:8;overflow:visible}.pista{fill:none;stroke:var(--pista);stroke-width:1.5;stroke-linejoin:round}.pulso{fill:none;stroke:var(--cobre-alto);stroke-width:2;stroke-linejoin:round}.via{fill:var(--fondo-2);stroke:var(--cobre);stroke-width:1.5}
.punto{position:absolute;left:var(--x);top:var(--y);width:44px;height:44px;padding:0;transform:translate(-50%,-50%);border:0;background:transparent;cursor:pointer;z-index:9;border-radius:50%;display:grid;place-items:center}
.punto::before{content:'';width:14px;height:14px;border:2px solid var(--cobre-alto);background:var(--fondo-2);border-radius:50%;box-shadow:0 0 0 3px rgba(12,17,23,.45);transition:transform .18s ease,background-color .18s ease}.punto:hover::before,.punto:focus-visible::before{transform:scale(1.25);background:var(--cobre)}.punto[aria-pressed=true]::before{background:var(--cobre-alto);border-color:var(--fondo-2);box-shadow:0 0 0 2px var(--cobre-alto),0 0 0 5px rgba(12,17,23,.7)}.punto:focus-visible{outline:2px solid var(--cobre-alto);outline-offset:0}
.catalogo{list-style:none;margin:0;padding:24px 18px;display:grid;gap:28px}.catalogo>li{border-top:1px solid var(--borde);padding-top:20px}.catalogo .cat{margin:0;padding-right:30px;font-size:12px;font-weight:750;letter-spacing:.02em;color:var(--cobre)}.catalogo h2{margin:7px 0 15px;padding-right:28px;font-size:23px;font-weight:750;line-height:1.22;letter-spacing:-.045em}
.catalogo ul{margin:0;padding:0;list-style:none}.catalogo ul li{position:relative;padding-left:14px;margin:0 0 9px;font-size:14px;line-height:1.6;color:var(--crema-2)}.catalogo ul li::before{content:'';position:absolute;left:0;top:.7em;width:4px;height:4px;background:var(--cobre);border-radius:50%}
.catalogo .pedir{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:16px;padding:11px 14px;background:var(--cobre);border:1px solid transparent;border-radius:12px;color:var(--fondo-2);font-size:13px;font-weight:800;line-height:1.4;text-decoration:none;transition:background-color .16s ease,transform .16s ease}.catalogo .pedir:hover{background:var(--cobre-alto)}.catalogo .pedir:active{transform:translateY(1px)}
.sin-js{padding:0 18px;color:var(--crema-2);font-size:14px}.sr-solo{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.guia,.mando,.cerrar{display:none}
.js .escena{display:flex;flex-direction:column;height:100vh;height:100svh;overflow:hidden}.js .tablero{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.js .maqueta{flex:0 0 auto;margin:auto}.js .banda{flex:0 0 auto;height:var(--banda,280px);position:relative;z-index:12}
.js .catalogo{position:absolute;inset:0 16px 84px;padding:0;display:block;background:var(--panel);border:1px solid var(--borde);border-radius:20px;overflow:visible}.js .catalogo>li{display:none;border:0;padding:18px 20px;height:100%;min-height:0}.js .catalogo>li.viva{display:flex;flex-direction:column}.js .catalogo .cat,.js .catalogo h2{flex:0 0 auto}.js .catalogo .detalle{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.js .catalogo .detalle>ul{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}.js .catalogo .pedir{flex:0 0 auto}
.cerrar{position:fixed;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--crema-2);border-radius:12px;font-size:17px;cursor:pointer;z-index:20}.cerrar:hover{background:var(--fondo-2);color:var(--crema)}
.js .guia{position:absolute;inset:20px 24px auto;display:grid;gap:8px;margin:0;text-align:center}.js .guia b{font-size:22px;font-weight:750;letter-spacing:-.045em;line-height:1.25}.js .guia span{font-size:13px;line-height:1.6;color:var(--crema-2)}.js .abierta .guia,.js .cerrada .catalogo{display:none}
.js .mando{position:absolute;inset:auto 16px 0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:48px 24px;gap:4px 8px;height:76px;align-items:center}.mando button{height:44px;padding:0;cursor:pointer;border:1px solid var(--borde-control);border-radius:12px;background:var(--fondo-2);color:var(--crema);font-weight:650}.mando button[data-p]{font-size:25px;line-height:1}.mando button:hover{background:var(--panel-alto);border-color:var(--cobre)}
.mando .selector{display:flex;align-items:center;gap:10px;min-width:0;width:100%;padding:0 12px;text-align:left;font-size:12px}.selector-nombre{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mando .cuenta{font-size:10px;font-weight:600;letter-spacing:.03em;color:var(--gris);white-space:nowrap}.mando .todos{grid-column:1/-1;justify-self:center;text-decoration:none;font-size:11px;color:var(--crema-2);text-underline-offset:4px}.mando .todos:hover{text-decoration:underline;color:var(--cobre-alto)}
.barra{display:flex;flex:0 0 auto;align-items:center;gap:10px;height:var(--barra);padding:13px 16px max(13px,env(safe-area-inset-bottom));border-top:1px solid var(--borde)}.barra a{flex:1;min-height:48px;font-size:14px}.pie{padding:22px 18px;font-size:12px;color:var(--crema-2);border-top:1px solid var(--borde)}.pie p{margin:0}.pie b{font-weight:650;color:var(--crema)}.js .pie{display:none}
.servicios-menu{width:min(680px,calc(100vw - 32px));max-height:calc(100svh - 48px);padding:0;border:1px solid var(--borde-control);border-radius:24px;background:var(--fondo);color:var(--crema);overflow:hidden}.servicios-menu::backdrop{background:rgba(5,9,14,.78);backdrop-filter:blur(5px)}.menu-cab{display:flex;align-items:center;gap:12px;padding:20px 22px;border-bottom:1px solid var(--borde)}.menu-cab h2{flex:1;margin:0;font-size:22px;font-weight:750;line-height:1.25;letter-spacing:-.04em}.menu-cerrar{flex:none;width:44px;height:44px;padding:0;border:1px solid var(--borde-control);border-radius:12px;background:transparent;color:var(--crema);cursor:pointer;font-size:18px}
.menu-lista{max-height:calc(100svh - 240px);overflow-y:auto;list-style:none;margin:0;padding:8px 12px;scrollbar-width:thin}.menu-lista button{display:flex;align-items:center;gap:14px;min-height:55px;width:100%;padding:13px 12px;background:transparent;color:var(--crema);border:0;border-bottom:1px solid var(--borde);border-radius:10px;text-align:left;font-size:14px;font-weight:650;cursor:pointer;line-height:1.4}.menu-lista button:hover,.menu-lista button[aria-current=true]{background:var(--panel)}.menu-lista button[aria-current=true]{color:var(--cobre-alto)}.menu-numero{flex:none;font-size:11px;color:var(--gris);font-variant-numeric:tabular-nums}.menu-pie{padding:12px 22px 18px;border-top:1px solid var(--borde)}.menu-recorrido{width:100%;min-height:44px;background:var(--panel);border:1px solid var(--borde-control);border-radius:12px;color:var(--crema);font-size:13px;font-weight:650;cursor:pointer}.menu-recorrido:hover{background:var(--panel-alto)}
@media(max-width:359px){.cab{padding:0 14px}.marca{gap:10px}.marca h1{font-size:15px}.marca p{font-size:10px}.catalogo h2{font-size:20px}.js .catalogo>li{padding:16px}.mando .selector{padding:0 8px;gap:6px;font-size:11px}.mando .cuenta{font-size:9px}}
@media(max-height:720px){:root{--cab:68px;--barra:74px}.catalogo h2{font-size:20px;margin-bottom:10px}.catalogo ul li{font-size:13px;line-height:1.5;margin-bottom:7px}.catalogo .pedir{min-height:44px;margin-top:10px;font-size:12px}.js .catalogo>li{padding:14px 17px}.js .guia{top:12px}.js .guia b{font-size:19px}}
@media(min-width:1200px){:root{--cab:92px}.cab{padding:0 40px}.marca{gap:15px}.marca img{width:50px;height:50px;border-radius:12px}.marca h1{font-size:20px}.marca p{font-size:12px}.cab-cta{display:flex}.barra{display:none}.js .banda{position:static;height:0}.js .catalogo{position:fixed;inset:auto;width:var(--ficha);height:auto;max-height:calc(100svh - 170px);z-index:16}.js .catalogo>li.viva{height:auto;padding:22px}.js .catalogo .detalle>ul{max-height:35svh;flex:0 1 auto}.js .guia{inset:auto 0 112px;z-index:14;text-shadow:0 2px 6px var(--fondo-2)}.js .guia b{font-size:24px}.js .guia span{font-size:13px}.js .mando{inset:auto 0 16px;width:390px;margin:0 auto;height:84px;grid-template-rows:48px 24px;padding:4px 10px;background:var(--fondo-2);border:1px solid var(--borde);border-radius:16px;z-index:14}.mando .selector{font-size:12px}.js .pie{display:block;padding:17px 32px;font-size:11px;text-align:center}}
@media(max-width:699px) and (max-height:500px){.js .escena{min-height:540px;height:540px;overflow:visible}}
@media(min-width:700px) and (max-width:1199px) and (max-height:500px){:root{--cab:60px;--barra:64px}.js .tablero{flex-direction:row;align-items:center}.js .banda{flex:0 0 46%;height:100%}.js .catalogo{inset:8px 12px 84px}.js .catalogo>li{padding:12px 14px}.catalogo h2{font-size:18px;margin-bottom:7px}.catalogo .cat{font-size:11px}.catalogo ul li{font-size:12px}.js .guia{inset:30% 16px auto}.js .mando{left:12px;right:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pulso{display:none}}

/* El texto de ayuda no intercepta los puntos y queda junto a la maqueta. */
.js .guia{pointer-events:none}
.js .escena{padding-bottom:var(--barra)}
.js .barra{position:fixed;inset:auto 0 0;z-index:30;background:var(--fondo)}
@media(max-width:699px) and (max-height:650px){.js .escena{min-height:720px;height:720px;overflow:visible}}
@media(min-width:1200px){.js .escena{padding-bottom:0}.js .guia{inset:50% auto auto max(24px,calc(50% - var(--maq)/2 - var(--ficha) - 34px));width:280px;transform:translateY(-50%);text-align:left;gap:14px;text-shadow:none}.js .guia b{font-size:28px}.js .guia span{font-size:14px}}

@media(prefers-reduced-motion:reduce){.menu-pie{display:none}}

/* Dirección editorial: escena, luz y tipografía de la web de Diego Miguel. */
@font-face{font-family:DMDisplay;src:url('assets/fonts/melodrama-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
:root{--fondo:#11171D;--fondo-2:#0C1116;--panel:#1A232B;--crema:#F4EBDE;--crema-2:#C9C4BB;--gris:#B5B0A8;--cobre:#E6B27A;--cobre-alto:#F8D1A5;--borde:rgba(244,235,222,.19)}
body{background:radial-gradient(ellipse at 56% 42%,rgba(124,88,52,.10),transparent 58%),var(--fondo)}
.cab{border-bottom-color:rgba(244,235,222,.10)}
.marca h1{font-weight:650;letter-spacing:-.035em}.marca p{font-size:10px;letter-spacing:.04em;color:var(--crema-2)}
.marca img{width:40px;height:40px;border-radius:9px}
.cab-cta a{border-color:rgba(244,235,222,.26);border-radius:999px;min-height:46px}
.cab-cta .wa,.barra .wa{background:#286B4D}
.tour-toggle{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid rgba(244,235,222,.26);border-radius:50%;background:transparent;color:var(--crema);cursor:pointer;padding:12px}
.tour-toggle svg{display:block;width:16px;height:16px;fill:currentColor}.tour-toggle .play{display:none}.tour-toggle[data-playing=false] .pause{display:none}.tour-toggle[data-playing=false] .play{display:block}.tour-toggle:hover{background:var(--panel);border-color:var(--cobre)}
.tour-toggle:active{transform:scale(.96)}
.pieza-visual{position:absolute;inset:0;border-radius:18px;overflow:hidden;-webkit-mask-image:radial-gradient(ellipse at 50% 48%,#000 72%,rgba(0,0,0,.88) 83%,transparent 100%);mask-image:radial-gradient(ellipse at 50% 48%,#000 72%,rgba(0,0,0,.88) 83%,transparent 100%)}
.pieza-visual img{border-radius:0}
.maqueta video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;opacity:0;transition:opacity .65s ease}
.maqueta video.visible{opacity:1}
.punto::before{width:10px;height:10px;border-width:1.25px;background:rgba(12,17,22,.82);box-shadow:0 0 0 2px rgba(12,17,22,.24)}
.punto[aria-pressed=true]::before{width:13px;height:13px;background:var(--cobre-alto);border-color:var(--fondo-2);box-shadow:0 0 0 1.5px var(--cobre-alto),0 0 0 4px rgba(12,17,22,.55)}
.punto[aria-pressed=true]::after{content:'';position:absolute;width:24px;height:24px;border:1px solid var(--cobre);border-radius:50%;animation:baliza 2.8s ease-out infinite;pointer-events:none}
@keyframes baliza{0%{transform:scale(.72);opacity:.75}85%,100%{transform:scale(1.45);opacity:0}}
.pista{stroke:rgba(230,178,122,.55);stroke-width:1}.pulso{stroke-width:1.7}
.js .catalogo{background:linear-gradient(145deg,rgba(29,38,46,.97),rgba(18,26,33,.97));border-color:rgba(244,235,222,.22);border-radius:20px;box-shadow:0 18px 64px rgba(0,0,0,.22)}
.catalogo .cat{font-size:10px;font-weight:650;text-transform:uppercase;letter-spacing:.13em;line-height:1.6}
.catalogo h2{font-family:DMDisplay,Georgia,serif;font-weight:700;font-size:27px;line-height:1.18;letter-spacing:-.015em;margin:8px 0 14px}
.catalogo ul li{font-size:13px;line-height:1.65;margin-bottom:8px}
.catalogo .pedir{min-height:44px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.01em;margin-top:12px}
.cerrar{font-size:15px;color:var(--crema-2)}
.js .guia{gap:10px;top:14px}.js .guia b{font-family:DMDisplay,Georgia,serif;font-size:34px;font-weight:700;line-height:1.12;letter-spacing:-.025em}.guia b span{display:block}.js .guia .guia-remate{font-family:Manrope,system-ui,sans-serif;font-size:.78em;font-weight:500;letter-spacing:-.05em}.js .guia>span{font-size:12px;line-height:1.6}
.js .mando{grid-template-rows:48px 24px;gap:4px 4px;grid-template-columns:44px minmax(0,1fr) 44px}
.mando button{border-color:rgba(244,235,222,.23);background:rgba(12,17,22,.6);border-radius:999px}
.mando button[data-p]{background:transparent;border-color:transparent;font-size:24px}
.mando .selector{border-radius:999px;padding:0 14px;font-size:11px;font-weight:600}
.mando button:hover{border-color:var(--cobre);background:rgba(244,235,222,.05)}
.mando .todos{font-size:10px;letter-spacing:.01em}
.en-recorrido .selector{position:relative;overflow:hidden}
.en-recorrido .selector::after{content:'';position:absolute;bottom:0;left:14px;right:14px;height:1px;background:var(--cobre);transform-origin:left;animation:paso 3.8s linear infinite;pointer-events:none}
@keyframes paso{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.barra{border-top-color:rgba(244,235,222,.12)}.barra a{border-radius:999px;font-size:13px;font-weight:650;border-color:rgba(244,235,222,.3)}
.menu-cab h2{font-family:DMDisplay,Georgia,serif;font-size:30px;line-height:1.15;letter-spacing:-.01em}
.menu-lista button{font-weight:500;border-bottom-color:rgba(244,235,222,.1)}
.menu-recorrido{border-radius:999px}
@media(max-width:359px){.marca h1{font-size:13px}.marca p{font-size:9px;letter-spacing:0}.marca{gap:8px}.marca img{width:34px;height:34px}.cab{gap:10px}.catalogo h2{font-size:24px;line-height:1.16}.js .catalogo>li{padding:15px 16px}.catalogo ul li{font-size:12px}.mando .selector{font-size:10px;padding:0 10px}.mando .cuenta{font-size:9px}.js .guia b{font-size:30px}}
@media(min-width:700px) and (max-width:1199px){:root{--cab:88px}.marca h1{font-size:19px}.marca p{font-size:11px}.marca img{width:46px;height:46px}.cab{padding:0 28px}.catalogo h2{font-size:30px}.js .guia b{font-size:42px}}
@media(min-width:900px) and (max-width:1199px),(min-width:700px) and (max-width:1199px) and (max-height:600px){
 .js .tablero{flex-direction:row;align-items:center;gap:24px;padding:24px}
 .js .banda{flex:0 0 clamp(290px,36%,390px);height:min(620px,100%)}
 .js .catalogo{inset:0 0 84px}.js .catalogo>li.viva{padding:22px}
 .js .mando{inset:auto 0 0}.js .guia{inset:50% 12px auto;transform:translateY(-50%)}
}
@media(min-width:1200px){:root{--ficha:304px;--cab:88px}.marca img{width:46px;height:46px}.cab-cta{margin-left:auto}.catalogo h2{font-size:32px;line-height:1.14}.js .catalogo>li.viva{padding:24px}.js .guia{top:50%;width:280px;gap:18px}.js .guia b{font-size:50px}.js .guia>span{font-size:13px;max-width:240px}.js .mando{border-radius:18px;background:rgba(12,17,22,.88);border-color:rgba(244,235,222,.18);backdrop-filter:blur(14px);width:380px}.js .pie{border-top-color:rgba(244,235,222,.1);font-size:10px}}
@media(max-height:650px){.catalogo h2{font-size:24px;line-height:1.15;margin-bottom:9px}.catalogo ul li{font-size:12px}.catalogo .pedir{margin-top:10px}.js .catalogo>li{padding:14px 16px}.js .guia b{font-size:30px}}
@media(min-width:700px) and (max-width:1199px) and (max-height:600px){:root{--cab:60px;--barra:64px}.js .tablero{padding:14px;gap:16px}.js .banda{flex-basis:46%;height:100%}.js .catalogo>li.viva{padding:12px 15px}.catalogo h2{font-size:22.5px;line-height:1.12;margin:5px 0 8px}.catalogo .cat{font-size:9px}.catalogo ul li{font-size:12px;line-height:1.5}.catalogo .pedir{font-size:11px;min-height:40px;margin-top:8px}.js .guia b{font-size:32px}}
@media(prefers-reduced-motion:reduce){.maqueta video{display:none}.punto::after,.selector::after{display:none!important}}

@media(min-width:900px) and (max-width:1199px),(min-width:700px) and (max-width:1199px) and (max-height:600px){:root{--barra:0px}.js .escena{padding-bottom:0}.js .barra{display:none}.cab-cta{display:flex;margin-left:auto}.cab-cta a{font-size:12px;min-height:42px;padding:10px 14px}}

@media(prefers-reduced-motion:reduce){.tour-toggle{display:none}}

.js .guia b>span:not(.guia-remate){font:inherit;line-height:1.1;color:var(--crema)}
.js .guia b>span{line-height:1.1}
