/* Sitio de Pegaso (portada, reserva, propuesta y páginas legales). Solo tokens: ningún #hex aquí.
   Style Aerra de GetLayers: fotografía primero, vidrio esmerilado, líneas finas, una sola acción en píldora con su
   loseta de flecha, y todo lo que llega entra por resorte (js/motor.js). */
html{scroll-behavior:smooth;scroll-padding-top:96px}
body.sitio{overflow-x:clip}
.saltar{position:absolute;left:-9999px;z-index:60;display:inline-flex;align-items:center;min-height:44px;padding:10px 14px;border-radius:var(--radio-chico);background:var(--superficie);color:var(--tinta)}
.saltar:focus{left:16px;top:calc(8px + env(safe-area-inset-top))}
.envoltura{width:100%;max-width:1240px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
@media (min-width:760px){.envoltura{padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right))}}
.gris{color:var(--tinta-2)}
.nota{font-size:var(--t-chico);color:var(--tinta-2);margin:14px 0 0}
.centro{text-align:center}
.ceja{margin:0 0 10px;font-size:var(--t-chico);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--marca)}
h1,h2{font-family:var(--display);font-weight:500;letter-spacing:-.01em;line-height:1.02;margin:0}
h2{font-size:var(--t-1)}
h3{font-size:var(--t-3);line-height:1.25;margin:0;font-weight:700}
.importe{font-weight:700}

/* Vidrio de Aerra: el desenfoque va en un pseudo-elemento para no crear un bloque contenedor a los hijos fijos
   (el cajón del menú) ni aplicar filtros a un ancestro del vidrio (la regla que rompe el material). */
.vidrio{position:relative;isolation:isolate}
.vidrio::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--vidrio);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid color-mix(in srgb,var(--superficie) 70%,transparent)}

/* Botón de acción (píldora con loseta de flecha, Aerra) */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 8px 0 22px;border-radius:var(--radio-accion);border:0;background:var(--marca);color:var(--sobre-marca);font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;overflow:hidden;transition:background var(--dur-normal) var(--curva),transform var(--dur-normal) var(--curva)}
.btn:not(:has(.btn-flecha)){padding:0 22px}
.btn:hover{background:var(--marca-hover);transform:translateY(-1px)}
.btn:active{transform:scale(.97)}
.btn-flecha{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sobre-marca);color:var(--marca);font-weight:800;transition:transform var(--dur-normal) var(--curva)}
.btn:hover .btn-flecha{transform:translateX(3px)}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,color-mix(in srgb,var(--sobre-marca) 22%,transparent) 50%,transparent 70%);transform:translateX(-120%) skewX(-12deg);transition:transform var(--dur-lenta) var(--curva);pointer-events:none}
.btn:hover::after{transform:translateX(120%) skewX(-12deg)}
.btn.claro{background:var(--superficie);color:var(--marca-oscura);box-shadow:inset 0 0 0 1px var(--linea)}
.btn.claro:hover{background:var(--marca-suave)}
.btn.chico{min-height:44px;padding:0 18px;font-size:.9375rem}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.45;cursor:not-allowed;transform:none}
.redondo{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--linea);background:var(--superficie);color:var(--tinta);font-size:1.125rem;cursor:pointer}
.redondo:hover{border-color:var(--marca);color:var(--marca)}
.acciones{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.emoji{width:48px;height:48px;object-fit:contain;flex:none}
.simbolo{display:inline-grid;place-items:center;flex:none}
.simbolo svg{display:block;width:100%;height:100%}

/* ---------- Nav (halcyon-nav) ---------- */
.nav{position:fixed;z-index:40;top:0;left:0;right:0;padding:calc(10px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));pointer-events:none}
.nav-pildora{pointer-events:auto;position:relative;isolation:isolate;display:flex;align-items:center;gap:8px;max-width:1120px;margin:0 auto;min-height:60px;padding:6px 8px 6px 14px;border-radius:var(--radio-accion)}
.nav-pildora::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--vidrio);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);box-shadow:var(--sombra);border:1px solid color-mix(in srgb,var(--superficie) 70%,transparent)}
.nav-marca{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--marca-oscura);text-decoration:none;margin-right:auto}
.nav-marca .simbolo{width:34px;height:34px}
.nav-nombre{font-family:var(--display);font-size:1.6rem;font-weight:600;letter-spacing:.02em;line-height:1}
.links{display:flex;gap:2px}
.links a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:var(--radio-accion);color:var(--tinta);text-decoration:none;font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.links a:hover{background:var(--marca-suave)}
.nav-herr{display:flex;align-items:center;gap:6px}
.idioma-btn,.idioma-sel,.divisa-btn{min-height:44px;min-width:44px;padding:0 12px;border:1px solid var(--linea);border-radius:var(--radio-accion);background:transparent;color:var(--tinta);font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}
.divisa-btn[aria-pressed="true"]{background:var(--marca-suave-2);border-color:var(--marca)}
.menu-btn{display:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--marca);color:var(--sobre-marca);cursor:pointer;place-items:center}
@media (max-width:1060px){.links a{padding:0 9px;letter-spacing:.06em}}
@media (max-width:960px){
  .menu-btn{display:inline-grid}
  .nav-cta{display:none}
  /* Cajón por la derecha, dentro de la pantalla y revelado con clip-path (sin desborde a 320). */
  .links{position:fixed;top:0;right:0;bottom:0;width:min(320px,86vw);flex-direction:column;gap:4px;padding:calc(84px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) 18px;background:var(--superficie);box-shadow:var(--sombra-alta);overscroll-behavior:contain;overflow-y:auto;clip-path:inset(0 0 0 100%);visibility:hidden;transition:clip-path .32s var(--curva),visibility 0s .32s;z-index:-2}
  .links.open{clip-path:inset(0 0 0 -60px);visibility:visible;transition:clip-path .32s var(--curva)}
  .links a{min-height:52px;font-size:1rem;letter-spacing:.04em;border-bottom:1px solid var(--linea);border-radius:0}
}
@media (max-width:420px){.nav-nombre{display:none}.nav-herr{gap:4px}.divisa-btn,.idioma-btn{padding:0 10px}}

/* ---------- Hero (stride-hero sobre Halcyon Gate + pila de fotos reales impresas) ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;padding:calc(96px + env(safe-area-inset-top)) 0 max(18px,env(safe-area-inset-bottom));color:var(--tinta);overflow:hidden}
.hero-escena{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--escena-cielo) 0%,var(--escena-horizonte) 50%,var(--escena-sol) 53%,var(--escena-mar) 58%,var(--escena-mar) 100%)}
.hero-poster,.hero-poster img{position:absolute;inset:0;width:100%;height:100%;display:block}
.hero-poster img{object-fit:cover}
.hero-escena canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .6s var(--curva)}
.hero-escena canvas.vivo{opacity:1}
/* Cortina «blanco»: la escena sale de un blanco cálido (Halcyon). Sin contador: aquí no se mide nada. */
.hero-blanco{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:18px;background:var(--fondo);transition:opacity 1.1s var(--curva)}
.hero-blanco.fuera{opacity:0;pointer-events:none}
.blanco-marca{width:72px;height:72px;color:var(--marca)}
.blanco-linea{display:block;width:120px;height:1px;background:var(--linea);position:relative;overflow:hidden}
.blanco-linea::after{content:"";position:absolute;inset:0;background:var(--marca);transform-origin:left;animation:linea 1.2s var(--curva) forwards}
@keyframes linea{from{transform:scaleX(0)}to{transform:scaleX(1)}}
html.sin-cortina .hero-blanco{display:none}
/* Celular: titular → fotos → texto y acciones, en flujo (las fotos nunca tapan el titular ni los botones). */
.hero-rejilla{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"cab" "fotos" "texto";align-content:space-between;gap:22px}
.hero-cab{grid-area:cab}
.hero .ceja{color:var(--marca-oscura)}
.hero h1{font-size:var(--t-0);max-width:13ch;line-height:.95}
.hero h1 .linea{display:block;padding-bottom:.12em;margin-bottom:-.12em}
.hero h1 .tenue{color:color-mix(in srgb,var(--tinta) 64%,transparent);font-style:italic}
.hero-texto{grid-area:texto;align-self:end;max-width:540px;padding:16px 18px 18px;border-radius:var(--radio-tarjeta)}
.hero-texto p{margin:0;max-width:46ch}
.hero-datos{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:var(--t-chico);font-weight:700;color:var(--marca-oscura)}
.hero-datos li{display:flex;align-items:center;gap:8px}
.hero-datos li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--acento);flex:none}
.hero-texto .acciones{margin-top:14px}

/* Pila de fotos impresas (js/fotos-impresas.js reparte data-lugar; la forma de cada lugar es de Pegaso: papel arena
   con pie ancho de foto impresa y rótulo azul en Cormorant). */
.hero-fotos{grid-area:fotos;position:relative;justify-self:center;width:min(82vw,360px);padding:18px 14px 30px}
.pila{position:relative;aspect-ratio:4/3;transform-origin:50% 80%}
.impresa{position:absolute;inset:0;margin:0;transition:transform .95s cubic-bezier(.2,.8,.2,1),opacity .6s var(--curva);cursor:pointer}
.impresa-marco{display:block;height:100%;padding:7px 7px 22px;background:var(--superficie);border-radius:4px;box-shadow:var(--sombra-alta)}
.impresa img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px}
.impresa figcaption{position:absolute;right:-8px;bottom:-14px;rotate:2.5deg}
.rotulo-foto{display:grid;min-height:44px;align-content:center;padding:6px 14px 7px;border-radius:3px;background:var(--marca-oscura);color:var(--sobre-marca);text-decoration:none;box-shadow:var(--sombra);line-height:1.1}
.rotulo-foto b{font:italic 600 1.375rem/1 var(--display)}
.rotulo-foto small{font-size:var(--t-chico);font-weight:600;color:var(--sobre-noche-2)}
.rotulo-foto:hover b{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.impresa[data-lugar="0"]{z-index:3;transform:rotate(-2.5deg)}
.impresa[data-lugar="1"]{z-index:2;transform:translate(11%,-9%) rotate(7deg) scale(.92)}
.impresa[data-lugar="2"]{z-index:1;transform:translate(-10%,-14%) rotate(-10deg) scale(.86)}
.impresa[data-lugar="fuera"]{z-index:0;opacity:0;transform:translate(2%,-20%) rotate(13deg) scale(.8);pointer-events:none}
.impresa:not([data-lugar="0"]) figcaption{opacity:0;transition:opacity .3s var(--curva)}
.impresa[data-lugar="0"] .impresa-marco{animation:deriva 7s ease-in-out infinite}
@keyframes deriva{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -5px;rotate:.6deg}}
.pila-pausa{position:absolute;left:4px;bottom:-6px;z-index:5;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid color-mix(in srgb,var(--superficie) 70%,transparent);background:var(--vidrio-fuerte);color:var(--marca-oscura);cursor:pointer;box-shadow:var(--sombra)}
.pila-pausa .i-seguir,.pila-pausa[aria-pressed="true"] .i-pausa{display:none}
.pila-pausa[aria-pressed="true"] .i-seguir{display:block}
@media (prefers-reduced-motion:reduce){.pila-pausa{display:none}}

@media (min-width:760px){.hero-rejilla{padding:0 32px}.hero-fotos{width:min(62vw,460px)}}
/* Horizontal: titular y texto a la izquierda, la pila a la derecha dentro del aro (el sol se corre con --escena-foco). */
@media (min-width:760px) and (orientation:landscape){
  .hero-rejilla{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:"cab fotos" "texto fotos";column-gap:clamp(24px,4vw,64px)}
  .hero-fotos{align-self:center;width:min(100%,480px);padding:34px 40px 40px}
}
/* Celular acostado: el titular en dos líneas y la tarjeta compacta para que Reservar y WhatsApp quepan en la primera
   pantalla (las viñetas ya están en el resto de la página). */
@media (max-height:520px) and (orientation:landscape){
  .hero{padding-top:calc(74px + env(safe-area-inset-top))}
  .hero-rejilla{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-areas:"cab fotos" "texto fotos";column-gap:24px;row-gap:10px}
  .hero .ceja{margin-bottom:4px;letter-spacing:.08em}
  .hero-fotos{align-self:center}
  .hero-texto p{font-size:.9375rem;line-height:1.45}
  .hero h1{font-size:clamp(1.9rem,4.4vw,2.5rem);max-width:none}
  .hero-fotos{width:min(100%,300px);padding:26px 26px 22px}
  .hero-texto{padding:12px 16px 14px}
  .hero-datos{display:none}
  .hero-texto .acciones{margin-top:10px}
}
@media (max-width:380px){.rotulo-foto b{font-size:1.25rem}}
/* ---------- Fondos alternos del hero (conceptos /conceptos/fondo-a…d, generados por tools/conceptos.py) ----------
   El hero y la pila son los mismos; data-fondo cambia lo de atrás y data-tono="oscuro" voltea la tinta del titular. El
   encuadre (object-position) es por concepto y por orientación: el sujeto real nunca queda bajo el titular. */
.hero[data-fondo]:not([data-fondo="halcyon"]) .hero-escena{background:var(--noche)}
.hero-escena video{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:var(--encuadre,50% 50%);opacity:0;transition:opacity .9s var(--curva)}
.hero-escena video.vivo{opacity:1}
.hero[data-fondo] .hero-poster img{object-position:var(--encuadre,50% 50%)}
.hero[data-fondo="foto"] .hero-poster img{transform-origin:50% 45%;will-change:transform}
/* Velo para leer: denso donde va el texto (arriba en retrato; a la izquierda en horizontal), abierto sobre la pila. */
.hero-velo{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--noche) 78%,transparent) 0%,color-mix(in srgb,var(--noche) 52%,transparent) 30%,color-mix(in srgb,var(--noche) 12%,transparent) 55%,color-mix(in srgb,var(--noche) 40%,transparent) 100%)}
.hero[data-tono="oscuro"]{color:var(--sobre-noche)}
.hero[data-tono="oscuro"] .ceja{color:var(--acento-suave)}
.hero[data-tono="oscuro"] h1 .tenue{color:color-mix(in srgb,var(--sobre-noche) 84%,transparent)}
.hero[data-tono="oscuro"] h1,.hero[data-tono="oscuro"] .ceja{text-shadow:0 1px 18px color-mix(in srgb,var(--noche) 55%,transparent)}
.hero[data-tono="oscuro"] .hero-texto{color:var(--tinta)}
.hero[data-tono="oscuro"] .pila-pausa{border-color:color-mix(in srgb,var(--superficie) 40%,transparent)}
@media (min-width:760px) and (orientation:landscape),(max-height:520px) and (orientation:landscape){
  .hero-velo{background:linear-gradient(90deg,color-mix(in srgb,var(--noche) 82%,transparent) 0%,color-mix(in srgb,var(--noche) 64%,transparent) 42%,color-mix(in srgb,var(--noche) 18%,transparent) 70%,color-mix(in srgb,var(--noche) 4%,transparent) 100%),linear-gradient(180deg,color-mix(in srgb,var(--noche) 50%,transparent) 0%,transparent 26%),linear-gradient(0deg,color-mix(in srgb,var(--noche) 40%,transparent) 0%,transparent 30%)}
}
/* Encuadre por concepto: A (cinemagraph de su foto: velero a la izquierda, sol y su estela a la derecha). */
.hero[data-concepto="a"]{--encuadre:42% 50%}
@media (min-width:760px) and (orientation:landscape){.hero[data-concepto="a"]{--encuadre:50% 62%}}
/* C (atardecer real: el velero al centro-derecha, el sol a su izquierda). */
.hero[data-concepto="c"]{--encuadre:44% 50%}
@media (min-width:760px) and (orientation:landscape){.hero[data-concepto="c"]{--encuadre:50% 58%}}

/* Selector de conceptos (solo en /conceptos/): una tira discreta antes del pie, nunca encima del hero. */
.conceptos-tira{background:var(--noche);color:var(--sobre-noche);padding:18px 0}
.conceptos-tira .envoltura{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.conceptos-tira p{margin:0;font-weight:700}
.conceptos-tira a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--radio-accion);color:var(--sobre-noche);text-decoration:none;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--sobre-noche) 35%,transparent)}
.conceptos-tira a[aria-current="page"]{background:var(--sobre-noche);color:var(--noche)}
/* Índice de conceptos */
.conceptos-indice{padding:calc(96px + env(safe-area-inset-top)) 0 56px}
.conceptos-indice h1{font-size:var(--t-1);margin:0 0 8px}
.conceptos-indice>.envoltura>p{max-width:62ch;color:var(--tinta-2)}
.conceptos-rejilla{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
@media (min-width:900px){.conceptos-rejilla{grid-template-columns:repeat(2,minmax(0,1fr))}}
.concepto{background:var(--superficie);border-radius:var(--radio-tarjeta);box-shadow:var(--sombra);overflow:hidden}
.concepto a{display:block;color:inherit;text-decoration:none}
.concepto-capturas{display:grid;grid-template-columns:minmax(0,3.3fr) minmax(0,1fr);gap:8px;padding:8px;background:var(--fondo-2)}
.concepto-capturas img{display:block;width:100%;height:auto;border-radius:var(--radio-chico)}
.concepto-texto{padding:16px 18px 20px}
.concepto-texto h2{font-size:var(--t-2);margin:0 0 6px}
.concepto-texto p{margin:0;color:var(--tinta-2)}
.concepto-texto .nota{margin-top:8px;font-size:var(--t-chico)}


/* Entradas: se montan quietas (estado «desde») y el resorte las lleva a su lugar; sin JS o con movimiento
   reducido se quedan visibles. */
html.js-rev [data-rev]{opacity:0}

/* ---------- Secciones ---------- */
.seccion{padding:clamp(64px,10vw,128px) 0;position:relative}
.banda-2{background:var(--fondo-2)}
.cab-3{display:grid;gap:12px;margin-bottom:28px}
@media (min-width:900px){.cab-3{grid-template-columns:1fr 1.4fr 1fr;align-items:end;gap:32px}.cab-3 h2{text-align:center}}
.cab-corta{max-width:640px;margin-bottom:28px}
.cab-corta p.gris{margin:12px 0 0}
.cab-centro{text-align:center;max-width:760px;margin:0 auto 32px}

/* Flota: carril horizontal */
.carril{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:6px 0 18px;outline:none}
.carril:focus-visible{outline:2px solid var(--marca);outline-offset:-2px}
.carril-lista{list-style:none;margin:0;display:flex;gap:16px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}
@media (min-width:760px){.carril-lista{padding:0 32px}}
@media (min-width:1304px){.carril-lista{padding-left:calc((100vw - 1176px)/2)}}
.barco{flex:none;width:min(80vw,400px);scroll-snap-align:start}
.barco a{display:block;height:100%;color:var(--tinta);text-decoration:none;background:var(--superficie);border-radius:var(--radio-tarjeta);overflow:hidden;box-shadow:var(--sombra);transition:transform var(--dur-normal) var(--curva),box-shadow var(--dur-normal) var(--curva)}
.barco a:hover{transform:translateY(-4px);box-shadow:var(--sombra-alta)}
.barco figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--fondo-2)}
.barco img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.2s var(--curva)}
.barco a:hover img{transform:scale(1.1)}
.barco-txt{padding:16px 18px 20px}
.barco-txt h3{font-family:var(--display);font-size:1.9rem;font-weight:600;line-height:1.05}
.barco-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 0;color:var(--tinta-2);font-size:var(--t-chico)}
.barco-precio{margin:0;font-size:1rem}
.carril-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.carril-ctrl .nota{margin:0 0 0 8px;flex:1 1 280px}

/* Tours: riel de filas */
.riel{list-style:none;margin:0;padding:0;border-top:1px solid var(--linea)}
.fila-tour a{display:grid;grid-template-columns:auto 72px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:88px;padding:14px 4px;border-bottom:1px solid var(--linea);color:var(--tinta);text-decoration:none;transition:background var(--dur-normal) var(--curva),padding var(--dur-normal) var(--curva)}
.fila-tour a:hover{background:color-mix(in srgb,var(--superficie) 60%,transparent);padding-left:14px}
.idx{font-family:var(--display);font-size:1.5rem;color:var(--tinta-2);min-width:2ch}
.fila-foto{width:72px;height:54px;object-fit:cover;border-radius:var(--radio-chico)}
.fila-nombre{display:flex;flex-direction:column;min-width:0}
.fila-nombre b{font-family:var(--display);font-size:clamp(1.45rem,3vw,2.1rem);font-weight:600;line-height:1.1}
.fila-nombre small,.fila-precio small{color:var(--tinta-2);font-size:var(--t-chico)}
.fila-precio{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.fila-ir{display:none}
@media (min-width:760px){.fila-tour a{grid-template-columns:auto minmax(0,1fr) auto auto}.fila-foto{display:none}.fila-ir{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--linea);color:var(--marca)}.fila-tour a:hover .fila-ir{background:var(--marca);color:var(--sobre-marca)}}
@media (max-width:420px){.fila-tour a{grid-template-columns:56px minmax(0,1fr);grid-template-areas:"f n" "f p";gap:4px 12px}.idx{display:none}.fila-foto{grid-area:f;width:56px;height:56px}.fila-nombre{grid-area:n}.fila-precio{grid-area:p;flex-direction:row;gap:8px;align-items:baseline}}
.tour-flotante{position:fixed;left:0;top:0;z-index:30;margin:0;width:280px;aspect-ratio:3/2;border-radius:var(--radio-tarjeta);overflow:hidden;pointer-events:none;opacity:0;box-shadow:var(--sombra-alta);will-change:transform}
.tour-flotante img{width:100%;height:100%;object-fit:cover}
@media (hover:none),(max-width:759px){.tour-flotante{display:none}}

/* Reserva sobre agua (video de fondo) */
.reserva-banda{background:var(--noche);color:var(--sobre-noche);overflow:hidden}
.fondo-video{position:absolute;inset:0}
.fondo-video video{width:100%;height:100%;object-fit:cover;display:block}
.velo-agua{position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--noche) 72%,transparent),color-mix(in srgb,var(--noche) 50%,transparent) 55%,color-mix(in srgb,var(--noche) 80%,transparent))}
.reserva-banda .envoltura{position:relative}
.reserva-banda .ceja{color:var(--acento-suave)}
.reserva-banda p{color:var(--sobre-noche)}
.reserva-split{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.reserva-split>*{min-width:0}
@media (min-width:900px){.reserva-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:end}}
.mini-cal{margin-top:20px;padding:14px;border-radius:var(--radio-tarjeta);color:var(--tinta)}
.mini-cal-cab{display:flex;justify-content:space-between;gap:10px;margin:0 0 10px;font-size:var(--t-chico)}
.reserva-banda .mini-cal p{color:var(--tinta)}
.mini-cal-cab small{color:var(--tinta-2)}
.mini-dias{list-style:none;margin:0;padding:0 0 4px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
.mini-dias::-webkit-scrollbar{display:none}
.mini-dias li{flex:none;scroll-snap-align:start}
.mini-dias a{display:flex;flex-direction:column;align-items:center;gap:2px;width:64px;min-height:88px;padding:8px 4px;border-radius:var(--radio);background:var(--superficie);color:var(--tinta);text-decoration:none;border:1px solid var(--linea);font-size:var(--t-chico)}
.mini-dias a:hover{border-color:var(--marca)}
.mini-dias b{font-size:1.25rem;line-height:1.1}
.mini-dias .pocos{color:var(--aviso);font-weight:800}
.mini-dias .lleno{color:var(--tinta-2);text-decoration:line-through}
.mini-dias a[aria-disabled="true"]{opacity:.55;pointer-events:none}

/* Ocasiones: bento */
.bento{display:grid;gap:14px}
@media (min-width:760px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.bento{grid-template-columns:2fr 1fr 1fr;grid-template-rows:auto auto}.bento-ancha{grid-row:span 2}.bento-carta:last-child{grid-column:2/4}}
.bento-ancha{position:relative;min-height:420px;border-radius:var(--radio-tarjeta);overflow:hidden;display:flex;align-items:flex-end;padding:14px}
.bento-ancha>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bento-txt{padding:18px;border-radius:var(--radio-tarjeta);max-width:440px}
.bento-txt p,.bento-carta p{margin:6px 0 0}
.bento-carta{background:var(--superficie);border-radius:var(--radio-tarjeta);padding:22px;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:6px}
.bento-carta .emoji,.bento-txt .emoji{width:56px;height:56px;margin-bottom:6px}
.precio-extra{margin-top:auto!important;padding-top:10px;color:var(--marca-oscura)}

/* Cifras (altitude-stats) */
.cifras{padding:28px 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);background:var(--fondo)}
.riel-cifras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px}
@media (min-width:900px){.riel-cifras{grid-template-columns:repeat(4,minmax(0,1fr))}}
.riel-cifras div{display:flex;flex-direction:column;gap:4px}
.riel-cifras b{font-family:var(--display);font-size:clamp(2.6rem,6vw,4rem);font-weight:500;line-height:1;color:var(--marca-oscura);display:flex}
.riel-cifras span{color:var(--tinta-2);font-size:var(--t-chico)}

/* Reseñas: solo el lugar reservado */
.resenas-split{display:grid;gap:22px}
@media (min-width:900px){.resenas-split{grid-template-columns:1fr 2fr;align-items:center}}
.marcador-resenas{display:grid;gap:8px;justify-items:start;padding:28px;border:2px dashed var(--linea);border-radius:var(--radio-tarjeta);background:color-mix(in srgb,var(--superficie) 55%,transparent)}
.marcador-t{margin:0;font-family:var(--display);font-size:var(--t-2);line-height:1.1}
.marcador-resenas .gris{margin:0}

/* Preguntas (artist-faq) */
.faq-split{display:grid;gap:22px}
@media (min-width:900px){.faq-split{grid-template-columns:1fr 2fr}}
.acordeon{border-top:1px solid var(--linea)}
.acordeon details{border-bottom:1px solid var(--linea)}
.acordeon summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:12px 2px;cursor:pointer;list-style:none;font-weight:700;font-size:1.0625rem}
.acordeon summary::-webkit-details-marker{display:none}
.acordeon summary::after{content:"+";flex:none;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--linea);color:var(--marca);font-size:1.25rem;transition:transform var(--dur-normal) var(--curva)}
.acordeon details[open] summary::after{transform:rotate(45deg)}
.acordeon details p{margin:0 0 18px;color:var(--tinta-2);max-width:62ch}

/* Pie (lumora-footer) */
.pie-sitio{background:var(--noche);color:var(--sobre-noche);border-radius:28px 28px 0 0;padding:48px 0 calc(24px + env(safe-area-inset-bottom));margin-top:-1px}
.pie-cta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:32px;border-bottom:1px solid color-mix(in srgb,var(--sobre-noche) 18%,transparent)}
.pie-titulo{margin:0;font-family:var(--display);font-size:var(--t-1);line-height:1}
.pie-rejilla{display:grid;gap:26px;padding:32px 0;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
.pie-rejilla p{margin:0 0 8px;color:var(--sobre-noche-2)}
.pie-rejilla nav{display:flex;flex-direction:column;align-items:flex-start}
.pie-rejilla a,.pie-boton{display:inline-flex;align-items:center;min-height:44px;color:var(--sobre-noche);text-decoration:none;font-size:.9375rem}
.pie-rejilla a:hover,.pie-boton:hover{text-decoration:underline}
.pie-boton{padding:0;border:0;background:none;font:inherit;cursor:pointer;text-decoration:underline}
.pie-cab{font-size:var(--t-chico);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sobre-noche-2)!important}
.pie-marca{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:1.6rem;color:var(--sobre-noche)!important}
.pie-marca .simbolo{width:36px;height:36px;color:var(--sobre-noche)}
.pie-legal{margin:0;font-size:var(--t-chico);color:var(--sobre-noche-2)}
.pie-sitio :focus-visible{outline-color:var(--acento)}

/* ---------- Páginas legales y guía de marca (base de la plantilla) ---------- */
.top{position:sticky;top:0;z-index:10;background:var(--superficie);border-bottom:1px solid var(--linea);padding-top:env(safe-area-inset-top)}
.wrap{max-width:1120px;margin:0 auto;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}
.top .wrap{display:flex;align-items:center;gap:16px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;color:var(--marca-oscura);text-decoration:none;font-family:var(--display);font-weight:600;font-size:1.5rem}
.brand .simbolo,.brand img{width:34px;height:34px}
.top nav.links a{text-transform:none;letter-spacing:0;font-size:1rem}
.top nav.links a[aria-current="page"]{background:var(--marca);color:var(--sobre-marca)}
.top .menu-btn{order:3}
.hero-simple{padding:48px 0 24px}
.hero-simple h1{font-size:var(--t-1)}
.card{background:var(--superficie);border-radius:var(--radio);padding:20px;box-shadow:var(--sombra)}
.pie{margin-top:56px;border-top:1px solid var(--linea);background:var(--superficie);padding:20px 0 calc(20px + env(safe-area-inset-bottom))}
.pie .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;font-size:var(--t-chico);color:var(--tinta-2)}
.pie p{margin:0}
.pie nav{display:flex;flex-wrap:wrap;gap:4px 20px}
.pie a,.pie .pie-boton{color:var(--tinta-2);display:inline-flex;align-items:center;min-height:44px}
@media (max-width:760px){
  .top nav.links{position:fixed;top:0;right:0;bottom:0;width:min(300px,84vw);flex-direction:column;padding:calc(72px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) 16px;overscroll-behavior:contain;overflow-y:auto;background:var(--superficie);box-shadow:var(--sombra-alta);clip-path:inset(0 0 0 100%);visibility:hidden;transition:clip-path .28s var(--curva),visibility 0s .28s;z-index:20}
  .top nav.links.open{clip-path:inset(0 0 0 -40px);visibility:visible;transition:clip-path .28s var(--curva)}
  .top .menu-btn{display:inline-grid}
}
.legal{max-width:760px;padding-bottom:32px}
.legal h1{font-family:var(--display);font-size:var(--t-1);margin:32px 0 4px}
.legal h2{font-family:var(--sans);font-size:var(--t-3);font-weight:800;margin:28px 0 6px;line-height:1.3}
.legal p,.legal li{line-height:1.65}
.legal-meta{color:var(--tinta-2);font-size:var(--t-chico)}
.borrador{margin-top:24px;padding:12px 16px;border-radius:var(--radio-chico);background:var(--acento-suave);border-left:4px solid var(--aviso)}
.aviso-corto{font-size:var(--t-chico);color:var(--tinta-2)}
.consentimiento{display:flex;gap:10px;align-items:flex-start;min-height:44px}
.consentimiento input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--marca)}

/* ---------- Reserva en línea (reservar.html) ---------- */
.pagina-reserva .nav-pildora{max-width:1240px}
.reserva-app{padding-top:calc(96px + env(safe-area-inset-top));padding-bottom:40px;outline:none;min-height:100svh}
.opciones:empty{min-height:560px}
.reserva-cab{margin-bottom:16px}
.reserva-cab h1{font-size:var(--t-1)}
.reserva-cab p{margin:8px 0 0}
.pasos{margin:0 0 20px;overflow-x:auto;scrollbar-width:none}
.pasos::-webkit-scrollbar{display:none}
.pasos ol{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.pasos a{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 6px;border-radius:999px;color:var(--tinta-2);text-decoration:none;font-weight:700;font-size:var(--t-chico);white-space:nowrap;border:1px solid var(--linea);background:var(--superficie)}
.paso-n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--fondo-2);color:var(--tinta)}
.pasos a.hecho .paso-n{background:var(--ok);color:var(--sobre-marca)}
.pasos a[aria-current="step"]{background:var(--marca);border-color:var(--marca);color:var(--sobre-marca)}
.pasos a[aria-current="step"] .paso-n{background:var(--sobre-marca);color:var(--marca)}
.pasos a[aria-disabled="true"]{opacity:.5;pointer-events:none}
.reserva-rejilla{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:980px){.reserva-rejilla{grid-template-columns:minmax(0,1fr) 380px;align-items:start}}
.paso{background:var(--superficie);border-radius:var(--radio-tarjeta);box-shadow:var(--sombra);padding:clamp(16px,3vw,28px);min-width:0}
.paso-tit{font-size:var(--t-2);margin-bottom:14px;outline:none}
.paso-sub{margin:20px 0 10px;font-size:1.0625rem;font-weight:800;font-family:var(--sans)}
.segmento{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:6px;border-radius:var(--radio-tarjeta);background:var(--fondo-2)}
.segmento button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:64px;padding:10px 14px;border:0;border-radius:var(--radio);background:transparent;color:var(--tinta);text-align:left;cursor:pointer}
.segmento button small{color:var(--tinta-2);font-size:.8125rem;line-height:1.3}
.segmento button[aria-checked="true"]{background:var(--superficie);box-shadow:var(--sombra)}
.segmento button[aria-checked="true"] b{color:var(--marca)}
.opciones{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}
.opcion{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;padding:8px;border-radius:var(--radio);border:2px solid var(--linea);background:var(--superficie);color:var(--tinta);text-align:left;cursor:pointer;min-width:0}
.opcion img{width:96px;height:80px;object-fit:cover;border-radius:var(--radio-chico)}
.opcion-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.opcion-txt b{font-size:1rem;line-height:1.25}
.opcion-txt>small{color:var(--tinta-2);font-size:.8125rem;line-height:1.3}
.opcion-precio{margin-top:4px}
.opcion-precio small{color:var(--tinta-2);font-size:.8125rem}
.opcion[aria-checked="true"]{border-color:var(--marca);background:var(--marca-suave)}
.detalle-dia{margin-top:16px;padding:14px;border-radius:var(--radio);background:var(--fondo)}
.detalle-dia p{margin:0 0 6px}
.detalle-fecha{font-weight:800}
.detalle-total{display:flex;justify-content:space-between;font-weight:800;border-top:1px solid var(--linea);padding-top:8px}
.motivo{color:var(--aviso);font-weight:700}
.lugares{font-weight:800;color:var(--ok)}
.lugares.pocos{color:var(--aviso)}
.chips{border:0;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips legend{width:100%;margin-bottom:8px;font-weight:800}
.chips legend small{color:var(--tinta-2);font-weight:600}
.chip-sel{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--linea);background:var(--superficie);color:var(--tinta);font-weight:700;cursor:pointer}
.chip-sel[aria-pressed="true"]{background:var(--marca);border-color:var(--marca);color:var(--sobre-marca)}
.chip-sel:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.contadores{display:grid;gap:10px}
.contador{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--linea)}
.contador-txt{display:flex;flex-direction:column}
.contador-txt small{color:var(--tinta-2)}
.contador-ctrl{display:flex;align-items:center;gap:10px}
.contador-n{min-width:2ch;text-align:center;font-size:1.5rem;font-weight:800;display:inline-block}
.error-campo{color:var(--error);font-weight:700;font-size:var(--t-chico)}
.extras{display:grid;gap:10px;margin-top:12px}
.extra{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 44px 12px 12px;border-radius:var(--radio);border:2px solid var(--linea);background:var(--superficie);color:var(--tinta);text-align:left;cursor:pointer}
.extra .emoji{width:56px;height:56px}
.extra-txt{display:flex;flex-direction:column;min-width:0}
.extra-txt small{color:var(--tinta-2);font-size:.8125rem;line-height:1.35}
.extra-precio{display:flex;flex-direction:column;align-items:flex-end}
.extra-precio small{color:var(--tinta-2);font-size:.75rem}
.extra-check{position:absolute;right:12px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:6px;border:2px solid var(--linea)}
.extra[aria-pressed="true"]{border-color:var(--marca);background:var(--marca-suave)}
.extra[aria-pressed="true"] .extra-check{background:var(--marca);border-color:var(--marca);box-shadow:inset 0 0 0 3px var(--superficie)}
@media (max-width:420px){.extra{grid-template-columns:44px minmax(0,1fr);padding-right:40px}.extra .emoji{width:44px;height:44px}.extra-precio{grid-column:2;align-items:flex-start}}
.politica-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.politica-lista li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:var(--radio-chico);background:var(--fondo)}
.politica-lista i{flex:none;width:12px;height:12px;border-radius:50%;margin-top:6px}
.p100 i{background:var(--ok)}.p50 i{background:var(--aviso)}.p0 i{background:var(--error)}
.contacto{display:grid;gap:12px;margin-top:8px}
.campo{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:var(--t-chico)}
.campo input{min-height:48px;padding:10px 12px;border:1px solid var(--linea);border-radius:var(--radio-chico);font-size:1rem;font-weight:400;background:var(--superficie)}
.campo input[aria-invalid="true"]{border-color:var(--error)}
.pago-caja{margin:16px 0;padding:20px;border-radius:var(--radio-tarjeta);background:var(--fondo);display:grid;gap:8px;justify-items:start}
.pago-monto{margin:0;display:flex;flex-direction:column}
.pago-monto small{font-weight:700;color:var(--tinta-2)}
.pago-monto .importe{font-family:var(--display);font-size:var(--t-1);line-height:1}
.pago-caja .nota{margin:0}
.procesando{display:flex;align-items:center;gap:10px;font-weight:700;margin:0}
.procesando i{width:18px;height:18px;border-radius:50%;border:3px solid var(--marca-suave-2);border-top-color:var(--marca);animation:gira .8s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.demo-nota{padding:10px 12px;border-radius:var(--radio-chico);background:var(--acento-suave);color:var(--tinta)}
#paso-listo .acciones{justify-content:center}
#pase{margin:18px 0}
.paso-nav{position:sticky;bottom:0;z-index:15;display:flex;align-items:center;gap:10px;margin-top:14px;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-radius:var(--radio-tarjeta) var(--radio-tarjeta) 0 0;background:var(--vidrio-fuerte);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -8px 24px -18px rgba(14,27,44,.4)}
.paso-nav #siguiente{margin-left:auto}
.paso-nav-total{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.paso-nav-total small{color:var(--tinta-2);font-size:.75rem}
.paso-nav-total .importe{font-size:1.0625rem}
@media (min-width:980px){.paso-nav{position:static;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;padding:0}.paso-nav-total{display:none}}
.recibo{position:sticky;top:96px}
@media (max-width:979px){.recibo{position:static}}
.recibo-papel{background:var(--superficie);border-radius:var(--radio-tarjeta);box-shadow:var(--sombra);padding:18px;background-image:linear-gradient(var(--superficie),var(--superficie)),repeating-linear-gradient(90deg,var(--linea) 0 6px,transparent 6px 12px);background-size:100% calc(100% - 3px),100% 3px;background-position:top,bottom;background-repeat:no-repeat}
.recibo-tit{font-size:1.5rem;margin-bottom:10px}
.recibo-prod{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.recibo-prod img{width:72px;height:54px;object-fit:cover;border-radius:var(--radio-chico);flex:none}
.recibo-prod span{display:flex;flex-direction:column;min-width:0}
.recibo-prod small{color:var(--tinta-2);font-size:.8125rem}
.lineas{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.lineas li{display:flex;justify-content:space-between;gap:12px;font-size:.9375rem}
.lineas li span:first-child{color:var(--tinta-2)}
.lineas.fuertes{margin-top:10px;padding-top:10px;border-top:1px solid var(--linea)}
.lineas.fuertes li span{color:var(--tinta);font-weight:800}
.recibo-total{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--linea);font-weight:800}
.recibo-odo{font-family:var(--display);font-size:2.4rem;font-weight:600;color:var(--marca-oscura)}
.recibo-odo .od-suf{font-family:var(--sans);font-size:.8rem;margin:.9em 0 0 .3em;color:var(--tinta-2)}
.mxn{margin:4px 0 0}
/* Render por software (sin GPU real, js/site.js › sinGPU): sin fundidos sobre el lienzo ni desenfoque de fondo. */
html.sin-gpu .hero-escena canvas,html.sin-gpu .hero-blanco{transition:none}
html.sin-gpu .vidrio::before,html.sin-gpu .nav-pildora::before{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--vidrio-fuerte)}
/* B: el video de oleaje de la biblioteca se tiñe hacia el azul de Pegaso (el contrato del fondo: velo, nunca recolorear píxeles). */
.hero-tinte{position:absolute;inset:0;pointer-events:none;background:var(--marca);mix-blend-mode:color;opacity:.6}
