/* Diagnostics · secciones nuevas (22-10-2026, CH-02). Cada una a pantalla completa, con Delight y tokens --brand-*.
   dxc- categorías (lista editorial con imagen que sigue al cursor) · slx- «Tu prueba empieza mucho antes del informe»
   (portaobjetos) · dxs- pruebas destacadas (cartas que se apilan con el scroll). */
.dxc,.slx,.dxs{
  --dx-ink:var(--brand-deep-blue,#000082); --dx-muted:var(--muted,#525475); --dx-line:rgba(0,0,130,.12);
  --dx-blue:var(--brand-electric-blue,#2954FF); --dx-violet:var(--brand-purple,#7212C9); --dx-sky:var(--brand-sky-blue,#889BFF);
  --dx-cyan:var(--brand-cyan,#26CBE0); --dx-lav:var(--brand-lavender,#E5E8FF);
  --dx-pad:clamp(20px,4.4vw,72px); --dx-ease:cubic-bezier(.2,.75,.15,1);
  position:relative;box-sizing:border-box;min-height:100vh;min-height:100svh;color:var(--dx-ink);font-family:var(--display,Delight,sans-serif)}
.dx-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 18px;font:500 11px/1 var(--sans,Delight,sans-serif);letter-spacing:.18em;text-transform:uppercase;color:var(--dx-violet)}
.dx-eyebrow::before{content:'';width:28px;height:1px;background:currentColor}
.dxc h2,.slx h2,.dxs h2{margin:0;font-weight:300;font-size:clamp(34px,4.6vw,72px);line-height:1;letter-spacing:-.05em;text-wrap:balance}
.dx-lead{margin:18px 0 0;max-width:52ch;font-size:clamp(15px,1.15vw,17px);line-height:1.65;color:var(--dx-muted)}

/* ===================== §02 Categorías: lista editorial ===================== */
.dxc{display:flex;flex-direction:column;justify-content:center;padding:clamp(64px,10vh,112px) var(--dx-pad);background:#fff}
.dxc-inner{max-width:1360px;width:100%;margin:0 auto}
.dxc-list{list-style:none;margin:clamp(32px,6vh,64px) 0 0;padding:0;border-top:1px solid var(--dx-line)}
.dxc-row{position:relative;display:grid;grid-template-columns:56px minmax(140px,.7fr) minmax(0,2fr) minmax(0,1.2fr) 48px;align-items:center;gap:20px;padding:clamp(18px,3.2vh,30px) 4px;border-bottom:1px solid var(--dx-line);color:var(--dx-ink);text-decoration:none;isolation:isolate}
.dxc-row::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--dx-lav);transform:scaleY(0);transform-origin:bottom;transition:transform .55s var(--dx-ease)}
.dxc-row:hover::before,.dxc-row:focus-visible::before{transform:scaleY(1)}
.dxc-row:focus-visible{outline:2px solid var(--dx-blue);outline-offset:-2px}
.dxc-n{font:500 12px/1 var(--sans,Delight,sans-serif);color:var(--dx-muted);font-variant-numeric:tabular-nums}
.dxc-cat{font:500 11px/1 var(--sans,Delight,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--dx-violet)}
.dxc-title{font-weight:300;font-size:clamp(18px,2.2vw,30px);line-height:1.15;letter-spacing:-.03em;transition:transform .55s var(--dx-ease)}
.dxc-row:hover .dxc-title,.dxc-row:focus-visible .dxc-title{transform:translateX(10px)}
.dxc-desc{font-size:14.5px;line-height:1.55;color:var(--dx-muted)}
.dxc-go{justify-self:end;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--dx-line);transition:background .45s var(--dx-ease),color .45s var(--dx-ease),border-color .45s var(--dx-ease)}
.dxc-go svg{width:15px;height:15px;transition:transform .55s var(--dx-ease)}
.dxc-row:hover .dxc-go,.dxc-row:focus-visible .dxc-go{background:var(--dx-ink);border-color:var(--dx-ink);color:#fff}
.dxc-row:hover .dxc-go svg,.dxc-row:focus-visible .dxc-go svg{transform:rotate(-45deg)}
.dxc-thumb{display:none}
/* Imagen flotante que sigue al cursor (solo escritorio con puntero fino) */
.dxc-float{position:fixed;z-index:30;left:0;top:0;width:clamp(220px,20vw,320px);aspect-ratio:4/5;border-radius:4px 4px 4px 48px;overflow:hidden;pointer-events:none;opacity:0;
  transform:translate3d(var(--fx,0px),var(--fy,0px),0) scale(.86);transition:opacity .4s var(--dx-ease),transform .5s var(--dx-ease);box-shadow:0 40px 80px -40px rgba(0,0,130,.45)}
.dxc-float.is-on{opacity:1;transform:translate3d(var(--fx,0px),var(--fy,0px),0) scale(1)}
.dxc-float img,.dxc-float video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dxc-float video{opacity:0;transition:opacity .5s ease}
.dxc-float video.is-playing{opacity:1}
@media (max-width:980px){
  .dxc-row{grid-template-columns:76px minmax(0,1fr) 40px;grid-template-rows:auto auto auto;gap:4px 14px;padding:16px 0}
  .dxc-thumb{display:block;grid-column:1;grid-row:1/span 3;width:76px;aspect-ratio:4/5;border-radius:4px 4px 4px 22px;overflow:hidden;position:relative;align-self:center}
  .dxc-thumb img,.dxc-thumb video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .dxc-n{display:none}
  .dxc-cat{grid-column:2;grid-row:1}
  .dxc-title{grid-column:2;grid-row:2;font-size:clamp(16px,4.5vw,22px)}
  .dxc-desc{grid-column:2;grid-row:3;font-size:13.5px}
  .dxc-go{grid-column:3;grid-row:1/span 3;width:38px;height:38px}
  .dxc-float{display:none}
}

/* ============ §03 «Tu prueba empieza mucho antes del informe»: portaobjetos ============ */
.slx{display:flex;flex-direction:column;justify-content:center;padding:clamp(64px,10vh,112px) var(--dx-pad);overflow:hidden;isolation:isolate;background:radial-gradient(90% 60% at 50% 18%,#fbfbff 0%,var(--dx-lav) 70%)}
.slx::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(0,0,130,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,130,.035) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(70% 60% at 50% 55%,#000 30%,transparent 80%);mask-image:radial-gradient(70% 60% at 50% 55%,#000 30%,transparent 80%)}
.slx-inner{max-width:1360px;width:100%;margin:0 auto}
.slx-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 48px;align-items:end}
.slx-head>*{min-width:0}
.slx-for{margin:14px 0 0;font-size:13.5px;color:var(--dx-muted)}
.slx-rack{list-style:none;margin:clamp(28px,5vh,52px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto auto auto;gap:0 clamp(12px,2vw,28px)}
/* Cada card: número | burbuja | texto — las 3 filas alineadas entre columnas con subgrid */
.slx-card{display:grid;grid-row:span 3;grid-template-rows:subgrid;gap:0}
.slx-top{padding:0}
.slx-num{font-weight:300;font-size:clamp(28px,2.8vw,44px);line-height:1.1;letter-spacing:-.04em;color:var(--dx-ink)}
.slx-visual{position:relative;display:flex;align-items:center;justify-content:center}
.slx-blob{display:block;width:80%;max-width:220px;height:auto;margin:0 auto;transition:transform 1s cubic-bezier(.22,1,.36,1);pointer-events:none;will-change:transform}
.slx-card:hover .slx-blob{transform:scale(1.05) rotate(4deg)}
.slx-title{position:absolute;z-index:2;max-width:88%;text-align:center;margin:0;font-size:clamp(12px,1vw,16px);font-weight:400;font-style:normal;letter-spacing:-.015em;line-height:1.2;color:var(--dx-ink)}
.slx-card>p{margin:0;color:var(--dx-muted);font-size:clamp(12px,.9vw,14px);line-height:1.48;align-self:start;text-align:center;width:100%}
.slx-dots{display:none}
.slx-cta{display:inline-flex;align-items:center;gap:10px;background:var(--dx-ink);color:#fff;text-decoration:none;font-weight:600;font-size:14px;padding:16px 24px;border-radius:999px;transition:background .4s var(--dx-ease)}
.slx-cta:hover{background:var(--dx-blue)}
.slx-cta:focus-visible{outline:2px solid var(--dx-blue);outline-offset:3px}
@media (max-width:980px){
  .slx-head{grid-template-columns:minmax(0,1fr)}
  .slx-rack{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto auto auto auto auto}
}
@media (max-width:620px){
  .slx-rack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:12px;padding-bottom:4px;scrollbar-width:none}
  .slx-rack::-webkit-scrollbar{display:none}
  .slx-card{flex:0 0 80vw;scroll-snap-align:center;display:flex;flex-direction:column;gap:0;text-align:center;align-items:center}
  .slx-top{width:100%}
  .slx-num{font-size:36px;text-align:center;margin-bottom:-10px;position:relative;z-index:3}
  .slx-visual{margin:0 -5%}
  .slx-blob{max-width:none;width:70%}
  .slx-title{font-size:18px}
  .slx-card>p{text-align:center;width:100%;padding:0 8%;margin-top:6px;position:relative;z-index:3;box-sizing:border-box}
  .slx-dots{display:flex;justify-content:center;gap:0;margin-top:4px}
  .slx-dot{display:grid;place-items:center;width:44px;height:44px;background:none;border:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .slx-dot::before{content:'';width:8px;height:8px;border-radius:50%;background:rgba(0,0,80,.15);transition:background .3s}
  .slx-dot.is-active::before{background:var(--dx-ink,#000050)}
  .slx-dot:focus-visible{outline:2px solid var(--brand-electric-blue,#2954FF);outline-offset:-10px;border-radius:50%}
}

/* ===================== §04 Pruebas destacadas: cartas apiladas ===================== */
.dxs{padding:clamp(64px,10vh,112px) var(--dx-pad) clamp(72px,12vh,140px);background:#fff}
.dxs-inner{max-width:1200px;margin:0 auto}
.dxs-stack{list-style:none;margin:clamp(32px,6vh,56px) 0 0;padding:0;display:grid;gap:clamp(18px,3vh,28px)}
.dxs-card{position:sticky;top:calc(clamp(84px,12vh,120px) + var(--i,0) * 14px);transform-origin:50% 0;will-change:transform}
.dxs-card article{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);min-height:min(62vh,520px);border-radius:6px 6px 6px clamp(40px,5vw,88px);overflow:hidden;background:#fff;
  box-shadow:0 0 0 1px var(--dx-line),0 -24px 60px -40px rgba(0,0,130,.35)}
.dxs-copy{display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:clamp(24px,4vw,56px)}
.dxs-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.dxs-cat{font:500 11px/1 var(--sans,Delight,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--dx-violet)}
.dxs-n{font:500 12px/1 var(--sans,Delight,sans-serif);color:var(--dx-muted);font-variant-numeric:tabular-nums}
.dxs-card h3{margin:0;font-weight:300;font-size:clamp(30px,3.6vw,56px);line-height:1;letter-spacing:-.045em}
.dxs-card p{margin:14px 0 0;max-width:40ch;font-size:15px;line-height:1.6;color:var(--dx-muted)}
.dxs-link{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14px;color:var(--dx-ink);text-decoration:none;padding:13px 20px;border-radius:999px;border:1px solid var(--dx-line);transition:background .4s var(--dx-ease),color .4s var(--dx-ease),border-color .4s var(--dx-ease)}
.dxs-link:hover,.dxs-link:focus-visible{background:var(--dx-ink);color:#fff;border-color:var(--dx-ink);outline:none}
/* 30-10-2026 (Fran): la foto ocupa todo el recuadro, igual que en Pruebas (.ctg-media) */
.dxs-media{position:relative;overflow:hidden;background:var(--dx-lav)}
.dxs-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--dx-ease)}
.dxs-card article:hover .dxs-media img{transform:scale(1.04)}
.dxs-all{margin-top:clamp(28px,5vh,48px);text-align:center}
.dxs-all a{font-weight:600;color:var(--dx-ink)}
@media (max-width:760px){
  .dxs-card{top:calc(76px + var(--i,0) * 10px)}
  .dxs-card article{grid-template-columns:minmax(0,1fr);min-height:0}
  .dxs-media{order:-1;aspect-ratio:16/10}
}
/* Sin movimiento: las seis pruebas como lista normal */
@media (prefers-reduced-motion:reduce){.dxs-card{position:static;transform:none!important}}
.motion-off .dxs-card{position:static;transform:none!important}

/* Texto solo para lectores de pantalla */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Las cartas fijadas necesitan que html y body no sean contenedores de scroll (el CSS antiguo pone overflow-x:hidden) */
html:has(.dxs),body:has(.dxs){overflow-x:clip;overflow-y:visible}
.dxs-link{white-space:nowrap}

/* ===== Categorías v2: lista + panel de vista previa fijo (sin nada que flote sobre el texto) ===== */
.dxc-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(28px,5vh,52px)}
.dxc-body .dxc-list{margin-top:0}
.dxc-row{grid-template-columns:44px minmax(120px,.55fr) minmax(0,2fr) 44px}
.dxc-desc{display:none}
.dxc-row.is-active::before{transform:scaleY(1)}
.dxc-row.is-active .dxc-title{transform:translateX(10px)}
.dxc-row.is-active .dxc-go{background:var(--dx-ink);border-color:var(--dx-ink);color:#fff}
.dxc-preview{margin:0;display:grid;gap:14px}
.dxc-pv-media{position:relative;aspect-ratio:4/5;max-height:min(58vh,520px);border-radius:4px 4px 4px clamp(40px,4vw,72px);overflow:hidden;background:var(--dx-lav);box-shadow:0 40px 80px -50px rgba(0,0,130,.45)}
.dxc-pv-media img,.dxc-pv-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dxc-pv-img[src*="hdx-genetica-adn-v2"]{object-position:center center}
.dxc-pv-img[src*="hera-prenatal"]{object-position:center top}
.dxc-pv-img[src*="hdx-array-cgh"]{object-position:center center}
.dxc-pv-img[src*="hdx-celiquia"]{object-position:center bottom}
.dxc-pv-img[src*="hdx-microbioma"]{object-position:center center}
.dxc-pv-img[src*="timeline-expansion"]{object-position:center center}
.dxc-pv-img{opacity:0;transition:opacity .6s var(--dx-ease)}
.dxc-pv-img.is-on{opacity:1}
.dxc-pv-media video{opacity:0;transition:opacity .6s var(--dx-ease)}
.dxc-pv-media video.is-playing{opacity:1}
.dxc-preview figcaption{display:grid;gap:6px}
.dxc-pv-cat{font:500 11px/1 var(--sans,Delight,sans-serif);letter-spacing:.16em;text-transform:uppercase;color:var(--dx-violet)}
.dxc-pv-title{font-size:15px;color:var(--dx-muted)}
@media (max-width:980px){
  .dxc-body{grid-template-columns:minmax(0,1fr)}
  .dxc-preview{display:none}
  .dxc-row{grid-template-columns:76px minmax(0,1fr) 40px}
  .dxc-desc{display:block}
}

/* ===== «Tu prueba empieza…» v2: entra en una pantalla de escritorio ===== */
.slx-side{display:grid;gap:12px;justify-items:end}
.slx-cta--sm{padding:12px 18px;font-size:13.5px}
.slx-cta svg{width:14px;height:14px}
@media (min-width:981px){
  .slx{padding-block:clamp(92px,12vh,120px) clamp(28px,4vh,44px)}
  .slx h2{font-size:clamp(30px,3.2vw,52px)}
  .slx-head .dx-lead{margin-top:10px}
  .slx-rack{margin-top:clamp(22px,3.5vh,36px)}
}
@media (min-width:981px){
  .dxc{padding-block:clamp(88px,11vh,112px) clamp(28px,4vh,48px)}
  .dxc h2{font-size:clamp(30px,3.6vw,56px)}
  .dxc-body{margin-top:clamp(20px,3.5vh,40px)}
  .dxc-row{padding-block:clamp(12px,2.4vh,24px)}
  .dxc-pv-media{max-height:min(48vh,460px)}
}

/* ===== Texto final (02_Diagnostics.docx): ajustes de componentes ===== */
.dxs-card article{position:relative}
.dxs-name{color:inherit;text-decoration:none}
.dxs-name::after{content:'';position:absolute;inset:0;z-index:1}
.dxs-name:focus-visible{outline:none}
.dxs-card article:has(.dxs-name:focus-visible){box-shadow:0 0 0 2px var(--dx-blue),0 -24px 60px -40px rgba(0,0,130,.35)}
.dxs-head{margin:16px 0 0!important;font-weight:500;font-size:clamp(17px,1.4vw,21px)!important;line-height:1.3!important;color:var(--dx-ink)!important;letter-spacing:-.015em}
.dxs-go{align-self:flex-start;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--dx-line);transition:background .45s var(--dx-ease),color .45s var(--dx-ease),border-color .45s var(--dx-ease)}
.dxs-go svg{width:15px;height:15px;transition:transform .55s var(--dx-ease)}
.dxs-card article:hover .dxs-go{background:var(--dx-ink);border-color:var(--dx-ink);color:#fff}
.dxs-card article:hover .dxs-go svg{transform:rotate(-45deg)}
.dxc-pv-title{max-width:40ch;line-height:1.55}
.faq-more{display:grid;gap:10px;justify-items:start;margin-top:36px;padding-top:28px;border-top:1px solid rgba(0,0,130,.12)}
.faq-more h3{margin:0;font-weight:400;font-size:20px;letter-spacing:-.02em}
.faq-more p{margin:0;color:var(--muted,#525475)}
/* QA-59: el título de cada sección no queda bajo la cabecera fija */
@media (min-width:981px){.dxc,.slx,.dxs{padding-top:clamp(112px,14vh,132px)}}
@media (max-width:980px){.dxc,.slx,.dxs{padding-top:104px}}
@media (min-width:981px){
  .dxc{padding-top:clamp(100px,12vh,120px);padding-bottom:clamp(20px,3vh,36px)}
  .dxc-pv-media{max-height:min(44vh,440px)}
  .dxc-row{padding-block:clamp(10px,2.1vh,22px)}
}
/* Pulido 22-10 (tarde): la flecha de cada carta se lee como botón hacia la ficha */
.dxs-go{width:56px;height:56px;background:var(--dx-ink);border-color:var(--dx-ink);color:#fff;box-shadow:0 14px 30px -16px rgba(0,0,130,.6)}
.dxs-go svg{width:17px;height:17px}
.dxs-card article:hover .dxs-go,.dxs-card article:has(.dxs-name:focus-visible) .dxs-go{background:var(--dx-blue);border-color:var(--dx-blue)}
.dxs-name{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--dx-ease)}
.dxs-card article:hover .dxs-name{background-size:100% 1px}
.dxs-card article{cursor:pointer}
/* Foco visible en las cartas de «Pruebas destacadas» (teclado): contorno de la carta entera */
.dxs-card article:has(.dxs-name:focus-visible){outline:2px solid var(--brand-electric-blue,#2954FF);outline-offset:4px}
@supports not selector(:has(*)){.dxs-name:focus-visible{outline:2px solid var(--brand-electric-blue,#2954FF);outline-offset:4px;border-radius:2px}}

/* 02-11-2026: la bajada de Categorías va en dos líneas (una por oración) en escritorio */
@media (min-width:981px){.dxc .dx-lead{max-width:none}}
