/* Vidrio neutro. Los reflejos pertenecen a los controles, nunca tiñen el video. */
:root {
  --wrap: 1360px;
  --glass-light: linear-gradient(145deg, #ffffffed, #ffffffad 58%, #ffffffdb);
  --glass-dark: linear-gradient(145deg, #ffffff29, #ffffff05 48%, #ffffff12), #17191dc2;
  --glass-rim: inset 0 1px 1px #fff9, inset 1px 0 1px #fff3, inset 0 -1px 1px #0000000a;
  --glass-shadow: 0 18px 44px -24px #16202b38, 0 3px 8px -5px #11182726;
  --glass-blur: blur(22px) saturate(135%);
  --motion-spring: cubic-bezier(.2,.75,.25,1);
}
.nav {
  inset: 18px 24px auto;
  width: calc(100% - 48px);
  max-width: 1536px;
  margin-inline: auto;
  height: 76px;
  border: 1px solid #ffffff94;
  border-radius: 28px;
  background: var(--glass-light);
  box-shadow: var(--glass-rim), var(--glass-shadow);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  transition: background .35s, box-shadow .35s;
}
.nav-inner { max-width: none; padding-inline: 24px; gap: 24px; }
.nav .logo { width:40px; height:40px; }
.nav .brand-name { font-size:11px; max-width:72px; }
.nav.is-scrolled { background: #ffffffe0; box-shadow: var(--glass-rim), 0 16px 40px -20px #15202b55; }
body.home .nav, body.home .nav.is-scrolled, body:is(.pvc,.colab) .nav {
  color: #fff;
  background: linear-gradient(145deg,#ffffff26,#ffffff08 60%),#15191d70;
  border-color: #ffffff63;
  box-shadow: inset 0 1px 1px #ffffff9c, inset 0 -1px 1px #ffffff20, 0 12px 36px -18px #0008;
}
body.home .nav.is-scrolled, body:is(.pvc,.colab) .nav.is-scrolled { background-color: #17191dd9; }
.nav-links { gap: clamp(16px,2vw,30px); font-size:14px; }
.nav-links a { transition: opacity .2s; }
.nav-tour { opacity: 1; font-weight: 500; min-height: 44px; font-size:14px; }
.nav-tour:hover { background: #ffffff14; }
.nav-account { white-space: nowrap; min-height:48px; font-size:14px; }
.pill {
  border: 1px solid #ffffffb3;
  background: var(--glass-light);
  box-shadow: var(--glass-rim), 0 5px 14px -8px #11182740;
  transition: transform .24s var(--motion-spring), box-shadow .24s, border-color .24s;
}
.pill-dark, .pill.primary.pill-dark {
  color: #fff;
  background: linear-gradient(155deg,#494c50,#202226 52%,#2c2e32);
  border-color: #ffffff4a;
  box-shadow: inset 0 1px 2px #ffffffa6,inset 0 -1px 2px #0005,0 5px 12px -7px #0009;
}
.pill-outline { background: #ffffff4d; border-color: #1d1d1f22; }
.pill-ghost {
  color: #fff;
  background: linear-gradient(145deg,#ffffff2e,#ffffff0a),#10141940;
  border-color: #ffffff80;
  box-shadow: inset 0 1px 1px #ffffff80,0 6px 20px -12px #0008;
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
}
.round { box-shadow: inset 0 1px 1px #fff6; border: 1px solid #0000000a; }
body.home .nav-account { background: linear-gradient(145deg,#fff,#f4f6f8); }
.nav .nav-account.con-sesion { background: #e3a374; color: #181818; }
.pill:focus-visible, .round:focus-visible, .hero-ctrl:focus-visible { outline: 3px solid #0071e3; outline-offset: 4px; }
.hero-video {
  background: #101214;
  min-height: max(720px,100svh);
  padding: 160px var(--gutter) 132px;
  align-items: flex-end;
  justify-content: flex-start;
}
.hero-media {
  inset: 0;
  height: 100%;
  width: 100%;
  transform: none;
  mask: none; -webkit-mask: none;
}
.hero-media video, .hero-media .hero-reel {
  width: 100%; height: 100%; object-fit: cover; object-position: 50% 48%;
  transform: none; animation: none;
}
.hero-veil {
  background: radial-gradient(75% 62% at 0% 100%,#00000080,transparent 85%),linear-gradient(180deg,transparent 36%,#0000000a 48%,#00000060 74%,#000000b8 100%);
}
.hero-video .hero-content { width: 100%; max-width: 1440px; }
.hero-video h1 { font-size: clamp(56px,8.8vw,128px); letter-spacing: -.045em; text-shadow: 0 2px 24px #0003; }
.hero-video .lead { max-width: 480px; color: #f3f3f5; font-size: clamp(19px,1.7vw,24px); text-shadow: 0 1px 10px #0007; }
.hero-video .eyebrow { color: #fff; margin-bottom: 20px; text-shadow: 0 1px 6px #000c; }
.hero-video .actions { margin-top: 28px; gap: 12px; }
.hero-video .pill { min-height: 52px; padding-inline: 27px; }
.hero-video .hero-content > * { animation-name: glass-enter; animation-duration: .85s; }
@keyframes glass-enter { from { opacity: 0; transform: translateY(16px); } }
.hero-tools {
  position: absolute; right: var(--gutter); bottom: 132px; z-index: 3;
  display: flex; align-items: center; gap: 8px; padding: 6px;
  color: #fff; background: var(--glass-dark); border: 1px solid #ffffff70; border-radius: 99px;
  box-shadow: inset 0 1px 1px #ffffff8c,0 8px 28px -12px #0007;
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.hero-tools .hero-ctrl {
  position: relative; inset: auto; width: 44px; height: 44px; flex: none; animation: none;
  background: #ffffff12; border-color: #ffffff40;
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
.hero-tools [aria-busy="true"] { opacity: .65; }
.hero-tools [aria-busy="true"]::after { content:""; position:absolute; inset:50% auto auto 50%; translate:-50% -50%; width:24px; height:24px; border:2px solid #ffffff30; border-top-color:#fff; border-radius:50%; animation:glass-loading .8s linear infinite; }
@keyframes glass-loading { to { rotate:360deg; } }
.mb, .mb-extra > div, .mc-card, .tour-card, .cookie-banner, .mapa, .trayecto {
  background: var(--glass-light);
  border: 1px solid #fff;
  box-shadow: var(--glass-rim), var(--glass-shadow);
}
.mb, .mc-card { border-radius: 28px; }
.mb { padding: 28px 24px; min-height:228px; transition: transform .3s var(--motion-spring), box-shadow .3s; }
.mb-grid { gap:18px; }
#mb-t { font-size:clamp(38px,4.8vw,64px); }
.mb-p { font-size:clamp(38px,3.8vw,52px); margin:14px 0 8px; }
.mb-p small { font-size:15px; }
.mb-i { font-size:15px; line-height:1.55; }
.mb-top {
  background: linear-gradient(145deg,#414348,#24262a 60%,#303237);
  color: #fff; border-color: #ffffff70;
  box-shadow: inset 0 1px 2px #ffffffb3,inset 0 -1px 1px #0006,0 12px 28px -18px #1118;
}
.mb-top .mb-p small, .mb-top .mb-i { color:#e0e0e3; }
.mb-extra > div { border-radius:24px; padding:20px 24px; font-size:16px; }
.smart { background: #f5f5f7; }
.galeria { gap:18px; }
.galeria figure { border-radius:28px; }
.galeria figcaption {
  padding:9px 15px; bottom:18px; left:18px; border:1px solid #ffffff5c;
  background:var(--glass-dark); box-shadow: inset 0 1px 1px #ffffff57,0 6px 18px #0002;
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
.aviso {
  border-radius:24px; border:1px solid #ffffff40; background:var(--glass-dark);
  box-shadow:inset 0 1px 1px #ffffff57,0 16px 40px -20px #0009;
  backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
}
.aviso-tx span { color:#e0e0e3; }
.aviso-x { min-width:28px; min-height:28px; color:#e0e0e3; }
.wa-flotante {
  border:1px solid #ffffff80;
  background:linear-gradient(145deg,#31b774e8,#11894ee8);
  box-shadow:inset 0 1px 1px #ffffffa6,inset 0 -1px 1px #08733b,0 10px 26px -12px #063b2373;
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.cookie-banner { border-radius:28px; backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); }
.tour-card { background:#fffffff2; backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur); }
.mobile-menu {
  inset:0; margin:12px; width:calc(100% - 24px); max-width:none;
  height:calc(100dvh - 24px); max-height:calc(100dvh - 24px);
  border-radius:28px; border:1px solid #ffffffd9;
  background:#f8f9fbef; box-shadow:var(--glass-rim),0 20px 80px #0003;
  backdrop-filter:blur(32px); -webkit-backdrop-filter:blur(32px);
  padding:94px 28px 32px; color:#1d1d1f;
}
.mobile-menu::backdrop { background:#0e13195c; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.mobile-menu nav { gap:4px; }
.mobile-menu nav a { font-size:clamp(25px,5vw,38px); min-height:54px; border-bottom:1px solid #1d1d1f0d; }
.mobile-menu .dialog-close { top:22px; right:22px; }
.field input, .field select, .field textarea {
  border-color:#1d1d1f24; background:#ffffffdb;
  box-shadow:inset 0 1px 3px #14203408;
  transition:border-color .2s,box-shadow .2s,background-color .2s;
}
.field :is(input,select,textarea):focus { border-color:#0071e3; box-shadow:0 0 0 4px #0071e312; }
body.pvc { background:#101113; }
.pvc-hero::before { display:none; }
.preventa { background:#101113; }
.preventa::before { display:none; }
.pvc-op-c, .pvc-metodo, .pvc-resumen, .pvc-bloque, .pv-reloj, .pv-lugares, .pv-precio {
  background:linear-gradient(145deg,#ffffff0f,#ffffff03 55%,#ffffff08),#191b1fcc;
  border-color:#ffffff26;
  box-shadow:inset 0 1px 1px #ffffff30,0 18px 44px -24px #0008;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.pvc-op input:checked + .pvc-op-c { border-color:#e3a374; box-shadow:inset 0 1px 1px #ffffff73,0 0 0 1px #e3a374,0 14px 30px -20px #000b; }
body:is(.pvc,.colab) .field :is(input,select,textarea) { color:#fff; background:#ffffff09; border-color:#ffffff36; box-shadow:inset 0 1px 2px #0003; }
body:is(.pvc,.colab) .field :is(input,select,textarea):focus { border-color:#e3a374; box-shadow:0 0 0 4px #e3a3741a; }
.mc-alt a { text-decoration:underline; text-underline-offset:3px; color:#1d1d1f; }
@media (hover:hover) and (pointer:fine) {
  .mb:hover { transform:translateY(-4px); box-shadow:var(--glass-rim),0 20px 40px -20px #16202b40; }
  .mb-top:hover { box-shadow:inset 0 1px 2px #ffffffb3,0 20px 40px -20px #1118; }
  .pill:hover { box-shadow:inset 0 1px 1px #ffffffa6,0 10px 24px -10px #11182740; }
  .pill-dark:hover { box-shadow:inset 0 1px 2px #ffffffa6,0 10px 24px -10px #0008; }
}
@media (max-width:1100px) {
  .nav-inner { padding-inline:18px; gap:18px; }
  .nav-links { gap:18px; }
  .nav-tour { display:none; }
}
@media (max-width:760px) {
  .nav { inset:12px 12px auto; width:calc(100% - 24px); height:64px; border-radius:24px; }
  .nav-inner { padding-inline:14px; gap:12px; }
  .brand { gap:9px; }
  .nav .brand-name { font-size:9px; max-width:59px; }
  .nav .logo { width:30px; height:30px; }
  .nav-actions { gap:6px; }
  .nav-account { padding:10px 14px; font-size:12px; min-height:44px; }
  .hero-video { min-height:max(760px,100svh); padding:140px 24px 156px; }
  .hero-media { inset:0; height:100%; width:100%; transform:none; mask:none; -webkit-mask:none; }
  .hero-media video, .hero-media .hero-reel { object-position:50% 50%; }
  .hero-veil { background:linear-gradient(180deg,transparent 26%,#00000014 39%,#0000008c 69%,#000000b8 100%); }
  .hero-video h1 { max-width:10ch; font-size:clamp(58px,13vw,88px); line-height:.96; }
  .hero-video .lead { max-width:32ch; font-size:19px; margin-top:20px; }
  .hero-video .eyebrow { max-width:30ch; font-size:10px; margin-bottom:18px; letter-spacing:.12em; }
  .hero-video .actions { flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px; margin-top:24px; }
  .hero-video .pill { width:auto; max-width:none; min-height:48px; padding:13px 19px; font-size:13px; }
  .hero-tools { left:24px; right:auto; bottom:78px; padding:4px; }
  .hero-tools .hero-ctrl { width:40px; height:40px; min-width:40px; }
  .mb { padding:26px 24px; min-height:208px; }
  .mb-extra > div { padding:20px 22px; }
  .mc-card { padding:24px; }
  .wa-flotante { bottom:max(18px,env(safe-area-inset-bottom)); }
  .avisos { top:88px; }
}
@media (max-width:380px) {
  .hero-video { padding-inline:20px; min-height:780px; }
  .hero-video .actions { gap:8px; }
  .hero-video .pill { padding-inline:15px; font-size:12px; }
  .hero-tools { left:20px; }
  .nav-inner { padding-inline:10px; }
  .nav-account { padding-inline:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-video::after { display:none; }
  .hero-video .hero-content > *, .nav, .hero-tools, .hero-media video { animation:none!important; }
  .pill, .mb, .hero-reel, #hero-video, .mobile-menu { transition:none!important; }
  .mb:hover, .pill:hover { transform:none; }
  .hero-tools [aria-busy="true"]::after { animation:none; }
}
@media (prefers-contrast:more), (prefers-reduced-transparency:reduce) {
  .nav, .mobile-menu, .cookie-banner, .tour-card, .mc-card, .mb { background:#fff; color:#1d1d1f; }
  body.home .nav, body:is(.pvc,.colab) .nav, .hero-tools, .aviso, .mb-top { background:#17191d; color:#fff; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .nav, .mobile-menu, .cookie-banner, .tour-card { background:#f8f9fb; }
  body.home .nav, body:is(.pvc,.colab) .nav, .hero-tools, .aviso { background:#25272b; }
}

/* Apertura: 3 s de logo; el video del recorrido ya se descarga debajo. */
.opening-logo { display:none; }
html[data-home-opening] .opening-logo {
  position:fixed; inset:0; z-index:10000; display:grid; place-items:center;
  color:#fff; background:#101214; pointer-events:none;
  animation:opening-dissolve 3s ease both;
}
.opening-brand { display:flex; flex-direction:column; align-items:center; gap:25px; animation:opening-mark 3s ease both; }
.opening-brand .logo { width:clamp(92px,13vw,132px); height:clamp(92px,13vw,132px); }
.opening-brand > span:last-child { font-size:12px; font-weight:600; letter-spacing:.28em; padding-left:.28em; }
@keyframes opening-mark {
  0% { opacity:0; transform:translateY(7px) scale(.97); }
  24%,70% { opacity:1; transform:none; }
  92%,100% { opacity:0; transform:scale(1.015); }
}
@keyframes opening-dissolve {
  0%,84% { opacity:1; visibility:visible; }
  100% { opacity:0; visibility:hidden; }
}
html[data-home-opening] .hero-video::after { display:none; }
html[data-home-opening] body.home .nav,
html[data-home-opening] .hero-video .hero-content > *,
html[data-home-opening] .hero-tools { animation:none; }
html[data-home-opening]:not([data-home-opening="ready"]) :is(.nav,.hero-content,.hero-tools,.avisos,.wa-flotante,.cookie-banner) { visibility:hidden; }
html[data-home-opening="ready"] body.home .nav { animation:opening-nav 1.15s var(--motion-spring) both; }
html[data-home-opening="ready"] .hero-video .hero-content > * { animation:glass-enter .9s var(--motion-spring) backwards; }
html[data-home-opening="ready"] .hero-video .hero-content > :nth-child(1) { animation-delay:.15s; }
html[data-home-opening="ready"] .hero-video .hero-content > :nth-child(2) { animation-delay:.25s; }
html[data-home-opening="ready"] .hero-video .hero-content > :nth-child(3) { animation-delay:.35s; }
html[data-home-opening="ready"] .hero-video .hero-content > :nth-child(4) { animation-delay:.45s; }
html[data-home-opening="ready"] :is(.hero-tools,.wa-flotante,.cookie-banner) { animation:hero-aparece .7s ease backwards .6s; }
@keyframes opening-nav { from { opacity:0; transform:translateY(-42px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) {
  html[data-home-opening] .opening-logo { display:none; }
  html[data-home-opening] :is(.nav,.hero-content,.hero-tools,.avisos,.wa-flotante,.cookie-banner) { visibility:visible; animation:none!important; }
}
.mc-ine-lado{display:inline-flex;gap:4px;margin-right:12px;font-weight:600;color:var(--ink-soft,#666)}.mc-ine-lado.ok{color:#2f8a4a}
