/* Naihub · portada desde el dossier «Sales Acceleration System» (25-oct-2026).
   Ritmo y visuales: dossier (portada verde, páginas negras con titular blanco y acento fosforito, página clara del caso de uso).
   Mensaje: claridad de Astra. Todo visual es del dossier o una grabación/captura real de Unai. */

/* Fuentes alojadas en local (antes Google Fonts): Inter Tight 300–700 y Jost 500–600, subconjunto latino, font-display: swap. */
@font-face {
  font-family: 'Inter Tight';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(media/fonts/inter-tight-latin.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: 'Inter Tight';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(media/fonts/inter-tight-latin.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: 'Inter Tight';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(media/fonts/inter-tight-latin.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: 'Inter Tight';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(media/fonts/inter-tight-latin.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: 'Inter Tight';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(media/fonts/inter-tight-latin.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: 'Jost';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(media/fonts/jost-latin.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: 'Jost';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(media/fonts/jost-latin.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 {
  color-scheme: light dark;
  --fondo: #0A0A0A;
  --fondo-2: #050505;
  --superficie: #121211;
  --linea: #1F1F1D;
  --linea-2: #2B2B28;
  --tinta: #F4F4F2;
  --tinta-2: #C9C9C3;
  --gris: #9A9A93;
  --acento: #AAFF00;
  --acento-tinta: #0A0A0A;
  --acento-texto: #AAFF00;
  --cruz: #AAFF00;
  --cab-fondo: rgba(10, 10, 10, .82);
  --panel: #050505;
  --ancho: 1200px;
  --lado: 24px;
  --fuente: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --fuente-portada: "Jost", "Futura", "Avenir Next", var(--fuente);
}
/* Claro: por preferencia del sistema o forzado con data-theme="light" */
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    --fondo: #FAFAF8; --fondo-2: #F1F1EC; --superficie: #FFFFFF; --linea: #E4E4DE; --linea-2: #D3D3CC;
    --tinta: #0A0A0A; --tinta-2: #33332F; --gris: #5C5C56; --acento-texto: #4A7D00; --cruz: #7ACC00;
    --cab-fondo: rgba(250, 250, 248, .86);
  }
}
:root[data-theme="light"] {
  --fondo: #FAFAF8; --fondo-2: #F1F1EC; --superficie: #FFFFFF; --linea: #E4E4DE; --linea-2: #D3D3CC;
  --tinta: #0A0A0A; --tinta-2: #33332F; --gris: #5C5C56; --acento-texto: #4A7D00; --cruz: #7ACC00;
  --cab-fondo: rgba(250, 250, 248, .86);
}
/* Las «escenas» son páginas del dossier: siempre negras, en los dos temas */
.escena, .escena-panel {
  --fondo: #050505; --superficie: #121211; --linea: #1F1F1D; --linea-2: #2B2B28;
  --tinta: #F4F4F2; --tinta-2: #C9C9C3; --gris: #9A9A93; --acento-texto: #AAFF00;
  color: var(--tinta);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; background: var(--fondo); color: var(--tinta); font: 400 17px/1.55 var(--fuente); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
img, svg, video { display: block; max-width: 100%; }
a { color: inherit; }
button { font: inherit; color: inherit; }
h1, h2, h3, p, figure, blockquote, ul, ol { margin: 0; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3 { font-weight: 700; letter-spacing: -.03em; text-wrap: balance; }
p { text-wrap: pretty; }
strong { font-weight: 650; }
.verde { color: var(--acento-texto); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.saltar { position: absolute; left: 16px; top: -60px; z-index: 100; background: var(--acento); color: var(--acento-tinta); padding: 10px 14px; border-radius: 8px; font-weight: 600; text-decoration: none; }
.saltar:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--tinta); outline-offset: 3px; border-radius: 6px; }
.contenedor { width: 100%; max-width: calc(var(--ancho) + 2 * var(--lado)); margin: 0 auto; padding: 0 var(--lado); }

/* ── Marca: cruz con latido (Pulse / LockupCasa) ── */
.marca { display: inline-flex; align-items: center; text-decoration: none; --c: 20px; }
.cruz { position: relative; width: var(--c, 20px); height: var(--c, 20px); flex: 0 0 auto; display: inline-block; filter: drop-shadow(0 0 8px rgba(170,255,0,.45)); animation: latido 2s ease infinite; }
.cruz::before { content: ""; position: absolute; left: 50%; top: 0; transform: translateX(-50%); width: 23%; height: 100%; background: var(--cruz); border-radius: 3px; }
.cruz::after { content: ""; position: absolute; top: 50%; left: 0; transform: translateY(-50%); height: 23%; width: 100%; background: var(--cruz); border-radius: 3px; }
@keyframes latido { 0%, 100% { transform: scale(1); } 8% { transform: scale(1.1); } 18% { transform: scale(1); } 26% { transform: scale(1.05); } 34% { transform: scale(1); } }
.marca__nombre { margin-left: .55em; font-size: 20px; font-weight: 700; letter-spacing: -.02em; line-height: 1; }
.ecg { width: 38px; height: 14px; margin-left: 9px; flex: 0 0 auto; }
.ecg path { fill: none; stroke: var(--cruz); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.ecg .b { opacity: .25; }
.ecg .r { stroke-dasharray: 14 96; animation: trazo 1.8s linear infinite; }
@keyframes trazo { from { stroke-dashoffset: 110; } to { stroke-dashoffset: 0; } }

/* ── Botones ── */
.boton { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--acento); color: var(--acento-tinta); font-size: 16px; font-weight: 650; text-decoration: none; cursor: pointer; transition: transform .2s ease, background-color .2s ease, box-shadow .3s ease; box-shadow: 0 0 0 0 rgba(170,255,0,.0); }
.boton:hover { background: #BBFF33; box-shadow: 0 8px 32px -8px rgba(170,255,0,.55); }
.boton:active { transform: translateY(1px); }
.boton--sm { min-height: 38px; padding: 0 16px; font-size: 14px; }
.boton--hueco { background: transparent; color: var(--tinta); box-shadow: inset 0 0 0 1px var(--linea-2); }
.boton--hueco:hover { background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px var(--gris); }
.boton--grande { min-height: 58px; padding: 0 34px; font-size: 18px; }
.enlace { text-decoration: underline; text-decoration-color: var(--linea-2); text-underline-offset: 4px; }
.enlace:hover { text-decoration-color: var(--acento-texto); }

/* ── Cabecera ── */
.cab { position: fixed; inset: 0 0 auto 0; z-index: 50; border-bottom: 1px solid transparent; transition: background-color .3s ease, border-color .3s ease; color: #F4F4F2; --cruz: #AAFF00; }
.cab.solida, .cab.menu-abierto { background: var(--cab-fondo); border-bottom-color: var(--linea); -webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px); color: var(--tinta); }
.cab.solida { --cruz: var(--cruz-cab, #AAFF00); }
.cab__in { display: flex; align-items: center; justify-content: space-between; gap: 20px; height: 68px; }
.nav__lista { display: flex; gap: 6px; }
.nav__lista a { display: inline-block; padding: 8px 14px; border-radius: 999px; font-size: 15px; opacity: .72; text-decoration: none; transition: opacity .2s; }
.nav__lista a:hover, .nav__lista a[aria-current="page"] { opacity: 1; }
.nav__lista a[aria-current="page"] { box-shadow: inset 0 0 0 1px rgba(154,154,147,.45); }
.nav__lista a[aria-disabled="true"] { cursor: default; }
.cab__acciones { display: flex; align-items: center; gap: 8px; }
.hamb { display: none; width: 44px; height: 44px; border: 1px solid rgba(154,154,147,.45); border-radius: 999px; background: transparent; cursor: pointer; align-items: center; justify-content: center; }
.hamb__lineas { position: relative; width: 16px; height: 10px; }
.hamb__lineas i { position: absolute; left: 0; width: 16px; height: 1.5px; background: currentColor; border-radius: 2px; transition: transform .25s ease, opacity .2s ease, top .25s ease; }
.hamb__lineas i:nth-child(1) { top: 0; } .hamb__lineas i:nth-child(2) { top: 4.25px; } .hamb__lineas i:nth-child(3) { top: 8.5px; }
.hamb[aria-expanded="true"] .hamb__lineas i:nth-child(1) { top: 4.25px; transform: rotate(45deg); }
.hamb[aria-expanded="true"] .hamb__lineas i:nth-child(2) { opacity: 0; }
.hamb[aria-expanded="true"] .hamb__lineas i:nth-child(3) { top: 4.25px; transform: rotate(-45deg); }

/* ── Tipografía de sección (dossier: titular bold + frase ligera) ── */
.seccion { padding: 132px 0; position: relative; }
.ceja { display: inline-flex; align-items: center; gap: 12px; font-size: 13px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; color: var(--acento-texto); }
.ceja::before { content: ""; width: 16px; height: 16px; flex: 0 0 auto; background:
  linear-gradient(currentColor, currentColor) center / 100% 3px no-repeat, linear-gradient(currentColor, currentColor) center / 3px 100% no-repeat; }
.titular-seccion { font-size: clamp(32px, 4.3vw, 54px); line-height: 1.06; max-width: 20ch; }
.titular-grande { font-size: clamp(38px, 5.6vw, 76px); line-height: 1.02; font-weight: 300; letter-spacing: -.035em; max-width: 18ch; }
.cabeza-seccion { display: grid; gap: 20px; margin-bottom: 64px; }
.cabeza-seccion > p:not(.ceja) { color: var(--gris); max-width: 60ch; font-size: 19px; }
.ligero { font-weight: 300; font-size: clamp(20px, 2.1vw, 28px) !important; line-height: 1.35; color: var(--tinta) !important; max-width: 40ch !important; }
.ligero strong { font-weight: 700; }

/* ═══ Héroe ═══ */
.heroe { position: relative; overflow: hidden; background: #000; padding: 136px 0 0; isolation: isolate; }
.heroe__verde { position: absolute; z-index: -1; width: min(1100px, 95vw); right: -18%; top: -34%; opacity: .95; filter: saturate(1.1); animation: deriva 22s ease-in-out infinite alternate; pointer-events: none; }
@keyframes deriva { from { translate: 0 0; scale: 1; rotate: 0deg; } to { translate: -6% 5%; scale: 1.12; rotate: 8deg; } }
.heroe__rejilla { display: grid; grid-template-columns: minmax(0, 11fr) minmax(0, 13fr); gap: 40px; align-items: center; }
.heroe .ceja { color: var(--acento); }
.heroe h1 { margin-top: 22px; font-family: var(--fuente-portada); font-weight: 500; font-size: clamp(38px, 4.1vw, 60px); line-height: 1.04; letter-spacing: -.02em; }
.entrada { margin-top: 24px; font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; color: var(--tinta-2); max-width: 46ch; }
.heroe__acciones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.heroe__visual { position: relative; padding: 0 0 70px 6%; }
.portatil { position: relative; }
.portatil__marco { position: relative; z-index: 2; width: 100%; height: auto; pointer-events: none; filter: drop-shadow(0 40px 60px rgba(0,0,0,.55)); }
.portatil__pantalla { position: absolute; z-index: 1; left: 14.96%; top: 15.13%; width: 67.7%; height: 60.8%; overflow: hidden; background: #0A0A0A; }
.portatil__pantalla video { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.movil { position: relative; aspect-ratio: 390 / 844; border-radius: 13% / 6%; padding: 3.2%; background: linear-gradient(145deg, #2a2a28, #0d0d0c 40%, #1b1b19); box-shadow: 0 0 0 1.5px #3c3c38, 0 30px 60px -10px rgba(0,0,0,.7), inset 0 0 0 1px rgba(255,255,255,.06); }
.movil::before { content: ""; position: absolute; z-index: 3; top: 3.6%; left: 50%; width: 30%; height: 3.4%; translate: -50% 0; background: #000; border-radius: 999px; }
.movil__pantalla { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 10.5% / 4.9%; background: #0A0A0A; }
.movil__pantalla--blanca { background: #fff; }
.movil__pantalla video, .movil__pantalla > img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.movil--heroe { position: absolute; z-index: 3; width: 24%; left: 0; bottom: 18px; }
.heroe__mandos { position: absolute; z-index: 4; right: 2%; top: 4%; display: flex; align-items: center; gap: 10px; opacity: 0; transition: opacity .3s ease; }
.heroe__visual:hover .heroe__mandos, .heroe__visual:focus-within .heroe__mandos, .heroe__mandos.fijo { opacity: 1; }
.mando { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px 0 12px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); background: rgba(5,5,5,.72); color: #F4F4F2; font-size: 13px; cursor: pointer; backdrop-filter: blur(8px); }
.mando__icono { width: 10px; height: 12px; background: linear-gradient(90deg, currentColor 0 35%, transparent 35% 65%, currentColor 65%); }
.mando[aria-pressed="true"] .mando__icono { clip-path: polygon(0 0, 100% 50%, 0 100%); background: currentColor; }
.mando__nota { font-size: 12px; color: #C9C9C3; background: rgba(5,5,5,.6); padding: 6px 10px; border-radius: 999px; }
.pasos-video { position: absolute; z-index: 4; left: 28%; right: 0; bottom: 0; display: flex; gap: 6px; counter-reset: p; }
.pasos-video li { flex: 1; position: relative; padding-top: 12px; font-size: 12.5px; font-weight: 600; color: #6f6f69; letter-spacing: .01em; transition: color .3s; white-space: nowrap; }
.pasos-video li::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: 3px; background: #262624; }
.pasos-video li::after { content: ""; position: absolute; left: 0; top: 0; height: 3px; border-radius: 3px; background: var(--acento); width: var(--p, 0%); box-shadow: 0 0 12px rgba(170,255,0,.6); }
.pasos-video li.hecho { color: #9A9A93; } .pasos-video li.hecho::after { width: 100%; box-shadow: none; }
.pasos-video li.ahora { color: #F4F4F2; }
.heroe__chips { margin-top: 64px; border-top: 1px solid rgba(170,255,0,.35); overflow: hidden; -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.cinta { display: flex; gap: 64px; width: max-content; padding: 22px 0 26px; animation: cinta 38s linear infinite; }
.cinta li { font-weight: 650; font-size: 18px; color: var(--acento); white-space: nowrap; }
@keyframes cinta { to { transform: translateX(-50%); } }

/* ── Franja ── */
.franja { border-bottom: 1px solid var(--linea); background: var(--fondo-2); }
.franja p { padding: 30px 0; font-size: clamp(17px, 1.6vw, 21px); color: var(--tinta-2); text-align: center; }
.franja strong { color: var(--tinta); }

/* ── Tarjetas del dossier p. 03 ── */
.tarjetas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.tarjeta { position: relative; display: flex; flex-direction: column; border-radius: 6px; overflow: hidden; background: linear-gradient(180deg, #6c6d69 0%, #a9aaa6 45%, #e7e7e4 100%); color: #0A0A0A; text-align: center; padding: 34px 28px 0; transition: transform .35s ease; }
.tarjeta:hover { transform: translateY(-6px); }
.tarjeta__icono { width: 74px; height: 74px; margin: 0 auto 22px; padding: 10px; border-radius: 50%; background: #0A0A0A; }
.tarjeta h3 { font-size: 23px; line-height: 1.15; }
.tarjeta p { margin: 14px auto 30px; max-width: 30ch; font-size: 16.5px; line-height: 1.45; color: #1d1d1b; }
.tarjeta__pie { margin: auto -28px 0; padding: 20px; background: linear-gradient(90deg, #4a4a48, #0d0d0c); color: #F4F4F2; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; font-size: 15px; text-decoration: underline; text-underline-offset: 4px; }
.tarjeta__pie:hover { color: #AAFF00; }

/* ── La pregunta · p. 02 ── */
.pregunta { background: #000; padding: 128px 0; overflow: hidden; }
.pregunta__rejilla { display: grid; grid-template-columns: 7fr 5fr; gap: 64px; align-items: center; }
.pregunta__marca { font-size: clamp(22px, 2.3vw, 30px); font-weight: 300; }
.cita { position: relative; margin-top: 30px; padding: 54px 48px 46px; border-radius: 34px; background: linear-gradient(90deg, #4c4c4a, #232322 60%, #0a0a0a); }
.cita__comillas { position: absolute; left: 22px; top: -54px; font-size: 150px; line-height: 1; font-weight: 800; color: var(--acento); font-family: Georgia, serif; }
.cita p { font-size: clamp(22px, 2.4vw, 32px); line-height: 1.32; font-weight: 300; }
.cita strong { color: var(--acento); font-weight: 700; }
.pregunta__foto { display: grid; grid-template-columns: 1fr auto; gap: 22px; align-items: end; }
.foto-marco { border-radius: 30px; overflow: hidden; aspect-ratio: 4 / 6.2; }
.foto-marco img { width: 100%; height: 112%; object-fit: cover; }
.pregunta__foto figcaption { font-size: 19px; line-height: 1.45; font-weight: 300; color: #F4F4F2; }
.pregunta__foto figcaption span { color: #9A9A93; }

/* ── Secciones de detalle (p. 04–07) ── */
.detalle__rejilla { display: grid; grid-template-columns: 5fr 6fr; gap: 72px; align-items: center; }
.detalle--invertido .detalle__rejilla > .detalle__texto { order: 2; }
.detalle__texto { display: grid; gap: 22px; align-content: start; }
.detalle__texto > p:not(.ceja) { font-size: 18.5px; color: var(--tinta-2); max-width: 52ch; }
.lista-iconos { display: grid; gap: 22px; margin-top: 10px; }
.lista-iconos li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; align-items: start; font-size: 19px; line-height: 1.45; font-weight: 300; }
.lista-iconos img { width: 48px; height: 48px; object-fit: contain; padding: 6px; border-radius: 12px; background: #0A0A0A; box-shadow: inset 0 0 0 1px #262624; }
.lista-check { display: grid; gap: 16px; margin-top: 8px; }
.lista-check li { display: grid; grid-template-columns: 36px 1fr; gap: 14px; align-items: start; font-size: 18px; line-height: 1.45; font-weight: 300; }
.lista-check img { width: 34px; height: 34px; }
.escena-panel { position: relative; border-radius: 28px; background: radial-gradient(120% 90% at 85% 0%, rgba(170,255,0,.16), transparent 55%), #050505; box-shadow: inset 0 0 0 1px #1c1c1a; }
.detalle__visual { position: relative; min-height: 600px; }
.detalle__visual.escena-panel { display: flex; align-items: center; justify-content: center; padding: 48px 24px 76px; }
.movil-img { height: auto; }
.movil-img--atras { position: absolute; width: 44%; left: 9%; top: 9%; filter: drop-shadow(0 30px 50px rgba(0,0,0,.6)); }
.movil--delante { width: 37%; margin-left: 30%; margin-top: 6%; z-index: 2; }
.movil--atras { position: absolute; width: 34%; left: 12%; top: 10%; z-index: 1; opacity: .92; }
.etiqueta { position: absolute; z-index: 4; left: 24px; bottom: 22px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: rgba(5,5,5,.75); box-shadow: inset 0 0 0 1px #2B2B28; font-size: 13px; color: #C9C9C3; }
.etiqueta::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #ff4d4d; box-shadow: 0 0 0 0 rgba(255,77,77,.6); animation: rec 1.6s ease infinite; }
@keyframes rec { 0% { box-shadow: 0 0 0 0 rgba(255,77,77,.6); } 70% { box-shadow: 0 0 0 8px rgba(255,77,77,0); } 100% { box-shadow: 0 0 0 0 rgba(255,77,77,0); } }
.etiqueta strong { color: var(--acento); }
.etiqueta--a strong, .etiqueta--b strong { color: var(--acento-texto); }

/* p. 05 · portátil con scroll interno + mapa de calor */
.portatil--seccion { width: 100%; }
.desliza { overflow: hidden; }
.desliza > img { width: 100%; height: auto !important; object-fit: initial !important; will-change: transform; }
.movil-img--mapa { position: absolute; z-index: 3; width: 27%; right: -2%; bottom: -6%; filter: drop-shadow(0 30px 40px rgba(0,0,0,.55)); }
.etiqueta--a, .etiqueta--b { position: absolute; bottom: auto; }
.etiqueta--a { left: 2%; top: -8%; }
.etiqueta--b { left: auto; right: 0; top: -8%; }
.etiqueta--a::before, .etiqueta--b::before { display: none; }
#practica .detalle__visual { min-height: 0; padding-bottom: 40px; }
.niveles { margin-top: 110px; padding: 54px 40px 60px; }
.niveles__cabeza { display: flex; align-items: center; gap: 22px; justify-content: center; }
.niveles__cabeza img { width: 64px; height: auto; }
.niveles__cabeza h3 { font-size: clamp(26px, 3vw, 40px); font-weight: 300; }
.niveles__moviles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 44px; max-width: 900px; margin-inline: auto; }
.niveles__moviles figure { display: grid; gap: 16px; justify-items: center; }
.niveles__moviles figcaption { font-size: 21px; font-weight: 700; color: var(--acento); text-align: center; }
.niveles__moviles img { width: 100%; max-width: 250px; height: auto; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.niveles__moviles figure:hover img { transform: translateY(-10px) rotate(-1deg); }

/* ── Recorrido encadenado ── */
.recorrido { background: var(--fondo-2); }
.recorrido__linea { position: relative; height: 3px; margin: 0 0 -3px; background: var(--linea-2); border-radius: 3px; }
.recorrido__linea span { position: absolute; inset: 0 auto 0 0; width: calc(var(--avance, 0) * 100%); background: var(--acento); border-radius: 3px; box-shadow: 0 0 16px rgba(170,255,0,.6); }
.recorrido__pasos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; }
.paso { position: relative; padding-top: 34px; display: grid; gap: 12px; align-content: start; opacity: .38; transition: opacity .6s ease; }
.paso::before { content: ""; position: absolute; top: -9px; left: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--fondo-2); box-shadow: inset 0 0 0 3px var(--linea-2); transition: box-shadow .4s, background-color .4s; }
.paso.activo { opacity: 1; }
.paso.activo::before { background: var(--acento); box-shadow: 0 0 0 6px rgba(170,255,0,.18); }
.paso__num { font-size: 15px; font-weight: 700; color: var(--acento-texto); letter-spacing: .08em; }
.paso h3 { font-size: 26px; line-height: 1.15; }
.paso p { color: var(--gris); font-size: 17px; max-width: 34ch; }
.movil--paso { width: 62%; max-width: 230px; margin-top: 18px; transform: translateY(24px); transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.paso.activo .movil--paso { transform: none; }

/* ── Caso de uso · p. 08 (página clara del dossier) ── */
.caso { padding: 132px 0; background: #FAFAF8; color: #0A0A0A; overflow: hidden; }
.caso .cabeza-seccion > p:not(.ceja) { color: #33332F; }
.ceja--oscura { color: #0A0A0A; }
.ceja--oscura::before { color: #7ACC00; }
.subrayado { background: linear-gradient(100deg, transparent 2%, #AAFF00 4%, #AAFF00 96%, transparent 98%); padding: 2px 8px; border-radius: 3px; }
.caso__rejilla { display: grid; grid-template-columns: 6fr 5fr; gap: 64px; align-items: start; }
.caso__mano { position: relative; min-height: 640px; }
.mano { position: relative; width: 74%; margin: 0 auto; }
.mano__img { position: relative; z-index: 1; width: 100%; height: auto; pointer-events: none; }
.mano__pantalla { position: absolute; z-index: 2; left: 8.1%; top: 1.5%; width: 27.4%; height: 54.9%; border-radius: 13% / 6%; overflow: hidden; background: #0A0A0A; }
.dato { position: absolute; z-index: 3; display: grid; gap: 4px; width: 230px; padding: 18px 20px 20px; border-radius: 22px; background: #F1F1EE; box-shadow: 0 20px 40px -18px rgba(0,0,0,.25); border-bottom: 4px solid transparent; border-image: linear-gradient(90deg, #AAFF00, #3c4a2a) 1; }
.dato strong { font-size: 36px; line-height: 1; font-weight: 800; letter-spacing: -.02em; }
.dato > span { font-size: 14.5px; line-height: 1.3; color: #33332F; }
.dato--1 { left: -2%; top: 4%; }
.dato--2 { right: 2%; top: 18%; }
.dato--3 { left: 0; top: 56%; width: 170px; }
.dato--4 { right: 4%; top: 64%; }
.cita-clara { padding: 28px 30px; border-radius: 22px; border: 2px dashed #AAFF00; background: linear-gradient(90deg, #F4F4F2, #E2F3C4); }
.cita-clara p { font-size: 20px; line-height: 1.45; }
.cita-clara footer { margin-top: 10px; text-align: right; font-style: italic; color: #33332F; }
.caso__citas h3 { margin: 40px 0 18px; font-size: 24px; }
.citas { display: grid; gap: 12px; padding: 26px 28px; border-radius: 22px; border: 2px dashed #AAFF00; background: linear-gradient(90deg, #F4F4F2, #E2F3C4); position: relative; }
.citas::before { content: "“"; position: absolute; left: -10px; top: -46px; font: 800 110px/1 Georgia, serif; color: #AAFF00; }
.citas li { font-style: italic; font-size: 17px; line-height: 1.45; opacity: .35; transform: translateX(10px); transition: opacity .5s ease, transform .5s ease; }
.citas li.ve { opacity: 1; transform: none; }

/* ── Qué puedes comprobar ── */
.comprobar__rejilla { display: grid; grid-template-columns: 5fr 6fr; gap: 72px; align-items: center; }
.comprobar__texto { display: grid; gap: 22px; }
.comprobar__lista { display: grid; gap: 0; counter-reset: c; margin-top: 8px; }
.comprobar__lista li { counter-increment: c; display: grid; grid-template-columns: 54px 1fr; column-gap: 12px; padding: 20px 0; border-top: 1px solid var(--linea); }
.comprobar__lista li::before { content: "0" counter(c); grid-row: span 2; font-size: 15px; font-weight: 700; color: var(--acento-texto); padding-top: 4px; }
.comprobar__lista strong { font-size: 22px; }
.comprobar__lista span { color: var(--gris); }
.nota { font-size: 15.5px; color: var(--gris); max-width: 52ch; padding-left: 16px; border-left: 2px solid var(--acento-texto); }
.comprobar__visual { min-height: 620px; display: flex; align-items: center; justify-content: flex-end; padding: 50px 40px 70px; overflow: hidden; }
.movil--feedback { width: 40%; z-index: 2; margin-right: 6%; }
.feedback-portatil { position: absolute; z-index: 1; left: 5%; top: 16%; width: 62%; height: auto; border-radius: 10px; box-shadow: 0 30px 60px -10px rgba(0,0,0,.7), 0 0 0 6px #1c1c1a; }

/* ── Metodología · p. 09 ── */
.metodo { background: #000; }
.metodo__rejilla { display: grid; grid-template-columns: 4fr 7fr; gap: 64px; }
.metodo__texto { display: grid; gap: 22px; align-content: start; }
.metodo__titulo { font-size: clamp(56px, 7vw, 104px); line-height: .95; letter-spacing: -.04em; }
.metodo__titulo .verde { font-weight: 800; }
.metodo__texto > p:last-child { color: var(--tinta-2); }
.hemisferios { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.hemisferio { display: grid; gap: 14px; align-content: start; }
.hemisferio__cinta { padding: 12px 18px; border-radius: 8px; text-align: center; font-weight: 800; font-size: 21px; color: #0A0A0A; background: linear-gradient(90deg, #AAFF00, #7d9a85); }
.hemisferio__cinta--d { background: linear-gradient(90deg, #7d9a85, #AAFF00); }
.hemisferio__sub { text-align: center; color: var(--tinta-2); font-size: 15.5px; }
.pieza { display: grid; gap: 8px; justify-items: center; text-align: center; padding: 22px 8px 6px; }
.pieza img { width: 66px; height: 66px; object-fit: contain; transition: transform .4s ease; }
.pieza:hover img { transform: scale(1.08); }
.pieza h3 { font-size: 23px; color: var(--acento); }
.pieza p { color: var(--tinta-2); font-size: 16px; max-width: 34ch; }

/* ── Cierre · p. 10 ── */
.cierre { position: relative; overflow: hidden; background: #000; padding: 170px 0 150px; isolation: isolate; }
.cierre__verde { position: absolute; z-index: -1; width: min(1000px, 90vw); right: -14%; top: -36%; animation: deriva 26s ease-in-out infinite alternate-reverse; pointer-events: none; }
.cierre .contenedor { display: grid; gap: 26px; justify-items: start; }
.cierre__lema { font-family: var(--fuente-portada); font-weight: 500; font-size: clamp(34px, 4.6vw, 64px); line-height: 1.08; max-width: 18ch; }
.cierre .titular-seccion { font-weight: 400; font-size: clamp(24px, 2.6vw, 34px); color: #F4F4F2; max-width: 30ch; margin-top: 10px; }
.cierre__secundario { color: #9A9A93; font-size: 15px; margin-top: 12px; }

/* ── Pie ── */
.pie { border-top: 1px solid var(--linea); padding: 34px 0 40px; font-size: 14px; color: var(--gris); }
.pie__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; }
.pie__firma { display: inline-flex; align-items: center; gap: 12px; color: var(--tinta); --c: 16px; }
.pie ul { display: flex; gap: 22px; }
.pie a { text-decoration: none; } .pie a:hover { color: var(--tinta); }

/* ── Legal (páginas heredadas) ── */
.legal { padding: 176px 0 128px; }
.legal h1 { font-size: clamp(36px, 5vw, 56px); line-height: 1.08; margin-top: 22px; }
.aviso-pendiente { margin-top: 20px; color: var(--gris); }

/* ── Diálogo de demo ── */
.demo { width: min(560px, calc(100% - 32px)); padding: 0; border: 1px solid var(--linea-2); border-radius: 24px; background: var(--superficie); color: var(--tinta); }
.demo::backdrop { background: rgba(0,0,0,.7); backdrop-filter: blur(4px); }
.demo__in { position: relative; display: grid; gap: 18px; padding: 34px 30px 26px; }
.demo h2 { font-size: 28px; }
.demo__texto { color: var(--gris); }
.demo__cerrar { position: absolute; right: 16px; top: 16px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--linea-2); background: transparent; cursor: pointer; display: grid; place-items: center; }
.demo__cerrar svg { width: 12px; height: 12px; } .demo__cerrar path { stroke: currentColor; stroke-width: 1.6; }
.campo { display: grid; gap: 8px; }
.campo label { font-weight: 600; font-size: 15px; }
.campo textarea, .campo input { width: 100%; padding: 13px 14px; border-radius: 12px; border: 1px solid var(--linea-2); background: var(--fondo); color: var(--tinta); font: inherit; }
.campo textarea { min-height: 110px; resize: vertical; }
.campo__ayuda, .demo__maqueta { font-size: 13px; color: var(--gris); }
.campo__error { font-size: 13px; color: #ff7a7a; min-height: 0; }
.demo__acciones { display: grid; gap: 10px; justify-items: start; }

/* ═══ Movimiento: aparición por capas (fondo → pantalla → destacados) ═══ */
.js .aparece { opacity: 0; transform: translateY(26px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.js .aparece.visto { opacity: 1; transform: none; }
.js .capas [data-capa] { opacity: 0; transition: opacity 1s cubic-bezier(.2,.7,.2,1), scale 1s cubic-bezier(.2,.7,.2,1), translate 1s cubic-bezier(.2,.7,.2,1); }
.js .capas [data-capa="1"] { scale: .96; }
.js .capas [data-capa="2"] { translate: 0 40px; transition-delay: .18s; }
.js .capas [data-capa="3"] { translate: 0 16px; transition-delay: .42s; }
.js .capas.visto [data-capa] { opacity: 1; scale: 1; translate: 0 0; }
.js .capas.visto .heroe__mandos[data-capa] { opacity: 0; }
.js .capas.visto:hover .heroe__mandos[data-capa], .js .capas.visto:focus-within .heroe__mandos[data-capa], .js .capas.visto .heroe__mandos.fijo { opacity: 1; }
[data-px] { will-change: transform; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .js .aparece, .js .capas [data-capa] { opacity: 1 !important; transform: none !important; scale: 1 !important; translate: 0 0 !important; }
  .js .capas.visto .heroe__mandos[data-capa] { opacity: 1; }
  .cinta { flex-wrap: wrap; width: auto; justify-content: center; gap: 14px 32px; }
  .cinta li[aria-hidden="true"] { display: none; }
  .paso, .citas li { opacity: 1; transform: none; }
}

/* ═══ Tablet y móvil ═══ */
@media (max-width: 1080px) {
  .heroe__rejilla, .detalle__rejilla, .comprobar__rejilla, .caso__rejilla, .metodo__rejilla, .pregunta__rejilla { grid-template-columns: 1fr; gap: 48px; }
  .detalle--invertido .detalle__rejilla > .detalle__texto { order: 0; }
  .heroe__visual { max-width: 760px; }
}
@media (max-width: 760px) {
  :root { --lado: 16px; }
  body { font-size: 16px; }
  .nav { position: fixed; inset: 68px 0 auto 0; background: var(--cab-fondo); backdrop-filter: blur(14px); border-bottom: 1px solid var(--linea); padding: 8px 16px 18px; display: none; }
  .cab.menu-abierto .nav { display: block; }
  .nav__lista { flex-direction: column; }
  .nav__lista a { display: block; padding: 14px 6px; font-size: 18px; }
  .hamb { display: inline-flex; }
  .cab .boton--sm { padding: 0 14px; font-size: 13px; }
  .seccion, .caso, .pregunta { padding: 88px 0; }
  .heroe { padding-top: 104px; }
  .heroe h1 { font-size: 37px; line-height: 1.06; margin-top: 16px; }
  .heroe .ceja { font-size: 12px; letter-spacing: .1em; }
  .entrada { margin-top: 18px; font-size: 17.5px; }
  .heroe__acciones { margin-top: 26px; }
  .heroe__acciones .boton { flex: 1 1 auto; }
  .heroe__verde { width: 620px; right: -70%; top: 640px; }
  .heroe__visual { padding: 0 0 64px 12%; margin-top: 8px; }
  .movil--heroe { width: 30%; bottom: 40px; }
  .pasos-video { left: 0; gap: 4px; }
  .pasos-video li { font-size: 0; padding-top: 0; height: 3px; }
  .pasos-video li { overflow: visible; }
  .pasos-video li.ahora { font-size: 12px; padding-top: 10px; height: auto; }
  .heroe__mandos { opacity: 1; top: auto; bottom: 18px; right: 0; }
  .js .capas.visto .heroe__mandos[data-capa] { opacity: 1; }
  .mando__nota { display: none; }
  .heroe__chips { margin-top: 40px; }
  .cinta li { font-size: 16px; }
  .cinta { gap: 40px; }
  .tarjetas { grid-template-columns: 1fr; gap: 16px; }
  .cabeza-seccion { margin-bottom: 44px; }
  .cita { padding: 44px 24px 30px; border-radius: 24px; }
  .cita__comillas { font-size: 110px; top: -40px; left: 14px; }
  .pregunta__foto { grid-template-columns: 1fr; }
  .foto-marco { aspect-ratio: 4 / 4.6; }
  .pregunta__foto figcaption { font-size: 16px; }
  .detalle__visual { min-height: 0; }
  .detalle__visual.escena-panel { padding: 36px 12px 70px; border-radius: 22px; }
  .movil--delante { width: 52%; margin-left: 38%; }
  .movil--atras { width: 46%; left: 6%; }
  .movil-img--atras { width: 56%; left: 4%; }
  .lista-iconos li { grid-template-columns: 40px 1fr; font-size: 17.5px; }
  .lista-iconos img { width: 40px; height: 40px; padding: 5px; }
  .lista-check li { font-size: 17px; }
  .etiqueta { left: 12px; bottom: 14px; font-size: 12px; }
  .etiqueta--a, .etiqueta--b { position: static; margin: 10px 0 0; display: block; background: none; box-shadow: none; padding: 0; color: var(--gris); font-size: 14px; }
  #practica .detalle__visual { padding-bottom: 70px; }
  .movil-img--mapa { width: 34%; right: 0; bottom: -2%; }
  .niveles { margin-top: 72px; padding: 36px 14px 40px; }
  .niveles__moviles { gap: 10px; margin-top: 28px; }
  .niveles__moviles figcaption { font-size: 14px; line-height: 1.2; }
  .recorrido__linea { display: none; }
  .recorrido__pasos { grid-template-columns: 1fr; gap: 56px; }
  .paso { padding-top: 0; padding-left: 34px; border-left: 3px solid var(--linea-2); }
  .paso.activo { border-left-color: var(--acento); }
  .paso::before { top: 0; left: -11.5px; }
  .movil--paso { width: 56%; }
  .caso__mano { min-height: 0; padding-bottom: 20px; }
  .mano { width: 100%; }
  .dato { width: 150px; padding: 12px 14px 14px; border-radius: 16px; }
  .dato strong { font-size: 26px; }
  .dato > span { font-size: 12px; }
  .dato--1 { left: auto; right: 0; top: 0; }
  .dato--2 { right: 0; top: 30%; }
  .dato--3 { left: auto; right: 0; top: 58%; width: 120px; }
  .dato--4 { right: 0; top: 80%; }
  .comprobar__visual { min-height: 540px; padding: 36px 14px 70px; }
  .movil--feedback { width: 56%; margin-right: 0; }
  .feedback-portatil { width: 74%; left: 4%; top: 12%; }
  .hemisferios { grid-template-columns: 1fr; gap: 28px; }
  .cierre { padding: 120px 0 100px; }
  .cierre .boton--grande { width: 100%; }
  .pie__in { flex-direction: column; align-items: flex-start; }
}

/* ── Cierre · fondo «el cielo»: la cruz 3D con halo y anillos de partículas (cierre-cielo.js, portado de la web actual) ── */
.cierre__cielo { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none;
  background: radial-gradient(34% 46% at 80.5% 50%, rgba(5,5,5,.94), rgba(5,5,5,.7) 60%, rgba(5,5,5,0) 100%); }
@media (max-width: 760px) {
  .cierre { padding-bottom: 420px; }
  .cierre__cielo { background: radial-gradient(70% 210px at 50% calc(100% - 210px), rgba(5,5,5,.9), rgba(5,5,5,0)); }
}
.cierre .contenedor { position: relative; z-index: 1; }
.cierre__lema, .cierre .titular-seccion { text-shadow: 0 2px 40px rgba(6,6,7,.85); }
.cierre__cielo-fijo { display: none; }
@media (prefers-reduced-motion: reduce) {
  .cierre__cielo-fijo { display: block; position: absolute; inset: 0; z-index: 0; pointer-events: none; mix-blend-mode: screen; }
  .cierre__cielo-fijo img { width: 100%; height: 100%; object-fit: cover; }
}

/* ═══ web3 · Educación superior y Noticias (añadido al final; lo de arriba es la portada tal cual) ═══ */
.nav__lista a[aria-current="page"] { opacity: 1; }
.portatil__pantalla > img { width: 100%; height: 100%; object-fit: cover; object-position: top left; }
.portatil--panel { width: 100%; }
#evidencias .detalle__visual { min-height: 0; padding: 64px 28px 84px; }
.docente__portatil { position: absolute; z-index: 1; left: 3%; top: 12%; width: 80%; }
.docente__movil { width: 34%; margin-right: 2%; margin-top: 18%; }
.cierre__botones { display: flex; flex-wrap: wrap; gap: 12px; }
.cierre .boton--hueco { color: #F4F4F2; box-shadow: inset 0 0 0 1px #4a4a46; background: rgba(5,5,5,.5); }
.cierre .boton--hueco:hover { box-shadow: inset 0 0 0 1px #9A9A93; background: rgba(255,255,255,.06); }

@media (max-width: 760px) {
  #evidencias .detalle__visual { padding: 36px 10px 70px; }
  .docente__portatil { left: 2%; top: 10%; width: 84%; }
  .docente__movil { width: 44%; margin-top: 34%; }
  .cierre__botones .boton { width: 100%; }
}
@media (min-width: 1081px) {
  #evidencias .detalle__rejilla { grid-template-columns: 6fr 5fr; gap: 64px; }
  #evidencias .detalle__visual { padding: 56px 20px 84px; }
}
.cierre__botones .boton--hueco { text-align: center; line-height: 1.25; }
@media (max-width: 760px) { .cierre__botones .boton--hueco { font-size: 16px; padding: 10px 20px; } }
/* Menú móvil: fondo opaco (un backdrop-filter dentro de otro no difumina en Chrome y el contenido se leía detrás) */
@media (max-width: 760px) { .cab.menu-abierto .nav { background: var(--fondo); } }

/* ── Diálogo de demo: envío real a /api/lead (WEB-DESP) ── */
.demo__trampa { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.demo__estado { font-size: 14px; color: var(--gris); }
.demo .campo__error, .demo__estado.mal { color: #B42318; }
.demo__hecho { display: grid; gap: 16px; }
.demo__hecho h2:focus { outline: none; }
.demo__agendas { display: flex; flex-wrap: wrap; gap: 10px; }
.demo__agendas .boton { min-height: 46px; font-size: 15px; }
/* Iconos con su proporción real (no se estiran al cuadrado) */
.tarjeta__icono, .lista-iconos img, .lista-check img, .pieza img, .niveles__cabeza img { object-fit: contain; }
/* Franja de autoridad: reconocimientos, el primero con más peso (Julio, 25-oct) */
.franja p { padding-bottom: 14px; }
.franja__sellos { list-style: none; margin: 0 auto; padding: 0 0 30px; display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 10px 14px; max-width: 980px; }
.franja__sello { display: grid; gap: 2px; padding: 10px 18px; border: 1px solid var(--linea); border-radius: 14px; text-align: center; color: var(--tinta-2); font-size: 14px; }
.franja__sello strong { color: var(--tinta); font-size: 15px; font-weight: 650; }
.franja__sello span { color: var(--gris); font-size: 13px; }
.franja__sello--principal { border-color: var(--acento-texto); box-shadow: inset 0 0 0 1px var(--acento-texto); }
.franja__sello--principal strong { color: var(--acento-texto); font-size: 17px; }
@media (max-width: 760px) { .franja__sello { flex: 1 1 100%; } }
/* Selector de idioma ES | EN (WEB-EN): discreto, en la cabecera */
.idioma { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--gris); }
.idioma a { color: var(--gris); text-decoration: none; padding: 6px 2px; }
.idioma a:hover { color: var(--tinta); }
.idioma a[aria-current="true"] { color: var(--tinta); }
.idioma span { opacity: .5; }
/* Sugerencia de idioma de una línea, la primera vez */
.aviso-idioma { position: fixed; left: 50%; bottom: 16px; transform: translateX(-50%); z-index: 60; width: max-content; max-width: calc(100% - 32px); display: flex; align-items: center; gap: 12px; padding: 10px 10px 10px 16px; border-radius: 999px; background: var(--superficie); color: var(--tinta); border: 1px solid var(--linea-2); box-shadow: 0 10px 30px -10px rgba(0,0,0,.5); font-size: 14px; }
.aviso-idioma a { color: var(--acento-texto); font-weight: 650; }
.aviso-idioma button { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 50%; border: 1px solid var(--linea-2); background: transparent; color: inherit; cursor: pointer; font-size: 16px; line-height: 1; }
@media (max-width: 420px) { .aviso-idioma { border-radius: 16px; font-size: 13px; } .idioma { font-size: 12px; gap: 4px; } }
/* En el móvil el selector vive dentro del menú; en la cabecera no cabe junto al botón */
.nav__idioma { display: none; }
.cab__acciones .boton--sm { white-space: nowrap; }
@media (max-width: 760px) {
  .cab__acciones .idioma { display: none; }
  .nav__idioma { display: block; }
  .idioma--menu { font-size: 16px; gap: 10px; padding: 8px 0; }
}
.idioma--menu a { padding: 6px 4px; }

/* «Te la cuenta David · 90 s» (TOUR-WEB, 25-oct): botón del héroe que arranca el tour guiado.
   Nunca arranca solo. El círculo fosforito con el triángulo oscuro es el «play» de la casa. */
.boton__play { position: relative; flex: none; width: 22px; height: 22px; border-radius: 50%; background: var(--acento); }
.boton__play::after { content: ""; position: absolute; left: 8px; top: 6px; border-left: 8px solid var(--acento-tinta); border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.boton--david[aria-busy="true"] { opacity: .75; cursor: progress; }
/* el tour baja a cada ancla: html ya reserva 84 px a la cabecera fija (scroll-padding-top); 8 más para el aro */
[data-tour] { scroll-margin-top: 8px; }
