/* Jerarquía visual aditiva de la portada. No modifica el planetario ni sus selectores. */

/* Las categorías orientan; no compiten con las acciones verdes principales. */
.concierge-intent{
  border-color:rgba(196,181,253,.28);
  background:linear-gradient(155deg,rgba(34,23,67,.94),rgba(18,13,43,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 -6px 12px rgba(0,0,0,.18),0 3px 0 rgba(10,6,27,.74),0 8px 16px rgba(0,0,0,.18);
  text-shadow:none;
}
.concierge-intent::before{border-color:rgba(216,180,254,.1);background:linear-gradient(115deg,rgba(255,255,255,.035),transparent 42%,rgba(168,85,247,.035));opacity:.55}
.concierge-intent:hover,.concierge-intent:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(192,132,252,.72);
  background:linear-gradient(155deg,rgba(48,29,88,.96),rgba(22,15,50,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -6px 12px rgba(0,0,0,.18),0 5px 0 rgba(15,8,38,.8),0 12px 22px rgba(0,0,0,.22),0 0 15px rgba(168,85,247,.14);
}
.concierge-intent:active{transform:translateY(3px);border-color:#c084fc;box-shadow:inset 0 2px 8px rgba(0,0,0,.3),0 1px 0 rgba(10,6,27,.82),0 4px 8px rgba(0,0,0,.18),0 0 12px rgba(168,85,247,.2)}
.concierge-intent.is-active{
  border-color:#c084fc;
  background:linear-gradient(145deg,rgba(75,39,124,.88),rgba(24,17,56,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 3px 0 rgba(15,8,38,.82),0 9px 18px rgba(0,0,0,.2),0 0 0 3px rgba(168,85,247,.1),0 0 17px rgba(168,85,247,.18);
}

.concierge-return{
  border-color:rgba(196,181,253,.35);
  background:linear-gradient(180deg,rgba(42,27,78,.94),rgba(22,15,48,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 2px 0 rgba(10,6,27,.78),0 6px 12px rgba(0,0,0,.18);
}
.concierge-return:hover,.concierge-return:focus-within{border-color:#c084fc;box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 4px 0 rgba(15,8,38,.82),0 10px 17px rgba(0,0,0,.21),0 0 14px rgba(168,85,247,.16)}
.concierge-return span{color:#c4b5fd;text-shadow:none}
.concierge-return button{color:#ede9fe;text-shadow:none}

.catalog-teaser-card{
  border-color:rgba(196,181,253,.3);
  background:linear-gradient(155deg,rgba(34,23,67,.95),rgba(18,13,43,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),inset 0 -7px 13px rgba(0,0,0,.18),0 3px 0 rgba(10,6,27,.76),0 8px 17px rgba(0,0,0,.19);
  text-shadow:none;
}
.catalog-teaser-card:hover,.catalog-teaser-card:focus-visible{
  transform:translateY(-3px);
  border-color:rgba(192,132,252,.74);
  background:linear-gradient(155deg,rgba(49,30,91,.97),rgba(23,15,52,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -7px 13px rgba(0,0,0,.18),0 5px 0 rgba(15,8,38,.82),0 13px 23px rgba(0,0,0,.23),0 0 16px rgba(168,85,247,.15);
}
.catalog-teaser-card:active{transform:translateY(3px);border-color:#c084fc;box-shadow:inset 0 2px 8px rgba(0,0,0,.3),0 1px 0 rgba(10,6,27,.82),0 4px 8px rgba(0,0,0,.18),0 0 12px rgba(168,85,247,.2)}

/* Recorrido visual: un único momento expresivo, activado por decisión del usuario. */
.journey-kicker{
  display:block;
  margin-bottom:8px;
  color:#7dd3fc;
  font:800 .72rem 'Sora',sans-serif;
  letter-spacing:.13em;
}
.journey-layout{
  --journey-accent:#c084fc;
  --journey-soft:rgba(168,85,247,.2);
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);
  gap:32px;
  align-items:center;
  max-width:1040px;
  margin:0 auto;
}
.journey-preview{
  position:relative;
  isolation:isolate;
  min-height:520px;
  padding:26px;
  overflow:hidden;
  border:1px solid rgba(196,181,253,.32);
  border-radius:30px;
  background:radial-gradient(circle at 82% 12%,var(--journey-soft),transparent 34%),linear-gradient(145deg,rgba(34,23,67,.98),rgba(12,9,31,.99));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 -18px 40px rgba(0,0,0,.18),0 22px 55px rgba(0,0,0,.26);
  transition:border-color .25s ease,background .25s ease;
}
.journey-preview::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.22;
  background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,black,transparent 78%);
}
.journey-layout[data-journey-state="2"]{--journey-accent:#67e8f9;--journey-soft:rgba(34,211,238,.18)}
.journey-layout[data-journey-state="3"]{--journey-accent:#5fffb4;--journey-soft:rgba(52,211,153,.18)}
.journey-layout[data-journey-state="3"] .journey-preview{border-color:rgba(94,234,212,.38)}
.journey-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.journey-preview-head>span{color:var(--journey-accent);font:800 .69rem 'Sora',sans-serif;letter-spacing:.11em}
.journey-preview-head>small{color:#a99bbc;font-size:.72rem}
.journey-ticket{
  padding:22px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:linear-gradient(160deg,rgba(8,13,35,.86),rgba(17,10,39,.9));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 15px 30px rgba(0,0,0,.25),0 0 24px var(--journey-soft);
}
.journey-brand-row{display:flex;align-items:center;gap:13px;padding-bottom:17px;border-bottom:1px solid rgba(196,181,253,.13)}
.journey-brand-row>div{display:flex;flex-direction:column;gap:2px}
.journey-brand-row strong{font:700 .92rem 'Sora',sans-serif}
.journey-brand-row small{color:#9f93b5;font-size:.72rem}
.journey-mark{width:44px;height:44px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--journey-accent) 72%,transparent);border-radius:14px;color:var(--journey-accent);background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 0 16px var(--journey-soft);font:900 .76rem 'Sora',sans-serif}
.journey-state-label{margin:21px 0 7px;color:#887ba0;font:800 .62rem 'Sora',sans-serif;letter-spacing:.12em}
.journey-status{display:block;color:var(--journey-accent);font:800 clamp(1.55rem,3vw,2.3rem)/1.12 'Sora',sans-serif;letter-spacing:-.035em}
.journey-hint{min-height:42px;margin:9px 0 17px;color:#c7bdd8;font-size:.88rem;line-height:1.55}
.journey-code{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;border:1px dashed rgba(196,181,253,.25);border-radius:14px;background:rgba(255,255,255,.025)}
.journey-code span{color:#9f93b5;font-size:.72rem}
.journey-code code{color:#7dd3fc;font:800 .86rem 'Sora',sans-serif;letter-spacing:.035em}
.journey-progress{display:grid;gap:0;margin:20px 0 16px;padding:0;list-style:none}
/* El paso pendiente va atenuado a proposito, pero sigue siendo texto informativo:
   WCAG 1.4.3 (AA) le exige 4.5:1. El #776c8b anterior, medido sobre el degradado
   real del ticket, daba 3.19:1. Este valor es el mismo tono aclarado un 22% hacia
   blanco: alcanza 4.87:1 y mantiene la jerarquia frente a .is-done y .is-current. */
.journey-progress li{position:relative;display:flex;align-items:center;gap:11px;min-height:38px;color:#958ca5;font-size:.78rem;font-weight:700}
.journey-progress li:not(:last-child)::after{content:"";position:absolute;left:14px;top:31px;width:1px;height:14px;background:rgba(196,181,253,.16)}
.journey-progress li>span{width:29px;height:29px;display:grid;place-items:center;flex:none;border:1px solid rgba(196,181,253,.2);border-radius:50%;background:#120c2a;color:#867a99;font:800 .7rem 'Sora',sans-serif}
.journey-progress li.is-done{color:#9cefc5}
.journey-progress li.is-done>span{border-color:rgba(52,211,153,.5);color:#5fffb4;background:rgba(16,185,129,.1)}
.journey-progress li.is-current{color:#fff}
.journey-progress li.is-current>span{border-color:var(--journey-accent);color:var(--journey-accent);box-shadow:0 0 14px var(--journey-soft)}
/* #8f83a2 daba 4.40:1, justo por debajo del minimo. Aclarado un 6%: 4.82:1. */
.journey-disclaimer{margin:0;padding-top:14px;border-top:1px solid rgba(196,181,253,.12);color:#968aa8;font-size:.7rem;line-height:1.5}
.journey-cta{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;margin-top:17px;border:1px solid rgba(94,234,212,.82);border-radius:15px;color:#5fffb4;background:linear-gradient(180deg,rgba(14,56,61,.96),rgba(7,31,42,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -5px 10px rgba(0,0,0,.28),0 3px 0 rgba(3,61,55,.92),0 8px 17px rgba(0,0,0,.22),0 0 14px rgba(45,212,191,.16);font:800 .86rem 'Sora',sans-serif;text-decoration:none}
.journey-cta:hover,.journey-cta:focus-visible{color:#fff;outline:none;box-shadow:0 0 0 3px rgba(94,234,212,.14),inset 0 1px 0 rgba(255,255,255,.2),0 3px 0 rgba(3,61,55,.92),0 10px 20px rgba(0,0,0,.24)}
.journey-cta:active{transform:translateY(3px);box-shadow:inset 0 2px 8px rgba(0,0,0,.35),0 1px 0 rgba(3,61,55,.92)}
.journey-layout .steps{display:grid;grid-template-columns:1fr;grid-auto-rows:1fr;gap:13px}
.journey-layout .step{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;width:100%;height:100%;min-height:138px;padding:21px 22px;box-sizing:border-box;text-align:left;cursor:pointer;background:linear-gradient(155deg,rgba(31,22,60,.94),rgba(17,12,40,.97))}
.journey-layout .step .num{margin:0;animation:none!important}
.journey-layout .step p{margin:0;line-height:1.55}
.journey-layout .step.is-active{border-color:var(--journey-accent,#c084fc);background:linear-gradient(145deg,rgba(60,35,105,.96),rgba(20,14,47,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 12px 24px rgba(0,0,0,.22),0 0 18px rgba(168,85,247,.12)}
.journey-layout .step[data-step-glow]:hover,.journey-layout .step[data-step-glow]:focus-within,.journey-layout .step[data-step-glow].is-lit{transform:translateX(-4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 12px 24px rgba(0,0,0,.2),0 0 15px rgba(168,85,247,.14)}
.journey-layout .step[data-step-glow]:hover .num,.journey-layout .step[data-step-glow]:focus-within .num,.journey-layout .step[data-step-glow].is-lit .num{animation:none!important;transform:scale(1.04);box-shadow:0 0 18px rgba(168,85,247,.34)}

@media(max-width:900px){
  .journey-layout{grid-template-columns:1fr;max-width:680px}
}

/* FAQ: pocas decisiones a la vez, sin eliminar ninguna respuesta. */
.faq-kicker{
  display:block;
  margin-bottom:8px;
  color:#7dd3fc;
  font:800 .72rem 'Sora',sans-serif;
  letter-spacing:.13em;
}
.faq-explorer,.faq-show-all{display:none}
.faq-enhanced .faq-explorer{display:block;max-width:860px;margin:0 auto 18px}
.faq-enhanced .faq-show-all{display:flex}
.faq-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.faq-filter{
  min-height:44px;
  padding:10px 16px;
  border:1px solid rgba(196,181,253,.28);
  border-radius:999px;
  color:#ddd6fe;
  background:linear-gradient(180deg,rgba(39,27,72,.94),rgba(20,14,46,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 0 rgba(9,5,26,.76),0 6px 13px rgba(0,0,0,.16);
  font:700 .82rem 'Sora',sans-serif;
  cursor:pointer;
}
.faq-filter:hover,.faq-filter:focus-visible{
  border-color:rgba(192,132,252,.76);
  color:#fff;
  outline:none;
}
.faq-filter:focus-visible{box-shadow:0 0 0 3px rgba(192,132,252,.2),0 2px 0 rgba(9,5,26,.76)}
.faq-filter.is-active{
  border-color:#c084fc;
  color:#fff;
  background:linear-gradient(145deg,rgba(91,48,145,.9),rgba(35,21,73,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 2px 0 rgba(28,11,58,.85),0 7px 15px rgba(0,0,0,.18),0 0 14px rgba(168,85,247,.16);
}
.faq-results{
  min-height:22px;
  margin:13px 0 0;
  color:#a5b4fc;
  font-size:.82rem;
  font-weight:700;
  text-align:center;
}
.faq-enhanced .faq-list{max-width:820px}
.faq-enhanced .faq-item{
  border-color:rgba(196,181,253,.22);
  background:linear-gradient(155deg,rgba(31,22,60,.94),rgba(17,12,40,.97));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),0 6px 16px rgba(0,0,0,.14);
}
.faq-enhanced .faq-item[hidden]{display:none!important}
.faq-enhanced .faq-item.open{border-color:rgba(192,132,252,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 9px 20px rgba(0,0,0,.2),0 0 16px rgba(168,85,247,.1)}
.faq-enhanced .faq-q{min-height:58px;padding:16px 20px;line-height:1.45}
.faq-enhanced .faq-a div{line-height:1.68}
.faq-answer-action{
  display:inline-flex;
  margin-top:14px;
  color:#c4b5fd;
  font:800 .82rem 'Sora',sans-serif;
  text-decoration:none;
}
.faq-answer-action:hover,.faq-answer-action:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.faq-show-all{
  align-items:center;
  justify-content:center;
  min-height:48px;
  margin:20px auto 0;
  padding:11px 20px;
  border:1px solid rgba(196,181,253,.4);
  border-radius:14px;
  color:#ddd6fe;
  background:linear-gradient(180deg,rgba(42,29,78,.94),rgba(20,14,46,.98));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 3px 0 rgba(10,6,27,.78),0 8px 16px rgba(0,0,0,.18);
  font:800 .83rem 'Sora',sans-serif;
  cursor:pointer;
}
.faq-show-all:hover,.faq-show-all:focus-visible{border-color:#c084fc;color:#fff;outline:none;box-shadow:0 0 0 3px rgba(192,132,252,.14),0 3px 0 rgba(10,6,27,.78),0 9px 18px rgba(0,0,0,.2)}
.faq-show-all:active{transform:translateY(3px);box-shadow:inset 0 2px 7px rgba(0,0,0,.3),0 1px 0 rgba(10,6,27,.8)}

/* Mantiene simétrica y más compacta la transición entre FAQ y el cierre. */
#faq{padding-bottom:62px}
#contacto{padding-top:62px}

/* El movimiento automático queda concentrado en el planetario. */
.rb-spark,
.logo .logo-mark-full::after,
.logo .logo-mark-full img,
.btn-wa,
.smart-badge,
.hero-nudge,
.stream-wrap h2 em,
.stream-tags::before,
.stream-tag,
.trust-item .icon-badge,
.wa-float,
.catalog-teaser,
.catalog-teaser::before,
.catalog-teaser-tag,
.catalog-teaser-head h3,
.catalog-teaser-card svg,
.catalog-teaser-cta,
.catalog-teaser-cta svg,
.concierge-orb span{animation:none!important}

/* Presentación progresiva: todo sigue en el DOM y se revela a petición. */
.services-mobile-toggle{display:none}

@media(max-width:560px){
  #servicesGrid:not(.is-mobile-expanded) .service-card:nth-child(n+4){display:none}
  .services-mobile-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:50px;
    margin:18px 0 0;
    padding:11px 18px;
    border:1px solid rgba(94,234,212,.88);
    border-radius:14px;
    color:#5fffb4;
    background:radial-gradient(circle at 50% 0,rgba(52,211,153,.2),transparent 58%),linear-gradient(180deg,rgba(15,58,64,.96),rgba(6,31,42,.98));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -5px 11px rgba(0,0,0,.34),0 3px 0 rgba(3,61,55,.95),0 7px 14px rgba(0,0,0,.26),0 0 13px rgba(45,212,191,.18);
    font:800 .84rem 'Sora',sans-serif;
    text-transform:uppercase;
    letter-spacing:.035em;
    cursor:pointer;
  }
  .services-mobile-toggle[hidden]{display:none}
  .services-mobile-toggle:focus-visible{outline:2px solid #99f6e4;outline-offset:3px}
  .services-mobile-toggle:active{transform:translateY(3px);box-shadow:inset 0 2px 8px rgba(0,0,0,.38),0 1px 0 rgba(3,61,55,.95),0 3px 7px rgba(0,0,0,.22)}

  .smart-assist{left:auto;right:94px}
  .smart-assist-trigger{width:auto;min-width:166px;min-height:54px;padding:9px 13px}
  .smart-assist-trigger>strong{font-size:.76rem}

  .journey-layout{gap:20px}
  .journey-preview{min-height:0;padding:16px;border-radius:24px}
  .journey-preview-head{align-items:flex-start;flex-direction:column;margin-bottom:13px}
  .journey-ticket{padding:18px 16px;border-radius:18px}
  .journey-status{font-size:1.65rem}
  .journey-code{align-items:flex-start;flex-direction:column;gap:5px}
  .journey-layout .step{min-height:0;padding:17px 16px;gap:13px}
  .journey-layout .step .num{width:40px;height:40px;font-size:1rem}
  .journey-layout .step h3{font-size:.96rem}
  .journey-layout .step p{font-size:.84rem}

  .faq-enhanced .section-head{margin-bottom:22px}
  .faq-enhanced .faq-explorer{margin-bottom:14px}
  .faq-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:2px}
  .faq-filter{width:100%;min-height:46px;padding:10px 11px}
  .faq-filter:first-child{grid-column:1/-1}
  .faq-enhanced .faq-q{min-height:56px;padding:15px 16px;font-size:.9rem}
  .faq-enhanced .faq-a div{padding:0 16px 17px;font-size:.88rem}
  .faq-show-all{width:100%;margin-top:16px}

  .faq-in-view .wa-float,.journey-in-view .wa-float{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px)}
}

@media(prefers-reduced-motion:reduce){
  .concierge-intent:hover,.concierge-intent:focus-visible,.concierge-intent:active,.catalog-teaser-card:hover,.catalog-teaser-card:focus-visible,.catalog-teaser-card:active,.services-mobile-toggle:active,.faq-show-all:active,.journey-cta:active,.journey-layout .step[data-step-glow]:hover,.journey-layout .step[data-step-glow]:focus-within,.journey-layout .step[data-step-glow].is-lit{transform:none}
}
