/* ==========================================================================
   QuVi — Recomendador Pasos (Step 0–5) · CSS PROD (Light-only · 2026)
   OBJETIVO: este bundle NO define el “shell” de cards.
   Shell canónico en core-index.css:
   - .qv-card (base)
   - .qv-card--interactive (hover/focus/active)
   - .is-selected / [aria-selected="true"] (selected)
   Aquí: layout, spacing, tipografías internas, paddings y microcomponentes.
   ========================================================================== */

/* ==========================================================================
   00) Tokens locales
   ========================================================================== */
:root{
  /* Typography */
  --qv-title-size:clamp(32px,3.8vw,48px);--qv-title-lh:1.02;--qv-title-w:var(--fw-700);--qv-title-trk:var(--trk-tight);--qv-title-color:var(--ink);
  --qv-copy-size:17px;--qv-copy-size-lg:18px;--qv-copy-lh:var(--lh-body);--qv-copy-color:color-mix(in oklch,var(--muted) 88%,var(--ink));
  --qv-kicker-size:12px;--qv-kicker-w:var(--fw-700);--qv-kicker-trk:.02em;--qv-kicker-color:color-mix(in oklch,var(--muted) 72%,var(--ink));

  /* Wrap */
  --qv-wrap-w:1120px;--qv-wrap-pad-y:96px;--qv-wrap-pad-y-md:76px;--qv-wrap-pad-y-sm:64px;

  /* Controls */
  --qv-control-h:44px;--qv-control-r:14px;--qv-control-pad-x:12px;
  --qv-control-bg:color-mix(in oklch,var(--c-white) 86%,transparent);
  --qv-control-bd:var(--stroke-1);
  --qv-control-ink:var(--ink);
  --qv-control-ph:color-mix(in oklch,var(--muted) 70%,var(--ink));
  --qv-control-focus-bd:color-mix(in oklch,var(--brand) 44%,var(--stroke-1));
  --qv-control-focus-glow:0 0 0 3px color-mix(in oklch,var(--brand) 14%,transparent);

  /* Buttons (scope #main) */
  --qv-btn-h:var(--qv-control-h);--qv-btn-r:999px;--qv-btn-pad-x:18px;--qv-btn-fs:13px;
  --qv-btn-shadow:0 1px 0 var(--inset-hi-2) inset,0 20px 60px rgba(15,23,42,.10);
  --qv-btn-shadow-primary:0 1px 0 rgba(255,255,255,.20) inset,0 22px 70px rgba(15,23,42,.14);

  /* Micro-elev */
  --qv-elev-soft:0 18px 54px rgba(15,23,42,.10);

  /* Step sizing */
  --qv-header-h:84px;
  --qv-step-min-px:640px;
}

/* ==========================================================================
   01) Base y accesibilidad (mínimo)
   ========================================================================== */
#main{flex:1;}
/* Cada paso del wizard ocupa exactamente viewport − header − breadcrumb
   (con piso para mobile chico). Patrón único, usa vars compartidas. */
.qvStep{
  position:relative;min-width:0;
  min-height:max(var(--qv-step-min-px),var(--page-hero-min-h));
}
.qvStep[hidden]{display:none;}

/* Interactivos del bundle: tap + reset acotado */
:where(.s0Card,.choice,.optCard,.stepBack,.stepHome,.counter__btn,#main .btn){
  -webkit-tap-highlight-color:transparent;appearance:none;border:0;background:transparent;font:inherit;
}
:where(.s0Card,.choice,.optCard,.stepBack,.stepHome,.counter__btn,#main .btn):focus{outline:none;}
:where(.s0Card,.choice,.optCard,.stepBack,.stepHome,.counter__btn,#main .btn):focus-visible{outline:none;}

/* ==========================================================================
   02) Fondo y layout global
   ========================================================================== */
html{
  min-height:100%;
  background:
    radial-gradient(clamp(980px,70vw,1500px) clamp(420px,34vw,680px) at 18% -12%,rgba(29,111,224,.14),transparent 60%),
    radial-gradient(clamp(860px,62vw,1320px) clamp(420px,34vw,680px) at 92% 8%,rgba(29,111,224,.12),transparent 62%),
    radial-gradient(clamp(720px,52vw,1180px) clamp(360px,28vw,560px) at 56% 10%,rgba(29,111,224,.09),transparent 64%),
    linear-gradient(180deg,rgba(236,244,255,.90) 0%,rgba(247,251,255,.95) 36%,rgba(255,255,255,.985) 66%,#fff 100%);
  background-repeat:no-repeat;
}
body{background:transparent;}

/* Secciones centradas */
.career,.actors,.finalPick{display:grid;place-items:center;background:transparent;}

/* Wrap compartido */
.career__wrap,.actors__wrap,.finalPick__wrap{width:min(var(--qv-wrap-w),calc(100% - 32px));padding:var(--qv-wrap-pad-y) 0;position:relative;}

/* Grids principales */
.career__grid{display:grid;grid-template-columns:1.12fr .88fr;gap:48px;align-items:start;}
.actors__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}

/* ==========================================================================
   03) Tipografía y jerarquía
   ========================================================================== */
.s0__title,.heroStory__title,.career__title,.actors__title,.finalPick__title{margin:0;font-size:var(--qv-title-size);font-weight:var(--qv-title-w);letter-spacing:var(--qv-title-trk);line-height:var(--qv-title-lh);color:var(--qv-title-color);}
.s0__copy,.heroStory__sub,.career__copy,.actors__copy,.finalPick__copy{margin:0;color:var(--qv-copy-color);font-size:var(--qv-copy-size);line-height:var(--qv-copy-lh);}
@media (min-width:860px){.s0__copy,.heroStory__sub,.career__copy,.actors__copy,.finalPick__copy{font-size:var(--qv-copy-size-lg);}}

.career__kicker{margin:0 0 12px;padding-left:10px;font-size:var(--qv-kicker-size);font-weight:var(--qv-kicker-w);letter-spacing:var(--qv-kicker-trk);text-transform:uppercase;color:var(--qv-kicker-color);}

/* Anchos consistentes */
.career__title{max-width:18ch;}
.actors__title{max-width:20ch;}
.finalPick__title{max-width:22ch;}
.career__copy{margin-top:18px;max-width:58ch;}
.actors__copy{margin-top:16px;max-width:62ch;}
.finalPick__copy{max-width:70ch;}
.career__leftCard{margin-top:34px;max-width:560px;}
.actors__leftCard{margin-top:30px;max-width:560px;}

/* ==========================================================================
   04) Controles (botones, inputs, forms)
   ========================================================================== */

/* Buttons (scope #main) */
#main .btn{
  appearance:none;cursor:pointer;height:var(--qv-btn-h);padding:0 var(--qv-btn-pad-x);min-width:0;
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  border-radius:var(--qv-btn-r);border:1px solid var(--stroke-1);
  background:color-mix(in oklch,var(--c-white) 86%,transparent);
  box-shadow:var(--qv-btn-shadow);
  line-height:1;text-align:center;white-space:nowrap;
  font-size:var(--qv-btn-fs);font-weight:var(--fw-700);letter-spacing:var(--trk-normal);color:var(--ink);
  transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease;
}
#main .btn:hover{background:color-mix(in oklch,var(--brand) 6%,var(--c-white));border-color:color-mix(in oklch,var(--brand) 18%,var(--stroke-1));}
#main .btn:active{transform:translateY(1px);}
#main .btn:focus-visible{box-shadow:var(--qv-ring0),var(--qv-ring1),0 1px 0 var(--inset-hi-2) inset,0 20px 60px rgba(15,23,42,.10);}
#main .btn--primary{border-color:color-mix(in oklch,var(--brand) 22%,var(--stroke-1));background:linear-gradient(180deg,color-mix(in oklch,var(--brand) 82%,var(--c-white)),var(--brand));color:var(--c-white);box-shadow:var(--qv-btn-shadow-primary);}
#main .btn--primary:hover{background:linear-gradient(180deg,color-mix(in oklch,var(--brand) 88%,var(--c-white)),color-mix(in oklch,var(--brand) 94%,#0B56C7));border-color:color-mix(in oklch,var(--brand) 30%,var(--stroke-1));}
#main .btn[disabled],#main .btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;}
#main .btn svg,#main .btn i svg{width:16px;height:16px;stroke-width:2;display:block;}

/* Inputs / fields */
.fields{display:grid;gap:12px;}
.field{display:grid;gap:6px;}
.label{margin:0 0 2px;font-size:12px;font-weight:var(--fw-700);letter-spacing:.08em;text-transform:none;color:color-mix(in oklch,var(--muted) 78%,var(--ink));}
.input{
  width:100%;height:var(--qv-control-h);padding:0 var(--qv-control-pad-x);border-radius:var(--qv-control-r);
  border:1px solid var(--qv-control-bd);background:var(--qv-control-bg);
  box-shadow:0 1px 0 var(--inset-hi-3) inset;
  font-size:14px;color:var(--qv-control-ink);
}
.input::placeholder{color:var(--qv-control-ph);}
.input:focus{border-color:var(--qv-control-focus-bd);box-shadow:0 1px 0 var(--inset-hi-3) inset,var(--qv-control-focus-glow);}

/* Form head row + icon button */
.formCard__headRow{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.formCard__headRow .formHead{margin:0;text-align:left;justify-content:flex-start;}
.iconBtn{
  width:36px;height:36px;border-radius:12px;
  border:1px solid var(--stroke-1);background:color-mix(in oklch,var(--c-white) 78%,transparent);
  box-shadow:0 1px 0 var(--inset-hi-2) inset;
  display:grid;place-items:center;
  cursor:pointer;color:color-mix(in oklch,var(--muted) 78%,var(--ink));
  transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;
}
.iconBtn:hover{background:color-mix(in oklch,#ef4444 8%,var(--c-white));border-color:color-mix(in oklch,#ef4444 26%,var(--stroke-1));color:color-mix(in oklch,#ef4444 80%,var(--ink));}
.iconBtn:active{transform:translateY(1px);}
.iconBtn:focus-visible{box-shadow:var(--qv-ring0),var(--qv-ring1),0 1px 0 var(--inset-hi-2) inset;}
.iconBtn[disabled]{opacity:.45;cursor:not-allowed;}
.iconBtn svg,.iconBtn i svg{width:16px;height:16px;stroke-width:2;display:block;}

/* Counter */
.counter{
  display:grid;grid-template-columns:var(--qv-control-h) 1fr var(--qv-control-h);align-items:center;gap:12px;
  padding:8px;border-radius:18px;
  background:color-mix(in oklch,var(--c-white) 66%,transparent);
  box-shadow:0 1px 0 var(--inset-hi-3) inset,0 0 0 1px var(--stroke-1) inset;
}
.counter__btn{
  width:var(--qv-control-h);height:var(--qv-control-h);border-radius:999px;
  border:1px solid var(--stroke-1);background:color-mix(in oklch,var(--c-white) 78%,transparent);
  box-shadow:0 1px 0 var(--inset-hi-2) inset;
  display:grid;place-items:center;
  cursor:pointer;color:color-mix(in oklch,var(--muted) 78%,var(--ink));
  transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;
}
.counter__btn:hover{background:color-mix(in oklch,var(--brand) 6%,var(--c-white));border-color:color-mix(in oklch,var(--brand) 18%,var(--stroke-1));color:color-mix(in oklch,var(--ink) 92%,var(--brand));}
.counter__btn:active{transform:translateY(1px);}
.counter__btn:focus-visible{box-shadow:var(--qv-ring0),var(--qv-ring1),0 1px 0 var(--inset-hi-2) inset;}
.counter__btn[disabled]{opacity:.45;cursor:not-allowed;}
.counter__val{text-align:center;user-select:none;font-size:44px;font-weight:var(--fw-700);letter-spacing:var(--trk-tight);line-height:1;color:var(--brand);}

/* Subgroup */
.subGroup{display:grid;gap:12px;padding-top:4px;margin-top:4px;border-top:1px solid color-mix(in oklch,var(--stroke-1) 88%,transparent);}
.subGroup__title{margin:2px 0 0;font-size:12px;font-weight:var(--fw-700);letter-spacing:.08em;color:color-mix(in oklch,var(--muted) 78%,var(--ink));}

/* ==========================================================================
   05) Microcomponentes (cards internos, iconos)
   ========================================================================== */

/* qvCard informativo (shell .qv-card vive en core) */
.qvCard--soft{background:linear-gradient(180deg,color-mix(in oklch,var(--brand) 7%,var(--glass-96)),var(--slateTint-a85));}
.qvCard__in{padding:22px;display:grid;gap:10px;}
.qvCard__row{display:flex;align-items:center;gap:12px;min-width:0;}
.qvCard__title{margin:0;font-size:18px;font-weight:var(--fw-700);letter-spacing:var(--trk-normal);color:var(--ink);}
.qvCard__text{margin:0;max-width:58ch;color:var(--muted);font-size:14px;line-height:1.55;}

/* Icon chips (brand) */
.qvIcon,.s0Card__ico,.optCard__ico{
  display:grid;place-items:center;color:var(--brand);
  background:color-mix(in oklch,var(--brand) 10%,var(--c-white));
  box-shadow:0 1px 0 var(--inset-hi-2) inset,0 0 0 1px rgba(15,111,232,.14) inset;
}
.qvIcon{width:36px;height:36px;border-radius:12px;flex:0 0 auto;}
.qvIcon svg,.qvIcon i svg{width:18px;height:18px;stroke-width:2;display:block;}

/* Choice icon (neutral + selected/hover sync) */
.choice__icon{
  width:34px;height:34px;border-radius:12px;display:grid;place-items:center;flex:0 0 auto;margin-top:2px;
  background:color-mix(in oklch,var(--slateTint) 70%,var(--c-white));
  box-shadow:0 1px 0 var(--inset-hi-3) inset,0 0 0 1px var(--stroke-1) inset;
  color:color-mix(in oklch,var(--muted) 80%,var(--ink));
}
.choice__icon svg,.choice__icon i svg{width:18px;height:18px;stroke-width:2;display:block;}
.choice.is-selected .choice__icon{background:color-mix(in oklch,var(--brand) 10%,var(--c-white));box-shadow:0 1px 0 var(--inset-hi-2) inset,0 0 0 1px rgba(15,111,232,.16) inset;color:var(--brand);}
.choice.qv-card--interactive:hover .choice__icon,.choice.qv-card--interactive:focus-visible .choice__icon{background:color-mix(in oklch,var(--brand) 10%,var(--c-white));box-shadow:0 1px 0 var(--inset-hi-2) inset,0 0 0 1px rgba(15,111,232,.16) inset;color:var(--brand);}
.choice.is-selected:hover .choice__icon{color:var(--brand);}

/* ==========================================================================
   06) Componentes por sección (Step 0–5)
   ========================================================================== */

/* Step Nav (uniform): Back + Home */
.heroStory__inner{position:relative;}
.stepNav{position:absolute;left:0;top:22px;z-index:10;display:flex;gap:6px;}
.stepBack,.stepHome{
  width:var(--qv-control-h);height:var(--qv-control-h);border-radius:999px;
  border:1px solid var(--stroke-1);
  background:color-mix(in oklch,var(--c-white) 78%,transparent);
  box-shadow:0 1px 0 var(--inset-hi-2) inset,var(--qv-elev-soft);
  display:grid;place-items:center;
  cursor:pointer;color:color-mix(in oklch,var(--muted) 78%,var(--ink));
  transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease;
}
.stepBack:hover,.stepHome:hover{background:color-mix(in oklch,var(--brand) 6%,var(--c-white));border-color:color-mix(in oklch,var(--brand) 18%,var(--stroke-1));color:color-mix(in oklch,var(--ink) 92%,var(--brand));}
.stepBack:active,.stepHome:active{transform:translateY(1px);}
.stepBack:focus-visible,.stepHome:focus-visible{box-shadow:var(--qv-ring0),var(--qv-ring1),0 1px 0 var(--inset-hi-2) inset,var(--qv-elev-soft);}
.stepBack svg,.stepHome svg{width:18px;height:18px;stroke-width:2;display:block;}
@media (max-width:520px){.stepNav{left:2px;top:18px;}}

/* Step 0 (situación) */
.s0{display:grid;place-items:center;background:transparent;}
.s0__wrap{
  width:min(var(--qv-wrap-w),calc(100% - 32px));padding:var(--qv-wrap-pad-y) 0;position:relative;
  display:grid;justify-items:center;text-align:center;gap:14px;
}
.s0__title{max-width:24ch;}
.s0__copy{max-width:70ch;}
.s0__grid{width:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch;margin-top:16px;}
.s0Card{width:100%;cursor:pointer;text-align:left;padding:18px;display:grid;gap:10px;}
.s0Card__row{display:flex;gap:12px;align-items:flex-start;min-width:0;}
.s0Card__ico{width:46px;height:46px;border-radius:14px;flex:0 0 auto;transition:background .14s ease,box-shadow .14s ease;}
.s0Card:hover .s0Card__ico,.s0Card.is-selected .s0Card__ico{background:color-mix(in oklch,var(--brand) 14%,var(--c-white));box-shadow:0 1px 0 var(--inset-hi-2) inset,0 0 0 1px rgba(15,111,232,.22) inset;}
.s0Card__ico svg,.s0Card__ico i svg{width:22px;height:22px;stroke-width:1.8;display:block;}
.s0Card__title{margin:0;font-size:16px;font-weight:var(--fw-700);letter-spacing:var(--trk-normal);color:var(--ink);line-height:1.15;}
.s0Card__desc{margin:6px 0 0;max-width:44ch;color:var(--muted);font:13px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;}
@media (max-width:980px){.s0__grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.s0__wrap{padding:var(--qv-wrap-pad-y-md) 0;}.s0__grid{grid-template-columns:1fr;gap:14px;}}

/* Step 1 (heroStory) */
.heroStory{position:relative;display:grid;place-items:center;overflow:hidden;background:transparent;}
.heroStory__inner{width:min(960px,calc(100% - 32px));text-align:center;padding:var(--qv-wrap-pad-y) 0;}
.heroStory__pill{
  display:inline-flex;align-items:center;justify-content:center;
  padding:6px 12px;border-radius:999px;
  font-size:12px;font-weight:var(--fw-600);text-transform:uppercase;
  color:var(--brand-dark);background:color-mix(in oklch,var(--brand) 12%,var(--c-white));
  margin:0 auto 18px;
}
.heroStory__title{max-width:20ch;margin:0 auto;}
.heroStory__sub{max-width:56ch;margin:18px auto 0;}
.heroStory__cta{margin:26px auto 0;}
@media (max-width:520px){
  .heroStory__inner{padding:var(--qv-wrap-pad-y-md) 0;}
  .heroStory__pill{padding:7px 12px;}
  .heroStory__title{max-width:18ch;}
  .heroStory__sub{max-width:44ch;}
}

/* Choice list (Step 2/3/4) */
.choiceList{display:grid;gap:14px;margin:0;padding:0;list-style:none;}
.choice{width:100%;cursor:pointer;text-align:left;padding:18px;display:block;}
.choice__row{display:flex;align-items:flex-start;gap:12px;min-width:0;}
.choice__title{margin:0;font-size:18px;font-weight:var(--fw-700);letter-spacing:var(--trk-normal);color:var(--ink);line-height:1.15;}
.choice__desc{margin:8px 0 0;max-width:44ch;color:var(--muted);font-size:14px;line-height:1.55;}

/* Step 2 — Pre-footer comentario */
.career__preFooter{margin-top:64px;display:flex;justify-content:center;padding:0 12px;}
.career__preFooterInner{width:100%;max-width:860px;}
.career__preFooterInner .qvTCard__viewport{overflow:hidden;cursor:pointer;outline:none;}
.career__preFooterInner .qvTCard__track{display:flex;will-change:transform;transform:translate3d(0,0,0);}
.career__preFooterInner .qvTCard__slide{flex:0 0 100%;min-width:100%;}
.career__preFooterInner .career__noteText{margin:0;text-align:center;color:rgba(15,23,42,.56);font-size:13.5px;line-height:1.55;letter-spacing:.01em;}
.career__preFooterInner .qvTCard__dots{display:flex;justify-content:center;gap:6px;padding-top:24px;}
.career__preFooterInner .qvTCard__dot{width:6px;height:6px;border-radius:999px;border:0;padding:0;background:rgba(15,23,42,.26);cursor:pointer;}
.career__preFooterInner .qvTCard__dot[aria-selected="true"]{background:rgba(15,111,232,.78);}
.career__preFooterInner .qvTCard__dot:focus-visible{box-shadow:var(--qv-ring0),var(--qv-ring1);}

/* Step 4 (form) */
.formStack{display:grid;gap:18px;align-content:start;}
.formCard{
  border-radius:22px;
  background:linear-gradient(180deg,var(--glass-96),var(--slateTint-a90));
  box-shadow:0 1px 0 var(--inset-hi-2) inset,0 0 0 1px var(--stroke-1) inset,0 28px 78px rgba(15,23,42,.10);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
}
.formCard__in{padding:18px;display:grid;gap:14px;}
.formHead{
  margin:0;text-align:center;
  display:flex;align-items:center;justify-content:center;gap:8px;
  font-size:13px;font-weight:var(--fw-700);letter-spacing:var(--trk-normal);
  color:color-mix(in oklch,var(--muted) 74%,var(--ink));
}
.actors__actions{width:100%;margin-top:16px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.optCard[hidden]{display:none !important;}

/* Step 5 (finalPick) */
.finalPick__wrap{display:grid;justify-items:center;text-align:center;gap:16px;}
.finalPick__grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,340px));
  justify-content:center;
  gap:22px;
  align-items:stretch;
  margin-top:18px;
}
.optCard{width:100%;cursor:pointer;text-align:left;padding:22px;display:grid;gap:10px;position:relative;}
.optCard__row{display:flex;gap:12px;align-items:flex-start;min-width:0;}
.optCard__ico{width:40px;height:40px;border-radius:14px;flex:0 0 auto;}
.optCard__ico svg,.optCard__ico i svg{width:18px;height:18px;stroke-width:2;display:block;}
.optCard__title{margin:0;font-size:18px;font-weight:var(--fw-700);letter-spacing:var(--trk-normal);color:var(--ink);line-height:1.15;}
.optCard__desc{margin:6px 0 0;max-width:44ch;color:var(--muted);font-size:14px;line-height:1.55;}
.optCard.is-selected{position:relative;}
.optCard.is-selected::after{content:"";position:absolute;inset:-2px;border-radius:calc(var(--card-r) + 2px);border:2px solid color-mix(in oklch,var(--brand) 78%,var(--c-white));pointer-events:none;}
.optCard.is-locked::after{content:"";position:absolute;inset:-2px;border-radius:calc(var(--card-r) + 2px);border:2px solid color-mix(in oklch,#ef4444 78%,var(--c-white));pointer-events:none;}
.optCard__reco{
  position:absolute;right:18px;top:18px;
  padding:2px 8px;border-radius:999px;
  font-size:12px;font-weight:var(--fw-600);letter-spacing:var(--trk-normal);
  color:var(--brand-dark);
  background:color-mix(in oklch,var(--brand) 12%,var(--c-white));
  box-shadow:0 1px 0 var(--inset-hi-2) inset,0 0 0 1px rgba(15,111,232,.16) inset;
}

/* Final badges + actions */
.finalReady__badge{
  margin:0;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:8px 12px;border-radius:999px;
  border:1px solid var(--stroke-1);
  background:color-mix(in oklch,var(--c-white) 86%,transparent);
  box-shadow:0 1px 0 var(--inset-hi-2) inset;
  font-size:12px;font-weight:var(--fw-700);
  color:color-mix(in oklch,var(--muted) 74%,var(--ink));
}
.finalReady__badge b{color:var(--brand);font-weight:var(--fw-600);}
.finalReady__badge svg,.finalReady__badge i svg{width:16px;height:16px;stroke-width:2;display:block;color:color-mix(in oklch,var(--brand) 78%,var(--ink));}

.finalReady__actions{width:100%;margin-top:16px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.finalReady__micro{margin:0;color:color-mix(in oklch,var(--muted) 84%,var(--ink));font-size:14px;line-height:1.55;}
.finalReady__vals{display:inline-flex;align-items:center;gap:0;line-height:1;}
.finalReady__vals b{line-height:1;}
.finalReady__sep{display:inline-flex;align-items:center;justify-content:center;line-height:1;margin:0 .55em;}

/* ==========================================================================
   07) Estados, validación y animaciones locales
   ========================================================================== */
@keyframes qvPulseRed{0%{box-shadow:0 0 0 0 rgba(239,68,68,.45);}70%{box-shadow:0 0 0 6px rgba(239,68,68,0);}100%{box-shadow:0 0 0 0 rgba(239,68,68,0);}}
.stepBack--pulseRed{animation:qvPulseRed 1.25s ease-out infinite;outline:none;}
.stepBack--pulseRed:focus-visible{animation:none;box-shadow:0 0 0 3px rgba(239,68,68,.28);}
.input.is-invalid{border-color:rgba(239,68,68,.65);box-shadow:0 0 0 3px rgba(239,68,68,.16);}
.field.is-invalid .label{color:rgba(185,28,28,.95);}

/* ==========================================================================
   08) Responsive
   ========================================================================== */
@media (max-width:920px){
  .career__wrap,.actors__wrap,.finalPick__wrap{padding:var(--qv-wrap-pad-y-md) 0;}
  .career__grid,.actors__grid{grid-template-columns:1fr;gap:28px;}
  .finalPick__grid{grid-template-columns:1fr;gap:14px;}

  #main .btn{
    width:auto;
    min-width:160px;
    max-width:220px;
    height:40px;
    padding:0 16px;
    font-size:15px;
    gap:6px;
  }

  .actors__actions .btn,
  .finalReady__actions .btn{
    width:100%;
    min-width:0;
    max-width:none;
  }

  .finalReady__actions{gap:10px;}
}
@media (max-width:520px){.finalPick__wrap{padding:var(--qv-wrap-pad-y-sm) 0;}}

/* Sticky CTA (mobile) */
@media (max-width:920px){
  .finalReady__actions[data-mobile-cta]{
    position:sticky;bottom:16px;z-index:20;
    width:100%;padding-top:10px;margin-top:16px;
    background:linear-gradient(180deg,transparent,color-mix(in oklch,var(--bg) 86%,transparent) 28%,var(--bg));
  }
}

/* ==========================================================================
   09) Reduced motion (solo microtransiciones locales)
   ========================================================================== */
@media (prefers-reduced-motion: reduce){
  #main .btn,.counter__btn,.stepBack,.stepHome,.s0Card__ico{transition:none;}
}

/* ==========================================================
   99) Step Transitions — Pure fade (no motion)
   ========================================================== */
.qvStep{
  opacity:0;
  pointer-events:none;
  transition:opacity .16s linear;
  will-change:opacity;
}
.qvStep.is-active{
  opacity:1;
  pointer-events:auto;
}
.qvStep.is-leaving{
  opacity:0;
  pointer-events:none;
}
@media (prefers-reduced-motion:reduce){
  .qvStep{transition:none;}
}




/* PASO 1 */
@media (max-width:980px){
  .s0{padding-block:44px;}
  .s0__wrap{width:min(392px,100%);padding:44px 0 52px;gap:0;}
  .s0__title{max-width:none;width:100%;margin-inline:auto;margin-bottom:16px;text-align:center;font-size:clamp(30px,8.1vw,43px);line-height:1.03;letter-spacing:-.042em;text-wrap:balance;}
  .s0__copy{max-width:none;width:100%;margin-inline:auto;margin-bottom:20px;text-align:center;font-size:clamp(15px,4.1vw,18px);line-height:1.48;text-wrap:balance;}
  .s0__grid{grid-template-columns:1fr;gap:16px;align-items:stretch;margin-top:0;}
  .s0Card{padding:18px 16px;border-radius:18px;}
  .s0Card__row{gap:14px;align-items:center;}
  .s0Card__ico{width:62px;height:62px;border-radius:16px;flex:0 0 62px;}
  .s0Card__ico svg,.s0Card__ico i svg{width:26px;height:26px;}
  .s0Card__title{margin:0 0 5px;font-size:clamp(17px,4.5vw,20px);line-height:1.12;letter-spacing:-.02em;}
  .s0Card__desc{margin:0;max-width:none;font-size:clamp(13.5px,3.55vw,16px);line-height:1.42;}
}

@media (max-width:480px){
  .s0{padding-block:42px;}
  .s0__wrap{width:min(348px,100%);padding:36px 0 48px;}
  .s0__title{margin-bottom:14px;font-size:clamp(29px,8.1vw,39px);line-height:1.03;letter-spacing:-.042em;}
  .s0__copy{margin-bottom:20px;font-size:clamp(14px,4.2vw,16.5px);line-height:1.46;}
  .s0__grid{gap:12px;}
  .s0Card{padding:16px 14px;border-radius:17px;}
  .s0Card__row{gap:12px;}
  .s0Card__ico{width:54px;height:54px;border-radius:15px;flex:0 0 54px;}
  .s0Card__ico svg,.s0Card__ico i svg{width:22px;height:22px;}
  .s0Card__title{font-size:clamp(16px,4.35vw,18.5px);line-height:1.14;}
  .s0Card__desc{font-size:clamp(12.5px,3.35vw,14.5px);line-height:1.38;}
}


/* PASO 2 */
@media (max-width:980px){
  .heroStory{padding-block:44px;}
  .heroStory__inner{width:min(392px,100%);padding:72px 0 52px;}
  .stepNav{left:0;top:10px;}
  .heroStory__pill{margin:0 auto 16px;padding:6px 11px;font-size:11.5px;}
  .heroStory__title{max-width:none;width:100%;margin-inline:auto;margin-bottom:16px;text-align:center;font-size:clamp(30px,8.1vw,43px);line-height:1.03;letter-spacing:-.042em;text-wrap:balance;}
  .heroStory__sub{max-width:none;width:100%;margin-inline:auto;text-align:center;font-size:clamp(15px,4.1vw,18px);line-height:1.48;text-wrap:balance;}
}

@media (max-width:480px){
  .heroStory{padding-block:42px;}
  .heroStory__inner{width:min(348px,100%);padding:68px 0 48px;}
  .stepNav{left:0;top:8px;}
  .heroStory__pill{margin-bottom:14px;padding:6px 11px;font-size:11px;}
  .heroStory__title{margin-bottom:14px;font-size:clamp(29px,8.1vw,39px);line-height:1.03;letter-spacing:-.042em;}
  .heroStory__sub{font-size:clamp(14px,4.2vw,16.5px);line-height:1.46;}
}


/* PASO 3 */
@media (max-width:980px){
  .career{padding-block:44px;}
  .career__wrap{width:min(392px,100%);padding:72px 0 52px;}
  .stepNav{left:0;top:10px;}
  .career__grid{grid-template-columns:1fr;gap:12px;align-items:start;}
  .career__grid>div:first-child{min-width:0;width:100%;margin-inline:auto;text-align:center;}
  .career__grid>div:first-child .heroStory__pill{margin:0 auto 16px;padding:6px 11px;font-size:11.5px;}
  .career__title{max-width:none;width:100%;margin-inline:auto;margin-bottom:16px;text-align:center;font-size:clamp(30px,8.1vw,43px);line-height:1.03;letter-spacing:-.042em;text-wrap:balance;}
  .career__copy{max-width:none;width:100%;margin:0 auto 22px;text-align:center;font-size:clamp(15px,4.1vw,18px);line-height:1.48;text-wrap:balance;}
  .choiceList{margin-top:0;gap:14px;}
  .choice{width:min(392px,100%);max-width:none;margin-inline:auto;padding:18px 16px;border-radius:18px;}
  .choice__row{gap:12px;align-items:center;}
  .choice__icon{width:44px;height:44px;border-radius:13px;flex:0 0 44px;margin-top:0;}
  .choice__icon svg,.choice__icon i svg{width:20px;height:20px;}
  .choice__title{font-size:clamp(17px,4.5vw,20px);line-height:1.12;letter-spacing:-.02em;}
  .choice__desc{margin:5px 0 0;max-width:none;font-size:clamp(13.5px,3.3vw,15.5px);line-height:1.4;}
}

@media (max-width:480px){
  .career{padding-block:42px;}
  .career__wrap{width:min(348px,100%);padding:68px 0 48px;}
  .stepNav{left:0;top:8px;}
  .career__grid{gap:14px;}
  .career__grid>div:first-child .heroStory__pill{margin-bottom:14px;padding:6px 11px;font-size:11px;}
  .career__title{margin-bottom:14px;font-size:clamp(29px,8.1vw,39px);line-height:1.03;letter-spacing:-.042em;}
  .career__copy{margin-bottom:20px;font-size:clamp(14px,4.2vw,16.5px);line-height:1.46;}
  .choiceList{gap:12px;}
  .choice{width:min(348px,100%);padding:16px 14px;border-radius:17px;}
  .choice__row{gap:10px;align-items:center;}
  .choice__icon{width:40px;height:40px;border-radius:12px;flex:0 0 40px;}
  .choice__icon svg,.choice__icon i svg{width:18px;height:18px;}
  .choice__title{font-size:clamp(16px,4.35vw,18.5px);line-height:1.14;}
  .choice__desc{font-size:clamp(12.5px,3.25vw,14.5px);line-height:1.38;}
}


/* PASO 4 */
@media (max-width:980px){
  .actors{padding-block:44px;}
  .actors__wrap{width:min(392px,100%);padding:72px 0 52px;}
  .stepNav{left:0;top:10px;}
  .actors__grid{grid-template-columns:1fr;gap:12px;align-items:start;}
  .actors__grid>div:first-child{min-width:0;width:100%;margin-inline:auto;text-align:center;}
  .actors__grid>div:first-child .heroStory__pill{margin:0 auto 16px;padding:6px 11px;font-size:11.5px;}
  .actors__title{max-width:none;width:100%;margin-inline:auto;margin-bottom:16px;text-align:center;font-size:clamp(30px,8.1vw,43px);line-height:1.03;letter-spacing:-.042em;text-wrap:balance;}
  .actors__copy{max-width:none;width:100%;margin:0 auto 22px;text-align:center;font-size:clamp(15.5px,4.25vw,18.5px);line-height:1.5;text-wrap:balance;}
  .actors__leftCard{width:min(392px,100%);max-width:none;margin:0 auto 12px;}
  .qvCard__in{padding:18px 16px;}
  .qvCard__row{gap:10px;align-items:center;}
  .qvIcon{width:44px;height:44px;border-radius:13px;}
  .qvIcon svg,.qvIcon i svg{width:20px;height:20px;}
  .qvCard__title{font-size:clamp(17px,4.5vw,20px);line-height:1.12;letter-spacing:-.02em;}
  .qvCard__text{max-width:none;font-size:clamp(14px,3.45vw,16px);line-height:1.42;}
  .formStack{gap:14px;}
  .formCard{width:min(392px,100%);margin-inline:auto;border-radius:18px;}
  .formCard__in{padding:18px 16px;gap:12px;}
  .formHead{font-size:12.5px;}
  .fields{gap:10px;}
  .field{gap:5px;}
  .label{font-size:11.5px;}
  .input{height:42px;font-size:16px;}
  .actors select{font-size:16px;}
  .actors textarea{font-size:16px;}
  .counter{gap:10px;padding:7px;border-radius:16px;}
  .counter__val{font-size:40px;}
  .actors__actions{width:min(392px,100%);margin:22px auto 0;gap:10px;}
  .actors__actions .btn{width:100%;}
}

@media (max-width:480px){
  .actors{padding-block:42px;}
  .actors__wrap{width:min(348px,100%);padding:68px 0 48px;}
  .stepNav{left:0;top:8px;}
  .actors__grid{gap:14px;}
  .actors__grid>div:first-child .heroStory__pill{margin-bottom:14px;padding:6px 11px;font-size:11px;}
  .actors__title{margin-bottom:14px;font-size:clamp(29px,8.1vw,39px);line-height:1.03;letter-spacing:-.042em;}
  .actors__copy{margin-bottom:20px;font-size:clamp(14.5px,4.35vw,17px);line-height:1.48;}
  .actors__leftCard{width:min(348px,100%);margin-bottom:12px;}
  .qvCard__in{padding:16px 14px;}
  .qvCard__row{gap:9px;}
  .qvIcon{width:40px;height:40px;border-radius:12px;}
  .qvIcon svg,.qvIcon i svg{width:18px;height:18px;}
  .qvCard__title{font-size:clamp(16px,4.35vw,18.5px);line-height:1.14;}
  .qvCard__text{font-size:clamp(13px,3.4vw,15px);line-height:1.4;}
  .formStack{gap:12px;}
  .formCard{width:min(348px,100%);border-radius:17px;}
  .formCard__in{padding:16px 14px;gap:10px;}
  .input{font-size:16px;}
  .actors select{font-size:16px;}
  .actors textarea{font-size:16px;}
  .counter{gap:8px;padding:7px;border-radius:14px;}
  .counter__val{font-size:34px;}
  .actors__actions{width:min(348px,100%);margin:20px auto 0;}
}


/* PASO 5 */
@media (max-width:980px){
  .finalPick{padding-block:44px;}
  .finalPick__wrap{width:min(392px,100%);padding:72px 0 52px;gap:0;}
  .stepNav{left:0;top:10px;}
  .finalPick__title{max-width:none;width:100%;margin-inline:auto;margin-bottom:16px;text-align:center;font-size:clamp(30px,8.1vw,43px);line-height:1.03;letter-spacing:-.042em;text-wrap:balance;}
  .finalReady__badge{width:auto;max-width:none;margin:0 auto 16px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;font-size:clamp(13px,3.35vw,15px);font-weight:600;color:color-mix(in oklch,var(--muted) 78%,var(--ink));text-align:center;justify-content:center;gap:7px;flex-wrap:wrap;}
  .finalReady__vals{flex-wrap:wrap;justify-content:center;gap:0;}
  .finalReady__badge b{color:var(--brand);font-weight:700;}
  .finalReady__badge svg,.finalReady__badge i svg{width:15px;height:15px;}
  .finalPick__copy{max-width:none;width:100%;margin:0 auto 22px;text-align:center;font-size:clamp(15px,4.1vw,18px);line-height:1.48;text-wrap:balance;}
  .finalPick__grid{grid-template-columns:1fr;gap:14px;justify-content:stretch;align-items:stretch;margin-top:0;}
  .optCard{width:min(392px,100%);max-width:none;margin-inline:auto;padding:18px 16px;border-radius:18px;}
  .optCard__row{gap:12px;align-items:center;}
  .optCard__ico{width:44px;height:44px;border-radius:13px;flex:0 0 44px;}
  .optCard__ico svg,.optCard__ico i svg{width:20px;height:20px;}
  .optCard__title{font-size:clamp(17px,4.5vw,20px);line-height:1.12;letter-spacing:-.02em;}
  .optCard__desc{margin:5px 0 0;max-width:none;font-size:clamp(13.5px,3.3vw,15.5px);line-height:1.4;}
  .optCard__reco{right:14px;top:14px;font-size:10.5px;}
  .finalReady__actions{width:min(392px,100%);margin:22px auto 0;padding-top:0;background:none;position:static;}
  .finalReady__actions .btn{width:100%;}
}

@media (max-width:480px){
  .finalPick{padding-block:42px;}
  .finalPick__wrap{width:min(348px,100%);padding:68px 0 48px;}
  .stepNav{left:0;top:8px;}
  .finalPick__title{margin-bottom:14px;font-size:clamp(29px,8.1vw,39px);line-height:1.03;letter-spacing:-.042em;}
  .finalReady__badge{width:auto;margin-bottom:14px;padding:0;border:0;background:transparent;box-shadow:none;border-radius:0;font-size:clamp(12px,3.45vw,14px);gap:6px;}
  .finalPick__copy{margin-bottom:20px;font-size:clamp(14px,4.2vw,16.5px);line-height:1.46;}
  .finalPick__grid{gap:12px;}
  .optCard{width:min(348px,100%);padding:16px 14px;border-radius:17px;}
  .optCard__row{gap:10px;align-items:center;}
  .optCard__ico{width:40px;height:40px;border-radius:12px;flex:0 0 40px;}
  .optCard__ico svg,.optCard__ico i svg{width:18px;height:18px;}
  .optCard__title{font-size:clamp(16px,4.35vw,18.5px);line-height:1.14;}
  .optCard__desc{font-size:clamp(12.5px,3.25vw,14.5px);line-height:1.38;}
  .optCard__reco{right:12px;top:12px;font-size:10px;}
  .finalReady__actions{width:min(348px,100%);margin:20px auto 0;}
}