/* ════════════════════════════════════════════════════════════════════════════
   🔴 FICHERO GENERADO — NO LO EDITES. Lo escribe `scripts/generar-css.py`.

   Lo que se edita es la hoja COMENTADA:  assets/css/_fuente/junglequest.css

   Aquí se sirve la misma hoja sin los comentarios, que son el 80 % de los bytes
   que descarga el visitante (`ROADMAP U-284`). Los comentarios NO se han
   perdido: siguen enteros en la fuente, que es donde se leen.
   ════════════════════════════════════════════════════════════════════════════ */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url('/assets/fonts/space-grotesk-variable.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Syne';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/assets/fonts/syne-variable.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --font-title:     'Syne', sans-serif;
  --font-body:      'Space Grotesk', sans-serif;
  --bg-sky:         #07091A;
  --bg-jungle:      #070F0A;
  --crystal-blue:   #29B6F6;
  --crystal-green:  #26A65B;
  --crystal-purple: #9B59B6;
  --crystal-gold:   #F4D03F;
  --text-primary:   #E8E0D0;
  --text-muted:     #94A394;
}

#junglequest-app {
  background: var(--bg-sky);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#junglequest-app .va-sr-only {
  position: absolute; width: 1px; height: 1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap;
}

#jq-particles {
  position: fixed; inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.6;
}

.jq-aurora {
  position: fixed; inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
.jq-aurora-blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(130px);
  opacity: 0;
  animation:
    jq-blob-in  3s ease forwards,
    jq-blob-drift var(--dur, 22s) ease-in-out infinite alternate;
}
.jq-aurora-blob:nth-child(1) {
  width: 70vw; height: 60vh;
  background: radial-gradient(circle, rgba(38,166,91,0.25), transparent 70%);
  top: -10%; left: -20%;
  --dur: 24s; --tx: 15vw; --ty: 20vh;
  animation-delay: 0s, 1s;
}
.jq-aurora-blob:nth-child(2) {
  width: 55vw; height: 50vh;
  background: radial-gradient(circle, rgba(41,182,246,0.2), transparent 70%);
  top: 20%; right: -15%;
  --dur: 28s; --tx: -12vw; --ty: 15vh;
  animation-delay: 0.5s, 1.5s;
}
.jq-aurora-blob:nth-child(3) {
  width: 45vw; height: 45vh;
  background: radial-gradient(circle, rgba(155,89,182,0.18), transparent 70%);
  bottom: -5%; left: 30%;
  --dur: 20s; --tx: -8vw; --ty: -18vh;
  animation-delay: 1s, 2s;
}
@keyframes jq-blob-in   { to { opacity: 1; } }
@keyframes jq-blob-drift {
  from { transform: translate(0, 0) scale(1); }
  to   { transform: translate(var(--tx, 10vw), var(--ty, 10vh)) scale(1.12); }
}

#jq-grain {
  position: fixed; inset: 0;
  z-index: 98;
  pointer-events: none;
  opacity: 0.045;
  background-repeat: repeat;
  background-size: 300px 300px;
  mix-blend-mode: overlay;
  width: 100%; height: 100%;
  display: block;
}

#jq-portal-wipe {
  position: fixed; inset: 0;
  z-index: 9999997;
  display: none;
  pointer-events: none;
  background: var(--bg-sky);
  filter: url(#jq-portal-distortion);
}

#jq-cursor-dot {
  position: fixed; top: 0; left: 0;
  width: 6px; height: 6px;
  background: var(--crystal-green);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999999;
  transform: translate(-50%,-50%);
  transition: width .3s, height .3s, background .3s;
}
#jq-cursor-ring {
  position: fixed; top: 0; left: 0;
  width: 30px; height: 30px;
  border: 1px solid var(--crystal-green);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999998;
  transform: translate(-50%,-50%);
  transition: width .3s, height .3s, border-color .3s;
}
body.jq-cursor-hover #jq-cursor-dot { background: transparent; }
body.jq-cursor-hover #jq-cursor-ring {
  width: 52px; height: 52px;
  border-color: rgba(255,255,255,.65);
  background: rgba(41,182,246,.07);
}
#jq-cursor-dot, #jq-cursor-ring {
  display: none !important;
}
body.vh-custom-cursor-active #jq-cursor-dot,
body.vh-custom-cursor-active #jq-cursor-ring {
  display: block !important;
}
@media (max-width: 768px) {
  body.vh-custom-cursor-active #jq-cursor-dot,
  body.vh-custom-cursor-active #jq-cursor-ring {
    display: none !important;
  }
}

#jq-boot-gate {
  position: fixed; inset: 0;
  background: var(--bg-sky);
  z-index: 999998;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.jq-boot-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 55% 45% at 50% 50%, rgba(38,166,91,.14) 0%, transparent 65%),
    radial-gradient(ellipse 40% 55% at 28% 70%, rgba(41,182,246,.09) 0%, transparent 60%),
    radial-gradient(ellipse 50% 45% at 72% 30%, rgba(155,89,182,.07) 0%, transparent 60%);
  animation: jq-boot-pulse 8s ease-in-out infinite;
}
@keyframes jq-boot-pulse { 0%,100%{opacity:.5} 50%{opacity:1} }

.jq-boot-portal-img {
  position: absolute;
  width: min(480px, 68vw);
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  opacity: .14;
  animation: jq-portal-spin 40s linear infinite;
  filter: url(#jq-portal-distortion);
  will-change: transform, filter;
}
@keyframes jq-portal-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

#jq-boot-content {
  position: relative; z-index: 2;
  text-align: center; max-width: 580px; padding: 0 24px;
  margin: 0 auto;
  display: flex; flex-direction: column; align-items: center;
}
.jq-boot-eyebrow {
  display: block;
  font-family: var(--font-body); font-size: 10px; font-weight: 600;
  letter-spacing: .38em; text-transform: uppercase;
  color: var(--crystal-green); margin-bottom: 30px; opacity: .85;
}
.jq-boot-title {
  font-family: var(--font-title);
  font-size: clamp(38px,8.5vw,76px); font-weight: 800;
  text-transform: uppercase; letter-spacing: -.025em; line-height: 1.04;
  color: var(--text-primary); margin-bottom: 22px;
}
.jq-boot-sub {
  font-family: var(--font-body); font-size: 15px;
  color: rgba(232,224,208,.58); line-height: 1.72;
  max-width: 390px; margin: 0 auto 48px;
}
#jq-boot-btn {
  display: inline-flex; align-items: center; gap: 11px;
  padding: 19px 56px;
  background: transparent;
  border: 1px solid var(--crystal-green);
  border-radius: 50px;
  font-family: var(--font-title); font-size: 13px; font-weight: 800;
  letter-spacing: .24em; text-transform: uppercase;
  color: var(--text-primary); cursor: pointer;
  position: relative; overflow: hidden;
  transition: box-shadow .35s, color .2s;
}
#jq-boot-btn::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(38,166,91,.22), rgba(41,182,246,.12));
  opacity: 0; transition: opacity .35s;
}
#jq-boot-btn:hover {
  box-shadow: 0 0 36px rgba(38,166,91,.4), 0 0 70px rgba(38,166,91,.15);
}
#jq-boot-btn:hover::before { opacity: 1; }
.jq-boot-btn-arrow { font-size: 20px; transition: transform .3s; }
#jq-boot-btn:hover .jq-boot-btn-arrow { transform: translateX(5px); }

.vh-main-content-curtain {
  position: relative; z-index: 10;
  background: transparent;
  margin-bottom: 500px;
  box-shadow: 0 60px 120px rgba(0,0,0,1);
  transition: background-color .9s ease;
}

#section-hero {
  position: relative;
  z-index: 10;
  height: 100vh;
  display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  overflow: hidden;
  background: transparent;
}

#section-hero::before {
  content: '';
  position: absolute; inset: 0; z-index: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 65%, rgba(38,166,91,.08) 0%, transparent 65%),
    radial-gradient(ellipse 55% 45% at 50% 30%, rgba(41,182,246,.07) 0%, transparent 60%);
  pointer-events: none;
}

.jq-cloud {
  position: fixed;
  pointer-events: none;
  mix-blend-mode: normal;
  z-index: 9;
  will-change: transform;
}
.jq-cloud-1 { width: min(700px,80vw); left: -6%;  top: 24%; opacity: .55; }
.jq-cloud-2 { width: min(400px,48vw); right: -2%; top: 40%; opacity: .5;  }
.jq-cloud-3 { width: min(760px,86vw); right:-10%; bottom: 2%; opacity: .48; }

.jq-veg {
  position: fixed;
  pointer-events: none;
  mix-blend-mode: normal;
  z-index: 15;
  opacity: 0;
  will-change: transform, opacity;
}
.jq-veg-left  { width: min(420px,36vw); left: 0; top: 0; transform-origin: top left; }
.jq-veg-right { width: min(420px,36vw); right: 0; top: 0; transform-origin: top right; }

.jq-hero-island-wrap {
  position: relative; z-index: 10;
  width: 100%; max-width: 860px;
  margin: 0 auto;
  filter:
    drop-shadow(0 50px 90px rgba(38,166,91,.16))
    drop-shadow(0 0 140px rgba(41,182,246,.09));
  flex-shrink: 0;
}
.jq-hero-island {
  width: min(820px,88vw);
  max-height: 54vh;
  object-fit: contain;
  display: block; margin: 0 auto;
  will-change: transform, opacity;
}

.jq-hero-crystals { position: absolute; inset: 0; pointer-events: none; }
.jq-crystal-img {
  position: absolute;
  will-change: transform, opacity;
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 18px rgba(255,255,255,.2));
}
.jq-crystal-img.c-blue   { width: clamp(70px,10vw,130px); top: 18%; left: 6%; }
.jq-crystal-img.c-green  { width: clamp(90px,13vw,170px); top: 36%; left: 50%; transform: translateX(-50%); }
.jq-crystal-img.c-purple { width: clamp(65px, 9vw,120px); top: 16%; right: 6%; }
.jq-crystal-img.c-gold   { width: clamp(55px, 8vw,100px); bottom: 12%; right: 18%; }

.jq-hero-text {
  position: relative; z-index: 12;
  text-align: center;
  margin-top: 18px;
  padding: 0 5%;
}
.jq-hero-eyebrow {
  display: block;
  font-family: var(--font-body); font-size: 10px; font-weight: 600;
  letter-spacing: .42em; text-transform: uppercase;
  color: var(--crystal-green); margin-bottom: 14px;
}
.jq-hero-title {
  font-family: var(--font-title);
  font-size: clamp(54px,13vw,130px); font-weight: 800;
  text-transform: uppercase; letter-spacing: -.028em; line-height: .95;
  color: #F2EDE5;
  text-shadow: 0 0 90px rgba(38,166,91,.22);
  will-change: transform;
}
.jq-hero-sub {
  font-family: var(--font-body);
  font-size: clamp(14px,1.9vw,18px);
  color: rgba(232,224,208,.55); line-height: 1.68;
  max-width: 750px; margin: 16px auto 0;
}

.jq-scroll-hint {
  position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  font-family: var(--font-body); font-size: 9px; letter-spacing: .34em;
  text-transform: uppercase; color: rgba(232,224,208,.3);
  animation: jq-hint-bounce 2.2s ease-in-out infinite;
  z-index: 7;
}
.jq-scroll-hint::after {
  content: '';
  display: block; width: 1px; height: 38px;
  background: linear-gradient(to bottom, rgba(38,166,91,.5), transparent);
}
@keyframes jq-hint-bounce { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(8px)} }

.jq-portal-ring {
  position: absolute; inset: -2px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 50;
  box-shadow:
    0 0 0 3px rgba(38,166,91,.55),
    0 0 40px 10px rgba(38,166,91,.18),
    inset 0 0 40px 10px rgba(38,166,91,.06);
  opacity: 0;
}
#section-adventure  .jq-portal-ring { box-shadow: 0 0 0 3px rgba(41,182,246,.55), 0 0 40px 10px rgba(41,182,246,.18), inset 0 0 40px 10px rgba(41,182,246,.05); }
#section-expedition .jq-portal-ring { box-shadow: 0 0 0 3px rgba(38,166,91,.55),  0 0 40px 10px rgba(38,166,91,.18),  inset 0 0 40px 10px rgba(38,166,91,.05);  }
#section-creatures  .jq-portal-ring { box-shadow: 0 0 0 3px rgba(155,89,182,.55), 0 0 40px 10px rgba(155,89,182,.18), inset 0 0 40px 10px rgba(155,89,182,.05); }
#section-gallery    .jq-portal-ring { box-shadow: 0 0 0 3px rgba(244,208,63,.55), 0 0 40px 10px rgba(244,208,63,.18), inset 0 0 40px 10px rgba(244,208,63,.05); }
#section-cta        .jq-portal-ring { box-shadow: 0 0 0 3px rgba(38,166,91,.45),  0 0 40px 10px rgba(38,166,91,.15),  inset 0 0 40px 10px rgba(38,166,91,.04);  }

.jq-section {
  position: relative;
  padding: 130px 5%;
  z-index: 20;
  border-top: 1px solid rgba(255,255,255,.04);
  will-change: clip-path;
  overflow: hidden;
  background: transparent;
}
.jq-section-inner { max-width: 1300px; margin: 0 auto; }

.jq-eyebrow {
  display: block;
  font-family: var(--font-body); font-size: 10px; font-weight: 600;
  letter-spacing: .42em; text-transform: uppercase; margin-bottom: 22px;
}
.jq-section-title {
  font-family: var(--font-title);
  font-size: clamp(32px,6.5vw,68px); font-weight: 800;
  text-transform: uppercase; letter-spacing: -.022em; line-height: 1.04;
  color: var(--text-primary); margin-bottom: 28px;
  will-change: transform;
}
.jq-section-body {
  font-family: var(--font-body);
  font-size: clamp(15px,1.6vw,17px); color: rgba(232,224,208,.62);
  line-height: 1.78; max-width: 580px;
}

.jq-adventure-layout {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 80px; align-items: center;
}
.jq-stats-row {
  display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px;
}
.jq-stat-pill {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 10px 20px;
  border: 1px solid rgba(41,182,246,.22);
  border-radius: 50px;
  background: rgba(41,182,246,.05);
  font-family: var(--font-body); font-size: 12px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--crystal-blue);
  backdrop-filter: blur(8px);
  transition: border-color .3s, box-shadow .3s;
}
.jq-stat-pill:hover {
  border-color: rgba(41,182,246,.5);
  box-shadow: 0 0 18px rgba(41,182,246,.12);
}

.jq-island-right-wrap { position: relative; }
.jq-island-right {
  width: 100%; max-width: 540px; height: auto;
  display: block; margin: 0 auto;
  filter: drop-shadow(0 30px 65px rgba(41,182,246,.12));
  will-change: transform;
}

.jq-ui-labels { position: absolute; inset: 0; pointer-events: none; }
.jq-ui-label {
  position: absolute; display: flex; align-items: center; gap: 10px;
  white-space: nowrap;
}
.jq-ui-label-line { height: 1px; background: rgba(41,182,246,.4); flex-shrink: 0; }
.jq-ui-label-text {
  font-family: var(--font-body); font-size: 10px; font-weight: 600;
  letter-spacing: .24em; text-transform: uppercase;
  color: rgba(41,182,246,.88);
  background: rgba(4,10,28,.82); padding: 5px 11px;
  border: 1px solid rgba(41,182,246,.2); border-radius: 4px;
}
.jq-ui-label.l-players  { top: 20%; left: -1%; }
.jq-ui-label.l-duration { top: 36%; left: -1%; }
.jq-ui-label.l-diff     { top: 52%; left: -1%; }
.jq-ui-label.l-age      { top: 67%; left: -1%; }

.jq-cards-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 24px; margin-top: 60px;
  perspective: 1200px;
  position: relative;
  z-index: 30;
}
.jq-card {
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px; padding: 38px 30px;
  backdrop-filter: blur(18px);
  transition: border-color 0.35s, box-shadow 0.35s;
  position: relative; overflow: hidden;
  cursor: default;
  --mx: 50%; --my: 50%;
  transform-style: preserve-3d;
  --hover-glow-color: rgba(38, 166, 91, 0.14);
}
.jq-card::before {
  content: ''; position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(38,166,91,.45), transparent);
  opacity: 0; transition: opacity .35s;
}
.jq-card::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at var(--mx) var(--my), var(--hover-glow-color) 0%, transparent 55%);
  opacity: 0; transition: opacity 0.3s; border-radius: 16px;
  pointer-events: none;
}
.jq-card:hover { border-color: rgba(38,166,91,.28); box-shadow: 0 10px 44px rgba(38,166,91,.08); }
@media (any-pointer: coarse), (prefers-reduced-motion: reduce) {
  .jq-card {
    transition: transform 0.35s ease, border-color 0.35s, box-shadow 0.35s;
  }
  .jq-card:hover {
    transform: translateY(-6px);
  }
}
.jq-card:hover::before { opacity: 1; }
.jq-card:hover::after  { opacity: 1; }

.jq-card-crystal {
  width: 58px; height: 58px; object-fit: contain;
  mix-blend-mode: screen; margin-bottom: 16px; display: block;
  transform: translateZ(30px);
}
.jq-card-title {
  font-family: var(--font-title); font-size: 15px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .09em;
  color: var(--text-primary); margin-bottom: 12px;
  transform: translateZ(18px);
}
.jq-card-body {
  font-family: var(--font-body); font-size: 14px;
  color: rgba(232,224,208,.75);
  line-height: 1.72;
  transform: translateZ(10px);
}

.jq-expedition-quote {
  margin-top: 64px; text-align: center;
  border-top: 1px solid rgba(255,255,255,.05); padding-top: 52px;
}
.jq-expedition-quote blockquote {
  font-family: var(--font-body);
  font-size: clamp(16px,2.4vw,22px); font-style: italic;
  color: rgba(232,224,208,.46); line-height: 1.62;
  max-width: 580px; margin: 0 auto;
}
.jq-expedition-quote cite {
  display: block; margin-top: 18px;
  font-size: 11px; font-style: normal; letter-spacing: .3em;
  text-transform: uppercase; color: rgba(38,166,91,.55);
}

#section-creatures { min-height: 100vh; display: flex; align-items: center; }
#section-creatures .jq-section-inner { width: 100%; }

.jq-creatures-layout {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 60px; align-items: center;
}
.jq-creatures-stage { position: relative; height: 580px; }

.jq-animal {
  position: absolute; will-change: transform;
}
.jq-animal img {
  display: block; height: auto;
  filter: drop-shadow(0 24px 44px rgba(0,0,0,.55));
}
.jq-animal-leon    { bottom: 0; left: 0; z-index: 3; }
.jq-animal-leon img   { width: min(300px,44vw); }
.jq-animal-cebra   { bottom: 0; right: 0; z-index: 2; opacity: .82; }
.jq-animal-cebra img  { width: min(250px,38vw); }
.jq-animal-flamenco{ top: 24px; right: 22%; z-index: 4; }
.jq-animal-flamenco img { width: min(105px,17vw); }

.jq-animal-label {
  position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%);
  white-space: nowrap;
  font-family: var(--font-body); font-size: 9px; font-weight: 600;
  letter-spacing: .28em; text-transform: uppercase;
  color: rgba(155,89,182,.82);
  background: rgba(10,6,22,.88); padding: 5px 13px;
  border: 1px solid rgba(155,89,182,.22); border-radius: 4px;
}

.jq-creatures-sub {
  font-family: var(--font-body); font-size: clamp(16px,2vw,19px);
  color: rgba(232,224,208,.5); line-height: 1.72;
  margin-top: 20px; margin-bottom: 40px;
  font-style: italic;
}
.jq-creatures-detail { display: flex; flex-direction: column; gap: 14px; }
.jq-creature-row {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 18px;
  background: rgba(155,89,182,.05);
  border: 1px solid rgba(155,89,182,.11); border-radius: 10px;
  transition: border-color .3s;
}
.jq-creature-row:hover { border-color: rgba(155,89,182,.3); }
.jq-creature-name {
  font-family: var(--font-title); font-size: 13px; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase; color: var(--text-primary);
}
.jq-creature-ref {
  font-family: var(--font-body); font-size: 11px;
  color: rgba(155,89,182,.68); letter-spacing: .1em;
}

.jq-gallery-grid {
  display: grid; grid-template-columns: repeat(3,1fr);
  gap: 14px; margin-top: 50px;
}
.jq-gallery-item {
  position: relative; overflow: hidden; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.06);
  aspect-ratio: 16/10; background: #080808;
  transform-origin: 50% 50%; will-change: transform, opacity, clip-path;
}
.jq-gallery-item.wide { grid-column: span 2; }
.jq-gallery-item img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: grayscale(18%) contrast(1.06);
  transition: filter .45s, transform .6s;
}
.jq-gallery-item:hover img { filter: grayscale(0%) contrast(1.12); transform: scale(1.04); }
.jq-gallery-item::after {
  content: ''; position: absolute; inset: 0; border-radius: 12px;
  border: 1px solid transparent;
  transition: border-color .4s, box-shadow .4s;
}
.jq-gallery-item:hover::after {
  border-color: rgba(244,208,63,.32);
  box-shadow: inset 0 0 26px rgba(244,208,63,.07);
}

.jq-gallery-real {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 14px; margin-top: 14px;
}
.jq-gallery-caption {
  margin-top: 36px; text-align: center;
  font-family: var(--font-body); font-size: 13px;
  color: rgba(232,224,208,.72);
  line-height: 1.65;
}

#section-cta {
  text-align: center; padding: 150px 5%;
  background: var(--bg-sky);
}
.jq-cta-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 75% 55% at 50% 50%,
    rgba(41,182,246,.06) 0%, rgba(38,166,91,.04) 25%,
    rgba(155,89,182,.05) 55%, rgba(244,208,63,.04) 80%, transparent 100%);
  animation: jq-cta-pulse 7s ease-in-out infinite;
}
@keyframes jq-cta-pulse { 0%,100%{opacity:.6;transform:scale(1)} 50%{opacity:1;transform:scale(1.06)} }

.jq-cta-inner { position: relative; z-index: 2; max-width: 920px; margin: 0 auto; }
.jq-cta-eyebrow {
  display: block; font-family: var(--font-body); font-size: 10px; font-weight: 600;
  letter-spacing: .42em; text-transform: uppercase;
  color: rgba(232,224,208,.35); margin-bottom: 30px;
}
.jq-cta-title {
  font-family: var(--font-title);
  font-size: clamp(44px,7.5vw,80px); font-weight: 800;
  text-transform: uppercase; letter-spacing: -.028em; line-height: 1.0;
  color: var(--text-primary); margin-bottom: 18px;
  will-change: transform;
}
.jq-cta-sub {
  font-family: var(--font-body); font-size: clamp(15px,1.8vw,18px);
  color: rgba(232,224,208,.75);
  line-height: 1.68;
  max-width: 750px; margin: 0 auto 56px;
}
.jq-all-crystals {
  display: flex; justify-content: center; align-items: center;
  gap: 22px; margin-bottom: 56px;
}
.jq-all-crystals img {
  width: 72px; height: 72px; object-fit: contain;
  mix-blend-mode: screen;
  filter: drop-shadow(0 0 18px rgba(255,255,255,.16));
  animation: jq-crystal-float 3s ease-in-out infinite;
}
.jq-all-crystals img:nth-child(2) { animation-delay: .55s; }
.jq-all-crystals img:nth-child(3) { animation-delay: 1.1s;  }
.jq-all-crystals img:nth-child(4) { animation-delay: 1.65s; }
@keyframes jq-crystal-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-11px)} }

.jq-btn-wrap {
  position: relative; display: inline-block;
  padding: 2px; border-radius: 60px;
  background: linear-gradient(135deg, #29B6F6, #26A65B, #9B59B6, #F4D03F);
}
@property --btn-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@supports (background: conic-gradient(from 0deg, red)) {
  .jq-btn-wrap {
    background: conic-gradient(from var(--btn-angle, 0deg), #29B6F6, #26A65B, #9B59B6, #F4D03F, #29B6F6);
    animation: jq-btn-spin 3s linear infinite;
  }
}
@keyframes jq-btn-spin { to { --btn-angle: 360deg; } }
#jq-reserve-btn {
  display: inline-flex; align-items: center; gap: 13px;
  padding: 22px 72px; border-radius: 58px;
  font-family: var(--font-title); font-size: 15px; font-weight: 800;
  letter-spacing: .2em; text-transform: uppercase;
  color: #fff; text-decoration: none; cursor: pointer; border: none;
  background: var(--bg-sky);
  transition: background .3s, transform .3s;
  position: relative; z-index: 1;
}
#jq-reserve-btn:hover { background: #0c1420; transform: scale(1.03); }

.jq-cta-meta {
  margin-top: 24px; font-family: var(--font-body); font-size: 12px;
  letter-spacing: .2em; text-transform: uppercase;
  color: rgba(232,224,208,.65);
}
.jq-cta-whatsapp {
  display: inline-flex; align-items: center; gap: 8px;
  margin-top: 22px; font-family: var(--font-body); font-size: 13px;
  color: rgba(37,211,102,.65); text-decoration: none;
  transition: color .3s;
}
.jq-cta-whatsapp:hover { color: #25D366; }

#jq-crystal-hud {
  position: fixed; bottom: 28px; left: 28px; z-index: 90000;
  display: flex; flex-direction: column; gap: 9px;
  pointer-events: none; opacity: 0;
  transition: opacity .55s;
}
#jq-crystal-hud.visible { opacity: 1; }
.jq-crystal-pip {
  font-size: 21px; opacity: .22;
  transition: opacity .4s, filter .4s, transform .4s; display: block;
}
.jq-crystal-pip.collected {
  opacity: 1;
  filter: drop-shadow(0 0 9px currentColor);
  transform: scale(1.3);
}
#jq-crystal-hud.all-collected { animation: jq-hud-shake .65s ease-in-out; }
@keyframes jq-hud-shake {
  0%,100%{transform:translateX(0)} 20%{transform:translateX(-4px)}
  40%{transform:translateX(4px)} 60%{transform:translateX(-3px)} 80%{transform:translateX(3px)}
}

#jq-sticky-btn {
  position: fixed; bottom: 30px; left: 50%;
  transform: translateX(-50%) translateY(80px);
  z-index: 88000; padding: 16px 46px;
  background: var(--crystal-green); border: none; border-radius: 50px;
  font-family: var(--font-title); font-size: 13px; font-weight: 800;
  letter-spacing: .2em; text-transform: uppercase; color: #fff;
  text-decoration: none; cursor: pointer;
  opacity: 0; pointer-events: none;
  transition: opacity .4s, transform .4s, box-shadow .3s;
  box-shadow: 0 4px 26px rgba(38,166,91,.35);
  animation: jq-sticky-glow 3s ease-in-out infinite;
}
#jq-sticky-btn.visible      { opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto; }
#jq-sticky-btn.hidden-by-footer { opacity: 0; pointer-events: none; }
#jq-sticky-btn:hover { transform: translateX(-50%) translateY(-2px) scale(1.04); box-shadow: 0 8px 44px rgba(38,166,91,.5); }
@keyframes jq-sticky-glow { 0%,100%{box-shadow:0 4px 26px rgba(38,166,91,.35)} 50%{box-shadow:0 4px 42px rgba(38,166,91,.58)} }

#jq-wa-btn {
  position: fixed; right: 25px;
  bottom: max(95px, calc(85px + env(safe-area-inset-bottom)));
  z-index: 89000; width: 50px; height: 50px; border-radius: 50%;
  background: #25D366;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transform: scale(.8);
  transition: opacity .4s, transform .4s, box-shadow .3s;
  box-shadow: 0 4px 20px rgba(37,211,102,.35);
  text-decoration: none;
}
#jq-wa-btn.visible { opacity: 1; transform: scale(1); }
#jq-wa-btn:hover   { transform: scale(1.1); box-shadow: 0 8px 32px rgba(37,211,102,.5); }
#jq-wa-btn svg     { width: 26px; height: 26px; fill: #fff; }

@media (max-width: 960px) {
  .jq-adventure-layout  { grid-template-columns: 1fr; gap: 44px; }
  .jq-island-right-wrap { order: -1; }
  .jq-ui-label          { display: none; }
  .jq-cards-grid        { grid-template-columns: 1fr; }
  .jq-creatures-layout  { grid-template-columns: 1fr; gap: 48px; }
  .jq-creatures-stage   { height: 330px; }
  .jq-gallery-grid      { grid-template-columns: 1fr 1fr; }
  .jq-gallery-item.wide { grid-column: span 2; }
  .jq-aurora-blob       { filter: blur(70px); }
  .jq-aurora-blob:nth-child(3) { display: none; }
}

@media (max-width: 640px) {
  .jq-aurora  { display: none; }
  #jq-grain   { display: none; }

  #junglequest-app {
    overflow-wrap: break-word;
    word-wrap: break-word;
  }

  #section-hero {
    justify-content: flex-start;
    padding-top: max(10vh, 52px);
  }
  .jq-hero-island-wrap { max-width: 100%; }
  .jq-hero-title { font-size: clamp(34px, 12.5vw, 60px) !important; word-break: keep-all !important; overflow-wrap: normal !important; }
  .jq-hero-sub   { font-size: 13px; margin-top: 10px; }
  .jq-hero-text  { margin-top: 14px; }
  .jq-crystal-img.c-blue   { width: 50px; top: 12%; left: 3%; }
  .jq-crystal-img.c-green  { width: clamp(60px,12vw,90px); }
  .jq-crystal-img.c-purple { width: 46px; top: 10%; right: 3%; }
  .jq-crystal-img.c-gold   { width: 40px; bottom: 6%; right: 10%; }
  .jq-veg-left, .jq-veg-right { width: min(260px,42vw); }

  .jq-cloud-1 { width: 55vw; left: -10%; top: 35%; opacity: 0.35; }
  .jq-cloud-2 { width: 40vw; right: -5%; top: 50%; opacity: 0.35; }
  .jq-cloud-3 { width: 70vw; right: -10%; bottom: 5%; opacity: 0.35; }

  .jq-section { padding: 60px 20px; }
  .jq-section-title {
    font-size: clamp(24px, 7.5vw, 36px);
    margin-bottom: 20px;
  }
  .jq-section-body {
    font-size: 14px;
    line-height: 1.65;
  }

  #jq-boot-content {
    width: 100% !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }
  .jq-boot-title {
    font-size: clamp(22px, 8vw, 34px) !important;
    line-height: 1.15 !important;
    margin-bottom: 16px !important;
  }
  .jq-boot-sub {
    font-size: clamp(12px, 3.5vw, 14px) !important;
    line-height: 1.6 !important;
    max-width: 290px !important;
    margin: 0 auto 32px !important;
    white-space: normal !important;
  }
  .jq-boot-eyebrow {
    font-size: clamp(7.5px, 2.2vw, 9px) !important;
    letter-spacing: 0.12em !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
    padding: 0 12px !important;
    white-space: normal !important;
    display: inline-block !important;
    max-width: 100% !important;
    word-break: break-word !important;
  }
  #jq-boot-btn {
    padding: 16px 38px !important;
  }

  .jq-menu-list a { padding: 16px 0; min-height: 52px; display: flex; align-items: center; justify-content: center; }

  .jq-island-right { max-width: 100%; }
  .jq-stats-row    { gap: 10px; margin-top: 20px !important; }
  .jq-stat-pill    { font-size: 11px; padding: 8px 14px; }
  .jq-cards-grid   { gap: 16px; margin-top: 24px !important; }
  .jq-expedition-quote { margin-top: 30px !important; padding-top: 24px !important; }
  .jq-adventure-layout { gap: 24px !important; }
  .jq-creatures-layout { gap: 24px !important; }
  .jq-creatures-sub { margin-top: 10px !important; margin-bottom: 20px !important; }
  .jq-creatures-detail { gap: 10px !important; }

  .jq-creatures-stage {
    height: auto !important;
    overflow: visible !important;
    display: flex !important;
    justify-content: center !important;
    gap: 15px !important;
    margin-bottom: 30px !important;
    position: relative !important;
  }
  .jq-animal {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    opacity: 1 !important;
  }
  .jq-animal img {
    width: 100% !important;
    max-height: 120px !important;
    object-fit: contain !important;
  }
  .jq-animal-label {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin-top: 8px !important;
    font-size: 8px !important;
    padding: 3px 8px !important;
    letter-spacing: 0.1em !important;
  }
  .jq-animal-leon img { width: 100% !important; max-width: 90px !important; }
  .jq-animal-cebra img { width: 100% !important; max-width: 80px !important; }
  .jq-animal-flamenco img { width: 100% !important; max-width: 50px !important; }
  .jq-animal-flamenco { right: auto !important; }

  .jq-gallery-grid      { grid-template-columns: 1fr; }
  .jq-gallery-item.wide { grid-column: span 1; }
  .jq-gallery-real      { grid-template-columns: 1fr; }

  .jq-cta-title   { font-size: clamp(34px,12vw,64px); }
  .jq-cta-sub     { font-size: 14px; margin-bottom: 24px !important; }
  .jq-all-crystals img { width: 48px; height: 48px; }
  .jq-all-crystals { margin-bottom: 24px !important; }
  #jq-reserve-btn { padding: 18px 40px; font-size: 13px; }
  .jq-cta-meta    { font-size: 11px; }

  #jq-sticky-btn  { padding: 12px 24px; font-size: 12px; min-height: 44px; }

  #jq-crystal-hud { gap: 8px; padding: 7px 12px; }
  .jq-crystal-pip { font-size: 14px; }

  #jq-menu-overlay {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: rgba(4, 6, 14, 0.98);
  }

  #jq-audio-toggle {
    top: 20px;
    right: 80px;
    width: 38px;
    height: 38px;
  }
  #jq-audio-toggle svg {
    width: 18px;
    height: 18px;
  }

  .jq-cloud, .jq-veg { will-change: auto; }
  .jq-section        { will-change: auto; }
  .jq-mobile-br      { display: block !important; }

  .jq-cta-tags {
    gap: 8px !important;
    margin: 24px auto 0 !important;
  }
  .jq-cta-tag {
    padding: 6px 12px !important;
    font-size: 9px !important;
  }

  .jq-modal-content {
    padding: 30px 20px !important;
    border-radius: 16px !important;
    max-width: 320px !important;
  }
  .jq-modal-title {
    font-size: clamp(18px, 6vw, 22px) !important;
    line-height: 1.15 !important;
  }
  .jq-modal-desc {
    font-size: 13px !important;
    line-height: 1.5 !important;
    margin-bottom: 18px !important;
  }
  .jq-coupon-box {
    flex-direction: column !important;
    padding: 16px !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }
  .jq-coupon-code {
    font-size: clamp(15px, 5vw, 17px) !important;
    letter-spacing: 0.08em !important;
  }
  .jq-copy-btn {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 10px 16px !important;
  }
  .jq-modal-urgency {
    margin-bottom: 20px !important;
  }
  .jq-modal-reserve-btn {
    padding: 12px 0 !important;
    font-size: 12px !important;
  }
}

@media (max-width: 375px) {
  .jq-hero-title  { font-size: clamp(30px, 14vw, 44px) !important; }
  .jq-section     { padding: 70px 4%; }
  .jq-cards-grid  { gap: 16px; }
  #jq-reserve-btn { padding: 16px 32px; }
}

@media (max-height: 680px) {
  .jq-scroll-hint { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .jq-aurora-blob { animation: none; opacity: 0.25; }
  .jq-all-crystals img { animation: none; }
  #jq-grain { display: none; }
  .jq-section { transition: none; }
}

#jq-audio-toggle {
  position: fixed;
  top: 25px;
  right: 90px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-primary);
  cursor: pointer;
  z-index: 99999;
  transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
#jq-audio-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--crystal-green);
  box-shadow: 0 0 15px rgba(38, 166, 91, 0.3);
  transform: scale(1.05);
}
#jq-audio-toggle svg {
  width: 20px;
  height: 20px;
  transition: transform 0.3s;
}
#jq-audio-toggle:active svg {
  transform: scale(0.9);
}

.jq-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(4, 6, 14, 0.85);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  z-index: 9999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: jq-fade-in 0.4s forwards;
}
@keyframes jq-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
.jq-modal-content {
  background: rgba(8, 14, 10, 0.95);
  border: 1px solid rgba(38, 166, 91, 0.25);
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.8),
    0 0 40px rgba(38, 166, 91, 0.15);
  border-radius: 20px;
  width: 100%;
  max-width: 480px;
  padding: 40px 30px;
  position: relative;
  text-align: center;
  animation: jq-slide-up 0.5s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
  box-sizing: border-box;
}
@keyframes jq-slide-up {
  from { transform: translateY(40px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.jq-modal-close {
  position: absolute;
  top: 15px;
  right: 20px;
  background: transparent;
  border: none;
  color: var(--text-muted);
  font-size: 28px;
  cursor: pointer;
  transition: color 0.3s;
}
.jq-modal-close:hover {
  color: var(--crystal-green);
}
.jq-modal-icon {
  font-size: 40px;
  color: var(--crystal-green);
  margin-bottom: 20px;
  text-shadow: 0 0 20px rgba(38, 166, 91, 0.6);
  animation: jq-pulse-gema 2s infinite alternate;
}
@keyframes jq-pulse-gema {
  from { transform: scale(1); filter: drop-shadow(0 0 5px rgba(38,166,91,0.5)); }
  to { transform: scale(1.1); filter: drop-shadow(0 0 15px rgba(38,166,91,0.8)); }
}
.jq-modal-title {
  font-family: var(--font-title);
  font-size: 28px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--text-primary);
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}
.jq-modal-desc {
  font-family: var(--font-body);
  font-size: 14px;
  color: rgba(232, 224, 208, 0.7);
  line-height: 1.6;
  margin-bottom: 24px;
}
.jq-coupon-box {
  position: relative;
  background: rgba(255, 255, 255, 0.03);
  border: 1px dashed rgba(38, 166, 91, 0.4);
  border-radius: 12px;
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 10px;
}

.jq-coupon-box::before {
  content: '';
  position: absolute;
  inset: -15px;
  background: linear-gradient(135deg, rgba(41,182,246,.25), rgba(38,166,91,.25), rgba(155,89,182,.25), rgba(244,208,63,.25));
  filter: blur(25px);
  z-index: -1;
  border-radius: 40px;
  animation: jq-glow-pulse 4s ease-in-out infinite;
}
@keyframes jq-glow-pulse {
  0%, 100% { transform: scale(1); opacity: 0.75; }
  50% { transform: scale(1.04); opacity: 1; }
}
.jq-coupon-code {
  font-family: var(--font-title);
  font-size: 20px;
  font-weight: 800;
  color: var(--crystal-gold);
  letter-spacing: 0.1em;
}
.jq-copy-btn {
  background: var(--crystal-green);
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 12px rgba(38, 166, 91, 0.3);
}
.jq-copy-btn:hover {
  background: #2cb563;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(38, 166, 91, 0.4);
}
.jq-copy-btn.copied {
  background: var(--crystal-blue);
  box-shadow: 0 4px 12px rgba(41, 182, 246, 0.3);
}
.jq-modal-urgency {
  font-family: var(--font-body);
  font-size: 12px;
  color: rgba(232, 224, 208, 0.45);
  line-height: 1.5;
  margin-bottom: 30px;
  font-style: italic;
}
.jq-modal-reserve-btn {
  display: block;
  width: 100%;
  padding: 16px 0;
  background: linear-gradient(135deg, var(--crystal-green), #1b8a47);
  color: #fff;
  border-radius: 30px;
  font-family: var(--font-title);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s;
  box-shadow: 0 10px 20px rgba(38, 166, 91, 0.2);
  text-align: center;
}
.jq-modal-reserve-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 30px rgba(38, 166, 91, 0.35);
  filter: brightness(1.1);
}

.jq-interactive-crystal {
  cursor: pointer !important;
  pointer-events: auto !important;
  animation: jq-crystal-float 3s ease-in-out infinite;
  transition: transform 0.3s, filter 0.3s, opacity 0.6s, scale 0.6s;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.3));
}
.jq-interactive-crystal:hover {
  transform: scale(1.15) rotate(5deg) !important;
  filter: drop-shadow(0 0 18px currentColor) brightness(1.2) !important;
}
.jq-interactive-crystal.collected-hide {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: scale(0) !important;
}

.jq-interactive-crystal:focus-visible {
  outline: 2px solid var(--crystal-gold);
  outline-offset: 6px;
  border-radius: 8px;
  transform: scale(1.15) !important;
}

body.jq-modal-open * {
  cursor: auto !important;
}
body.jq-modal-open #jq-cursor-dot,
body.jq-modal-open #jq-cursor-ring,
body.jq-modal-open #cursor-dot,
body.jq-modal-open #cursor-ring {
  display: none !important;
}

.jq-mobile-br {
  display: none;
}

.jq-cta-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 32px auto 0;
  max-width: 720px;
  position: relative;
  z-index: 10;
}
.jq-cta-tag {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50px;
  background: rgba(255, 255, 255, 0.02);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-primary);
  cursor: default;
  transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  will-change: transform;
}
.jq-cta-tag:hover {
  transform: scale(1.05);
  color: #fff;
  box-shadow: 0 4px 15px rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.25);
}

.jq-cta-tag.t-blue {
  border-color: rgba(41, 182, 246, 0.2);
  background: rgba(41, 182, 246, 0.04);
  color: var(--crystal-blue);
}
.jq-cta-tag.t-blue:hover {
  border-color: rgba(41, 182, 246, 0.6);
  background: rgba(41, 182, 246, 0.08);
  box-shadow: 0 0 15px rgba(41, 182, 246, 0.22);
}

.jq-cta-tag.t-green {
  border-color: rgba(38, 166, 91, 0.2);
  background: rgba(38, 166, 91, 0.04);
  color: var(--crystal-green);
}
.jq-cta-tag.t-green:hover {
  border-color: rgba(38, 166, 91, 0.6);
  background: rgba(38, 166, 91, 0.08);
  box-shadow: 0 0 15px rgba(38, 166, 91, 0.22);
}

.jq-cta-tag.t-purple {
  border-color: rgba(155, 89, 182, 0.2);
  background: rgba(155, 89, 182, 0.04);
  color: var(--crystal-purple);
}
.jq-cta-tag.t-purple:hover {
  border-color: rgba(155, 89, 182, 0.6);
  background: rgba(155, 89, 182, 0.08);
  box-shadow: 0 0 15px rgba(155, 89, 182, 0.22);
}

.jq-cta-tag.t-gold {
  border-color: rgba(244, 208, 63, 0.2);
  background: rgba(244, 208, 63, 0.04);
  color: var(--crystal-gold);
}
.jq-cta-tag.t-gold:hover {
  border-color: rgba(244, 208, 63, 0.6);
  background: rgba(244, 208, 63, 0.08);
  box-shadow: 0 0 15px rgba(244, 208, 63, 0.22);
}

.jq-theme-toggle {
  position: fixed;
  top: 25px;
  right: 150px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--text-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 99999;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform 0.3s, border-color 0.3s, background 0.3s;
}
.jq-theme-toggle:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--crystal-green);
  box-shadow: 0 0 15px rgba(38, 166, 91, 0.3);
  transform: scale(1.05);
}
.jq-theme-toggle svg {
  width: 20px;
  height: 20px;
}

.jq-theme-toggle .sun-icon { display: none; }
.jq-theme-toggle .moon-icon { display: block; }
.jq-theme-toggle.night-active .sun-icon { display: block; }
.jq-theme-toggle.night-active .moon-icon { display: none; }

body.jq-night-mode {
  --bg-sky: #04040d;
  background-color: #04040d !important;
  transition: background 1.5s ease-in-out;
}
body.jq-night-mode #main-curtain {
  background-image: linear-gradient(to bottom, #04040d 0%, #08071a 50%, #030209 100%) !important;
  background-blend-mode: screen;
  transition: background-color 1.5s ease-in-out;
}
body.jq-night-mode .jq-aurora {
  opacity: 0.55;
  filter: brightness(1.3) contrast(1.15);
}
body.jq-night-mode .jq-aurora-blob:nth-child(1) {
  background: radial-gradient(circle, rgba(0, 255, 255, 0.45), transparent 70%);
}
body.jq-night-mode .jq-aurora-blob:nth-child(2) {
  background: radial-gradient(circle, rgba(189, 0, 255, 0.4), transparent 70%);
}
body.jq-night-mode .jq-aurora-blob:nth-child(3) {
  background: radial-gradient(circle, rgba(255, 0, 255, 0.35), transparent 70%);
}
body.jq-night-mode .jq-card {
  background: rgba(4, 6, 14, 0.85);
  border-color: rgba(0, 255, 255, 0.25);
  box-shadow:
    0 8px 32px 0 rgba(0, 0, 0, 0.5),
    inset 0 0 15px rgba(0, 255, 255, 0.05);
  transition: background 1.5s ease-in-out, border-color 1.5s ease-in-out, box-shadow 1.5s ease-in-out;
}
body.jq-night-mode .jq-card:hover {
  border-color: rgba(0, 255, 255, 0.6);
  box-shadow:
    0 8px 32px 0 rgba(0, 0, 0, 0.5),
    0 0 25px rgba(0, 255, 255, 0.25),
    inset 0 0 20px rgba(0, 255, 255, 0.1);
}
body.jq-night-mode #section-expedition .jq-card {
  border-color: rgba(38, 166, 91, 0.25);
  box-shadow:
    0 8px 32px 0 rgba(0, 0, 0, 0.5),
    inset 0 0 15px rgba(38, 166, 91, 0.05);
  --hover-glow-color: rgba(38, 166, 91, 0.24);
}
body.jq-night-mode #section-expedition .jq-card:hover {
  border-color: rgba(38, 166, 91, 0.6);
  box-shadow:
    0 8px 32px 0 rgba(0, 0, 0, 0.5),
    0 0 25px rgba(38, 166, 91, 0.25),
    inset 0 0 20px rgba(38, 166, 91, 0.1);
}
body.jq-night-mode .jq-creatures-stage {
  filter: drop-shadow(0 0 35px rgba(155, 89, 182, 0.28));
}

body.jq-night-mode .jq-hero-island,
body.jq-night-mode .jq-island-right,
body.jq-night-mode .jq-veg-left,
body.jq-night-mode .jq-veg-right {
  filter: drop-shadow(0 0 30px rgba(0, 255, 255, 0.25)) brightness(1.05);
  transition: filter 1.5s ease-in-out;
}

body.jq-night-mode .jq-crystal-img,
body.jq-night-mode .jq-interactive-crystal {
  filter: drop-shadow(0 0 25px currentColor) brightness(1.35);
  transition: filter 1.5s ease-in-out;
}

body.jq-night-mode .jq-animal img {
  transition: filter 1.5s ease-in-out;
}
body.jq-night-mode .jq-animal-cebra img {
  filter: drop-shadow(0 0 25px rgba(0, 255, 255, 0.75)) brightness(1.3) contrast(1.1);
}
body.jq-night-mode .jq-animal-flamenco img {
  filter: drop-shadow(0 0 25px rgba(255, 0, 255, 0.75)) brightness(1.3) contrast(1.1);
}
body.jq-night-mode .jq-animal-leon img {
  filter: drop-shadow(0 0 25px rgba(244, 208, 63, 0.8)) brightness(1.3) contrast(1.1);
}

body.jq-night-mode .jq-section-title,
body.jq-night-mode .jq-hero-title,
body.jq-night-mode .jq-cta-title {
  text-shadow: 0 0 15px rgba(41, 182, 246, 0.5), 0 0 30px rgba(41, 182, 246, 0.2);
  transition: text-shadow 1.5s ease-in-out;
}
body.jq-night-mode #section-expedition .jq-section-title {
  text-shadow: 0 0 15px rgba(38, 166, 91, 0.6), 0 0 30px rgba(38, 166, 91, 0.3);
}
body.jq-night-mode #section-creatures .jq-section-title {
  text-shadow: 0 0 15px rgba(155, 89, 182, 0.6), 0 0 30px rgba(155, 89, 182, 0.3);
}
body.jq-night-mode #section-gallery .jq-section-title {
  text-shadow: 0 0 15px rgba(244, 208, 63, 0.6), 0 0 30px rgba(244, 208, 63, 0.3);
}

#jq-vortex-canvas {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  pointer-events: none;
  display: none;
}

.vh-top-right-reserve {
  position: fixed;
  top: 25px;
  right: 25px;
  z-index: 99999;
}

@media (min-width: 769px) {
  #jq-audio-toggle {
    right: 245px !important;
    top: 25px !important;
  }
  .jq-theme-toggle {
    right: 305px !important;
    top: 25px !important;
  }
}

@media (max-width: 768px) {
  #jq-audio-toggle {
    right: 20px !important;
    top: 20px !important;
  }
  .jq-theme-toggle {
    right: 75px !important;
    top: 20px !important;
  }
}

.jq-footer-grid {
  display: grid;
  grid-template-columns: 55% 45%;
  gap: 40px;
  max-width: 1200px;
  margin: 60px auto 0;
  padding: 0 24px;
  align-items: start;
}
.jq-footer-col { min-width: 0; }

.jq-faq-section {
  margin: 0;
  padding: 0;
}
.jq-faq-label {
  font-family: var(--font-body);
  font-size: 10px;
  color: var(--crystal-green);
  letter-spacing: 0.42em;
  text-transform: uppercase;
  margin-bottom: 14px;
  text-align: left;
}
.jq-faq-title {
  font-family: var(--font-title);
  font-size: clamp(20px, 3vw, 32px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -.022em;
  color: var(--text-primary);
  margin-bottom: 24px;
  text-align: left;
}
.jq-faq-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: opacity 0.3s ease;
}
.jq-faq-list.jq-faq-fading {
  opacity: 0;
}
.jq-faq-item {
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.02);
  transition: border-color 0.3s, background 0.3s;
}
.jq-faq-item.open {
  border-color: rgba(38, 166, 91, 0.25);
  background: rgba(38, 166, 91, 0.03);
}
.jq-faq-question {
  width: 100%;
  background: none;
  border: none;
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: clamp(13px, 1.6vw, 15px);
  font-weight: 700;
  text-align: left;
  padding: 16px 20px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  line-height: 1.4;
  transition: color 0.3s;
}
.jq-faq-question:hover {
  color: var(--crystal-green);
}
.jq-faq-icon {
  flex-shrink: 0;
  width: 24px; height: 24px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.35s ease, border-color 0.3s, background 0.3s;
  font-size: 14px;
  color: rgba(232, 224, 208, 0.5);
  line-height: 1;
}
.jq-faq-icon::before {
  content: '+';
}
.jq-faq-item.open .jq-faq-icon {
  transform: rotate(45deg);
  border-color: var(--crystal-green);
  background: rgba(38, 166, 91, 0.15);
  color: var(--crystal-green);
}
.jq-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.jq-faq-answer-inner {
  padding: 0 20px 16px 20px;
  font-family: var(--font-body);
  font-size: clamp(12px, 1.4vw, 14px);
  color: rgba(232, 224, 208, 0.62);
  line-height: 1.65;
}
.jq-faq-answer-inner strong {
  color: var(--crystal-gold);
  font-weight: 600;
}
.jq-faq-expand-btn {
  display: block;
  margin: 24px auto 0;
  padding: 10px 28px;
  background: rgba(38, 166, 91, 0.08);
  border: 1px solid rgba(38, 166, 91, 0.2);
  border-radius: 50px;
  color: var(--crystal-green);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: all 0.3s;
}
.jq-faq-expand-btn:hover {
  background: rgba(38, 166, 91, 0.15);
  border-color: rgba(38, 166, 91, 0.4);
  transform: translateY(-1px);
}

.jq-footer-col-info {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.jq-footer-col-info .vh-trustindex-wrap {
  margin: 0;
}
.jq-footer-contact {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 24px;
  border: 1px solid rgba(38, 166, 91, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.02);
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(232, 224, 208, 0.6);
  line-height: 1.65;
  text-align: left;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.jq-footer-contact strong {
  color: var(--text-primary);
  font-family: var(--font-title);
  font-size: 14px;
  letter-spacing: 0.08em;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.jq-footer-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #25D366;
  text-decoration: none;
  margin-top: 8px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  transition: opacity 0.3s, transform 0.3s;
}
.jq-footer-whatsapp:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .jq-footer-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .jq-faq-title {
    text-align: center;
  }
  .jq-faq-label {
    text-align: center;
  }
  .jq-footer-contact {
    text-align: center;
  }
  .jq-footer-whatsapp {
    justify-content: center;
  }
}

@media (min-width: 769px) {
  .vh-footer-fixed-behind {
    padding: 30px 5% 20px 5% !important;
    max-height: 100vh !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
  }
  .vh-footer-cta {
    font-size: clamp(30px, 3.5vw, 42px) !important;
    margin-bottom: 8px !important;
  }
  .vh-footer-desc {
    font-size: 0.95rem !important;
    margin-bottom: 20px !important;
    max-width: 600px !important;
  }
  .jq-footer-grid {
    margin-top: 15px !important;
    gap: 30px !important;
  }
  .jq-faq-title {
    font-size: 20px !important;
    margin-bottom: 12px !important;
  }
  .jq-faq-label {
    margin-bottom: 6px !important;
  }
  .jq-faq-list {
    gap: 6px !important;
  }
  .jq-faq-question {
    padding: 10px 16px !important;
  }
  .jq-faq-answer-inner {
    padding: 0 16px 10px 16px !important;
  }
  .jq-faq-expand-btn {
    margin-top: 12px !important;
    padding: 6px 20px !important;
  }
  .jq-footer-contact {
    padding: 16px !important;
    gap: 4px !important;
  }
  .vh-footer-legal-wrap {
    margin-top: 20px !important;
    padding-top: 15px !important;
  }

  .vh-footer-fixed-behind::-webkit-scrollbar {
    width: 6px;
  }
  .vh-footer-fixed-behind::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.3);
  }
  .vh-footer-fixed-behind::-webkit-scrollbar-thumb {
    background: rgba(38, 166, 91, 0.3);
    border-radius: 3px;
  }
  .vh-footer-fixed-behind::-webkit-scrollbar-thumb:hover {
    background: rgba(38, 166, 91, 0.6);
  }
}

.vh-hover-target:focus-visible,
#jq-sticky-btn:focus-visible,
.jq-modal-close:focus-visible,
.jq-copy-btn:focus-visible,
.jq-modal-reserve-btn:focus-visible {
  outline: 3px solid var(--crystal-green) !important;
  outline-offset: 4px !important;
}

@media (prefers-reduced-motion: reduce) {

  .jq-aurora-blob {
    animation: none !important;
    opacity: 0.15 !important;
  }

  .jq-boot-portal-bg,
  .jq-boot-portal-img,
  .jq-scroll-hint,
  .jq-cta-bg,
  .jq-all-crystals img,
  .jq-btn-wrap,
  #jq-sticky-btn,
  .jq-interactive-crystal,
  .jq-coupon-box::before,
  .jq-modal-icon {
    animation: none !important;
  }
}

.tier-low .jq-aurora {
  display: none !important;
}

.tier-low .vh-logo-link,
.tier-low .vh-top-right-reserve,
.tier-low #jq-audio-toggle,
.tier-low .jq-theme-toggle,
.tier-low .jq-modal-overlay,
.tier-low .jq-card,
.tier-low .jq-footer-contact,
.tier-low .jq-stat-pill,
.tier-low .jq-cta-tag {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.tier-low .vh-logo-link,
.tier-low #jq-audio-toggle,
.tier-low .jq-theme-toggle {
  background-color: rgba(7, 15, 10, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
}
.tier-low .vh-top-right-reserve {
  background-color: rgba(7, 15, 10, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.35) !important;
}
.tier-low .jq-modal-overlay {
  background-color: rgba(4, 6, 14, 0.96) !important;
}
.tier-low .jq-card {
  background-color: rgba(8, 16, 12, 0.95) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7) !important;
}
.tier-low .jq-footer-contact {
  background-color: rgba(8, 16, 12, 0.92) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}
.tier-low .jq-stat-pill {
  background-color: rgba(41, 182, 246, 0.15) !important;
}
.tier-low .jq-cta-tag {
  background-color: rgba(8, 16, 12, 0.9) !important;
}

