/* 3CWeb Reputación · hoja de estilos (v2)
   Tinta profunda + papel + amarillo 3CWeb. Sora para títulos, Instrument Sans para texto, IBM Plex Mono para detalles técnicos.
   Nada de mayúsculas forzadas ni rayitas decorativas: todo en tipo frase. */

:root {
  --tinta: #0b0d12;
  --tinta-2: #12151c;
  --tinta-3: #1b2029;
  --tinta-4: #262c38;
  --papel: #f5f4f0;
  --crema: #ecebe4;
  --blanco: #ffffff;
  --linea: #e2e0d8;
  --linea-osc: rgba(255, 255, 255, .09);
  --texto: #1a1d24;
  --suave: #5c6270;
  --suave-osc: #9aa2b1;
  --amarillo: #f5cc12;
  --amarillo-2: #e2b800;
  --amarillo-suave: #fdf1c2;
  --verde: #0e8a5f;
  --verde-vivo: #2fd18f;
  --verde-suave: #e0f5ec;
  --rojo: #d4412f;
  --rojo-vivo: #ff6b57;
  --rojo-suave: #fdebe8;
  --azul: #2a5bd7;
  --azul-suave: #e7eefc;
  --wa: #1fa855;
  --radio: 20px;
  --sombra: 0 1px 2px rgba(11, 13, 18, .05), 0 14px 34px -16px rgba(11, 13, 18, .22);
  --sombra-gr: 0 40px 90px -40px rgba(11, 13, 18, .55);
  --brillo: 0 0 0 1px rgba(245, 204, 18, .35), 0 18px 50px -18px rgba(245, 204, 18, .45);
  --ease: cubic-bezier(.2, .7, .1, 1);
  --titulos: 'Sora', 'Instrument Sans', system-ui, sans-serif;
  --cuerpo: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'IBM Plex Mono', ui-monospace, 'Cascadia Mono', Consolas, monospace;
  --cab-alto: 74px;
}

*, *::before, *::after { box-sizing: border-box; }
html { overflow-x: clip; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--cab-alto) + 16px); }
body { overflow-x: clip; margin: 0; font-family: var(--cuerpo); font-size: 17px; line-height: 1.62; color: var(--texto); background: var(--papel); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, svg { max-width: 100%; height: auto; }
.ico { flex-shrink: 0; display: inline-block; vertical-align: middle; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
h1, h2, h3, h4 { font-family: var(--titulos); font-weight: 600; line-height: 1.1; margin: 0 0 .5em; letter-spacing: -.03em; color: var(--tinta); text-wrap: balance; }
h1 { font-size: clamp(2.2rem, 4.8vw, 3.75rem); font-weight: 700; letter-spacing: -.045em; }
h2 { font-size: clamp(1.7rem, 3.2vw, 2.55rem); letter-spacing: -.04em; }
h3 { font-size: 1.2rem; letter-spacing: -.02em; }
p { margin: 0 0 1em; }
:focus-visible { outline: 3px solid var(--azul); outline-offset: 2px; border-radius: 6px; }
::selection { background: var(--amarillo); color: var(--tinta); }

.envoltura { width: min(1200px, 100% - 40px); margin-inline: auto; }
.envoltura--estrecha { width: min(860px, 100% - 40px); margin-inline: auto; }
.saltar { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--tinta); color: #fff; padding: 10px 16px; border-radius: 8px; }
.saltar:focus { left: 8px; }
.trampa { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.mono { font-family: var(--mono); }

/* Botones */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .55em; min-height: 50px; padding: 0 1.45em; border-radius: 999px; border: 1.5px solid transparent; font: 600 1rem/1 var(--cuerpo); text-decoration: none; cursor: pointer; transition: transform .25s var(--ease), background-color .2s, box-shadow .25s var(--ease), color .2s, border-color .2s; white-space: nowrap; position: relative; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn--amarillo { background: var(--amarillo); color: var(--tinta); box-shadow: 0 10px 28px -12px rgba(243, 213, 0, .95); }
.btn--amarillo:hover { background: var(--amarillo-2); box-shadow: 0 16px 34px -12px rgba(243, 213, 0, 1); }
.btn--tinta { background: var(--tinta); color: #fff; }
.btn--tinta:hover { background: var(--tinta-4); }
.btn--linea { border-color: var(--tinta); color: var(--tinta); background: transparent; }
.btn--linea:hover { background: var(--tinta); color: #fff; }
.btn--linea-clara { border-color: rgba(255, 255, 255, .28); color: #fff; background: rgba(255, 255, 255, .03); }
.btn--linea-clara:hover { border-color: #fff; background: rgba(255, 255, 255, .09); }
.btn--whatsapp { background: var(--wa); color: #fff; }
.btn--whatsapp:hover { background: #17924a; }
.btn--peq { min-height: 42px; padding: 0 1.1em; font-size: .95rem; }
.btn--gr { min-height: 58px; padding: 0 1.8em; font-size: 1.06rem; }
.btn--bloque { width: 100%; }
.enlace-flecha { display: inline-flex; align-items: center; gap: .4em; font-weight: 600; text-decoration: none; color: var(--tinta); }
.enlace-flecha .ico { transition: transform .25s var(--ease); }
.enlace-flecha:hover .ico { transform: translateX(4px); }
.linkclaro { background: none; border: 0; color: inherit; font: inherit; cursor: pointer; padding: 0; text-decoration: underline; text-underline-offset: 3px; }

/* Cabecera */
.cab { position: sticky; top: 0; z-index: 50; background: rgba(245, 244, 240, .82); backdrop-filter: saturate(1.5) blur(16px); -webkit-backdrop-filter: saturate(1.5) blur(16px); border-bottom: 1px solid transparent; transition: background-color .3s, border-color .3s; }
.cab.es-scroll { border-bottom-color: var(--linea); }
.cab__fila { height: var(--cab-alto); display: flex; align-items: center; gap: 20px; }
.cab__marca { display: flex; align-items: center; gap: 12px; text-decoration: none; flex-shrink: 0; }
.cab__logo { height: 30px; width: auto; display: block; }
.cab__logo--blanco { display: none; }
.cab__sub { font: 500 .74rem/1.15 var(--mono); padding: 6px 0 6px 12px; border-left: 1px solid var(--linea); color: var(--suave); white-space: nowrap; }
.cab__acciones { margin-left: auto; display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.cab__tel { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--linea); font: 600 .92rem/1 var(--cuerpo); text-decoration: none; white-space: nowrap; transition: border-color .2s, background-color .2s; }
.cab__tel:hover { border-color: var(--tinta); }
.cab__menu { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--linea); background: #fff; color: var(--tinta); cursor: pointer; align-items: center; justify-content: center; }

.cab--oscura:not(.es-scroll) { background: transparent; color: #fff; }
.cab--oscura:not(.es-scroll) .cab__logo--negro { display: none; }
.cab--oscura:not(.es-scroll) .cab__logo--blanco { display: block; }
.cab--oscura:not(.es-scroll) .cab__sub { color: var(--suave-osc); border-color: var(--linea-osc); }
.cab--oscura:not(.es-scroll) .nav__enlace { color: #fff; }
.cab--oscura:not(.es-scroll) .cab__tel { border-color: rgba(255, 255, 255, .2); color: #fff; }
.cab--oscura:not(.es-scroll) .cab__menu { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .2); }
body.con-hero-oscuro .cab--oscura { margin-bottom: calc(var(--cab-alto) * -1); }

.nav { display: flex; align-items: center; margin-left: 6px; }
.nav__lista { display: flex; align-items: center; gap: 0; list-style: none; margin: 0; padding: 0; }
.nav__enlace { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; padding: 10px 11px; border-radius: 999px; font: 500 .95rem/1 var(--cuerpo); color: var(--texto); text-decoration: none; background: none; border: 0; cursor: pointer; transition: background-color .2s; }
.nav__enlace:hover, .nav__enlace[aria-expanded="true"] { background: rgba(11, 13, 18, .06); }
.cab--oscura:not(.es-scroll) .nav__enlace:hover { background: rgba(255, 255, 255, .1); }
.nav__enlace[aria-current="page"] { font-weight: 650; box-shadow: inset 0 -2px 0 var(--amarillo); border-radius: 0; }
.nav__enlace svg { transition: transform .25s var(--ease); }
.nav__enlace[aria-expanded="true"] svg { transform: rotate(180deg); }
.nav__pie { display: none; }

.nav__item--mega { position: static; }
.mega { position: absolute; left: 0; right: 0; top: 100%; padding: 0 20px; opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s; color: var(--texto); }
.nav__item--mega.abierto .mega { opacity: 1; visibility: visible; transform: none; }
.mega__grid { width: min(1200px, 100%); margin: 6px auto 0; background: #fff; border-radius: 24px; box-shadow: var(--sombra-gr); padding: 26px; display: grid; grid-template-columns: repeat(3, 1fr) 1.1fr; gap: 22px; border: 1px solid var(--linea); }
.mega__titulo { font: 600 1rem/1.2 var(--titulos); margin: 0 0 12px; color: var(--tinta); letter-spacing: -.02em; }
.mega__titulo small { display: block; font: 400 .84rem/1.3 var(--cuerpo); color: var(--suave); margin-top: 4px; letter-spacing: 0; }
.mega__enlace { display: flex; align-items: center; gap: 10px; padding: 9px 10px; margin: 0 -10px; border-radius: 10px; text-decoration: none; font-weight: 500; font-size: .95rem; transition: background-color .2s; }
.mega__enlace:hover { background: var(--papel); }
.mega__enlace .ico { color: var(--suave); }
.mega__col--destacada { background: var(--tinta); color: #fff; border-radius: 18px; padding: 22px; }
.mega__col--destacada .mega__titulo { color: #fff; }
.mega__col--destacada p { color: var(--suave-osc); font-size: .94rem; }
.mega__urgente { display: flex; align-items: center; gap: 8px; margin-top: 18px; color: #ffb4a8; font-weight: 600; font-size: .92rem; text-decoration: none; }
.mega__urgente:hover { text-decoration: underline; }

/* Secciones */
.sec { padding: clamp(64px, 9vw, 120px) 0; position: relative; }
.sec--crema { background: var(--crema); }
.sec--blanca { background: #fff; }
.sec--tinta { background: var(--tinta); color: #dfe3ea; isolation: isolate; overflow: hidden; }
.sec--tinta h2, .sec--tinta h3 { color: #fff; }
.sec--tinta .sec__intro { color: var(--suave-osc); }
.sec--compacta { padding: clamp(48px, 6vw, 80px) 0; }
.rejilla::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .6; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(ellipse at 50% 0%, #000 25%, transparent 75%); pointer-events: none; }
.sec__cab { max-width: 760px; margin-bottom: clamp(32px, 5vw, 56px); }
.sec__cab--centro { margin-inline: auto; text-align: center; }
.sec__cab--fila { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.sec__cab--fila > div { max-width: 700px; }
.antetitulo { display: inline-flex; align-items: center; gap: 9px; font: 500 .82rem/1.2 var(--mono); color: var(--suave); margin: 0 0 16px; padding: 7px 12px 7px 10px; border-radius: 999px; background: rgba(11, 13, 18, .05); }
.antetitulo .punto { width: 7px; height: 7px; border-radius: 50%; background: var(--amarillo); box-shadow: 0 0 0 3px rgba(245, 204, 18, .3); animation: latido 2.4s ease-in-out infinite; }
.sec--tinta .antetitulo, .hero .antetitulo, .cabecera--tinta .antetitulo, .cta-final .antetitulo { color: #c9cfda; background: rgba(255, 255, 255, .06); }
.sec__intro { font-size: 1.14rem; color: var(--suave); max-width: 640px; }
.sec__cab--centro .sec__intro { margin-inline: auto; }
.resalte { background: linear-gradient(transparent 62%, var(--amarillo) 62%, var(--amarillo) 92%, transparent 92%); padding: 0 .08em; }
.sec--tinta .resalte, .hero .resalte, .cabecera--tinta .resalte { background: none; color: var(--amarillo); }
@keyframes latido { 50% { box-shadow: 0 0 0 6px rgba(245, 204, 18, 0); } }

/* Hero */
.hero { background: var(--tinta); color: #dfe3ea; padding: calc(var(--cab-alto) + clamp(40px, 6vw, 84px)) 0 clamp(64px, 7vw, 104px); position: relative; overflow: hidden; isolation: isolate; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(800px 520px at 82% 18%, rgba(245, 204, 18, .14), transparent 60%), radial-gradient(700px 520px at 0% 100%, rgba(42, 91, 215, .2), transparent 60%); }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size: 56px 56px; mask-image: radial-gradient(ellipse at 70% 30%, #000 20%, transparent 72%); }
.hero__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 5vw, 72px); align-items: center; }
.hero h1 { color: #fff; margin-bottom: .4em; }
.hero__sub { font-size: clamp(1.06rem, 1.5vw, 1.24rem); color: #b9c0cc; max-width: 570px; margin-bottom: 28px; }
.hero__sub strong { color: #fff; font-weight: 600; }
.hero__pregunta { font: 500 .82rem/1.2 var(--mono); color: var(--suave-osc); margin: 0 0 12px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 30px; padding: 0; list-style: none; }
.chip { display: inline-flex; align-items: center; gap: 8px; padding: 10px 15px; border-radius: 999px; border: 1px solid var(--linea-osc); background: rgba(255, 255, 255, .04); color: #fff; text-decoration: none; font-weight: 500; font-size: .95rem; transition: background-color .2s, border-color .2s, transform .25s var(--ease); }
.chip:hover { border-color: var(--amarillo); background: rgba(245, 204, 18, .08); transform: translateY(-2px); }
.chip .ico { color: var(--amarillo); }
.chip--urgente .ico { color: var(--rojo-vivo); }
.hero__acciones { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* Sellos de confianza: siempre en una fila ordenada */
.sellos { display: grid; grid-template-columns: repeat(4, auto); justify-content: start; gap: 8px; margin: 32px 0 0; padding: 0; list-style: none; }
.sellos li { display: flex; align-items: center; gap: 8px; padding: 9px 13px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--linea-osc); color: #cfd5df; font-size: .88rem; white-space: nowrap; }
.sellos .ico { color: var(--amarillo); }
.sellos--claro li { background: #fff; border-color: var(--linea); color: var(--texto); }
.sellos--claro .ico { color: var(--verde); }
.sellos--centro { justify-content: center; }

/* Escáner de resultados de Google en el hero */
.escaner { position: relative; }
.serp { background: #fff; color: #202124; border-radius: 22px; box-shadow: var(--sombra-gr), 0 0 0 1px rgba(255, 255, 255, .08); padding: 18px 20px 16px; position: relative; font-family: Arial, Helvetica, sans-serif; overflow: hidden; }
.serp__barra { display: flex; align-items: center; gap: 10px; border: 1px solid #dfe1e5; border-radius: 999px; padding: 10px 16px; margin-bottom: 14px; font-size: 15px; color: #202124; box-shadow: 0 1px 6px rgba(32, 33, 36, .12); }
.serp__barra .ico { color: #5f6368; }
.serp__escribe::after { content: "|"; animation: parpadeo 1s steps(1) infinite; color: #5f6368; margin-left: 1px; }
.serp__res { padding: 10px 12px; margin: 0 -12px; border-radius: 12px; position: relative; transition: background-color .5s, opacity .6s, transform .6s var(--ease), max-height .6s var(--ease), padding .6s, margin .6s; max-height: 140px; overflow: hidden; }
.serp__url { font-size: 12.5px; color: #4d5156; display: flex; align-items: center; gap: 6px; }
.serp__fav { width: 18px; height: 18px; border-radius: 50%; background: #e8eaed; display: inline-grid; place-items: center; font-size: 10px; font-weight: 700; color: #5f6368; }
.serp__tit { font-size: 16.5px; color: #1a0dab; margin: 2px 0 3px; line-height: 1.3; padding-right: 92px; }
.serp__desc { font-size: 13px; color: #4d5156; line-height: 1.45; margin: 0; }
.serp__res--malo { background: #fff3f1; }
.serp__res--malo .serp__tit { color: #a50e0e; }
.serp__etq { position: absolute; top: 10px; right: 10px; font: 500 11px/1 var(--mono); padding: 5px 8px; border-radius: 999px; background: var(--rojo); color: #fff; transition: background-color .4s; }
.serp__res.retirado { opacity: 0; transform: translateX(30px); max-height: 0; padding-top: 0; padding-bottom: 0; }
.serp__res.nuevo { animation: entra .7s var(--ease) both; background: #effaf5; }
.serp__res.nuevo .serp__etq { background: var(--verde); }
.serp__pie { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding-top: 12px; border-top: 1px solid #eee; font: 500 12.5px/1.3 var(--mono); color: var(--suave); }
.serp__pie strong { color: var(--verde); font-size: 15px; }
.serp__laser { position: absolute; left: 0; right: 0; height: 80px; top: -80px; background: linear-gradient(180deg, transparent, rgba(245, 204, 18, .16) 85%, rgba(255, 210, 0, .7)); pointer-events: none; animation: barrido 5s var(--ease) 1.5s infinite; }
@keyframes barrido { 0% { top: -80px; } 50%, 100% { top: 105%; } }
.flotante-hero { position: absolute; z-index: 2; background: var(--tinta-2); color: #fff; border: 1px solid rgba(255, 255, 255, .12); border-radius: 16px; padding: 12px 15px; box-shadow: var(--sombra-gr); display: flex; gap: 11px; align-items: center; font-size: .86rem; font-weight: 600; animation: flota 6s ease-in-out infinite; }
.flotante-hero small { display: block; font: 400 .72rem/1.3 var(--mono); color: var(--suave-osc); }
.flotante-hero .ico { color: var(--amarillo); }
.flotante-hero--a { left: -30px; bottom: -26px; }
.flotante-hero--b { right: -24px; top: -26px; animation-delay: -3s; }
.flotante-hero--b .ico { color: var(--verde-vivo); }
@keyframes flota { 50% { transform: translateY(-8px); } }
@keyframes parpadeo { 50% { opacity: 0; } }
@keyframes entra { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* Cinta de lo que eliminamos */
.cinta { background: var(--amarillo); color: var(--tinta); overflow: hidden; padding: 17px 0; }
.cinta__pista { display: flex; width: max-content; animation: cinta 42s linear infinite; }
.cinta:hover .cinta__pista { animation-play-state: paused; }
.cinta__item { display: inline-flex; align-items: center; gap: 12px; padding: 0 22px; font: 600 1rem/1 var(--titulos); letter-spacing: -.02em; white-space: nowrap; }
.cinta__item .ico { opacity: .75; }
@keyframes cinta { to { transform: translateX(-50%); } }

/* Bento de servicios */
.bento { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.bento__item { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--linea); border-radius: 24px; padding: 26px; text-decoration: none; overflow: hidden; isolation: isolate; transition: transform .4s var(--ease), box-shadow .4s var(--ease), border-color .3s; min-height: 236px; }
.bento__item:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: #cfccc1; }
.bento__item--grande { grid-column: span 2; grid-row: span 2; background: var(--tinta); color: #dfe3ea; border-color: var(--tinta); }
.bento__item--grande:hover { border-color: rgba(245, 204, 18, .4); box-shadow: var(--brillo); }
.bento__item--ancho { grid-column: span 2; }
.bento__item--urgente { background: linear-gradient(140deg, #2b1411, #3d1712); border-color: #4a221c; color: #f3d3cc; }
.bento__item--perito { background: linear-gradient(150deg, #fcefb5, #fffdf0 70%); border-color: #eedc9a; }
.bento__ico { width: 50px; height: 50px; border-radius: 15px; display: grid; place-items: center; background: var(--papel); color: var(--tinta); margin-bottom: 20px; transition: transform .4s var(--ease), background-color .3s; }
.bento__item:hover .bento__ico { transform: rotate(-6deg) scale(1.06); background: var(--amarillo); }
.bento__item--grande .bento__ico, .bento__item--grande:hover .bento__ico { background: rgba(245, 204, 18, .12); color: var(--amarillo); }
.bento__item--urgente .bento__ico, .bento__item--urgente:hover .bento__ico { background: rgba(255, 107, 87, .14); color: var(--rojo-vivo); }
.bento__item--perito .bento__ico, .bento__item--perito:hover .bento__ico { background: var(--tinta); color: var(--amarillo); }
.bento__tit { font: 600 1.16rem/1.2 var(--titulos); letter-spacing: -.025em; color: var(--tinta); margin: 0 0 8px; }
.bento__item--grande .bento__tit { font-size: clamp(1.5rem, 2.4vw, 2rem); color: #fff; letter-spacing: -.04em; }
.bento__item--urgente .bento__tit { color: #fff; }
.bento__item p { color: var(--suave); font-size: .95rem; margin: 0 0 18px; flex: 1; }
.bento__item--grande p { color: var(--suave-osc); font-size: 1.04rem; max-width: 460px; flex: 0 0 auto; }
.bento__item--urgente p { color: #e6b9b1; }
.bento__pie { display: flex; align-items: center; justify-content: space-between; gap: 10px; font: 500 .8rem/1.3 var(--mono); color: var(--tinta); margin-top: auto; }
.bento__item--grande .bento__pie, .bento__item--urgente .bento__pie { color: #fff; }
.bento__pie .ico { transition: transform .3s var(--ease); }
.bento__item:hover .bento__pie .ico { transform: translateX(4px); }
.bento__mini { list-style: none; padding: 0; margin: 4px 0 24px; display: grid; gap: 8px; }
.bento__mini li { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .05); border: 1px solid var(--linea-osc); font-size: .92rem; color: #dfe3ea; }
.bento__mini li span:first-child { display: flex; gap: 10px; align-items: center; min-width: 0; }
.bento__mini .etq { flex-shrink: 0; }
.bento__item--grande::after { content: ""; position: absolute; right: -90px; top: -90px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(245, 204, 18, .22), transparent 65%); z-index: -1; }

/* Tarjetas genéricas */
.tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 14px; }
.tarjeta { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--linea); border-radius: var(--radio); padding: 26px 24px 22px; text-decoration: none; transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s; }
a.tarjeta:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: #cfccc1; }
.tarjeta__ico { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--papel); margin-bottom: 18px; color: var(--tinta); transition: background-color .3s, transform .4s var(--ease); }
a.tarjeta:hover .tarjeta__ico { background: var(--amarillo); transform: rotate(-6deg); }
.tarjeta h3, .tarjeta .tarjeta__tit { font: 600 1.12rem/1.22 var(--titulos); letter-spacing: -.025em; margin: 0 0 8px; color: var(--tinta); }
.tarjeta p { color: var(--suave); font-size: .96rem; margin: 0 0 18px; flex: 1; }
.tarjeta__pie { display: flex; align-items: center; justify-content: space-between; gap: 10px; font: 500 .8rem/1.3 var(--mono); padding-top: 14px; border-top: 1px dashed var(--linea); }
.tarjeta__precio { color: var(--tinta); }
.tarjeta__pie .ico { transition: transform .3s var(--ease); }
a.tarjeta:hover .tarjeta__pie .ico { transform: translateX(4px); }
.tarjeta--urgente { background: #2b1411; border-color: #4a221c; }
.tarjeta--urgente h3, .tarjeta--urgente .tarjeta__tit { color: #fff; }
.tarjeta--urgente p { color: #e6b9b1; }
.tarjeta--urgente .tarjeta__ico { background: rgba(255, 107, 87, .15); color: var(--rojo-vivo); }
.tarjeta--urgente .tarjeta__pie { border-color: #4a221c; color: #fff; }
.tarjeta--urgente .tarjeta__precio { color: #ffb4a8; }
.grupo-serv { margin-bottom: 48px; }
.grupo-serv:last-child { margin-bottom: 0; }
.grupo-serv__cab { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.grupo-serv__cab p { margin: 0; color: var(--suave); }

/* Perito judicial informático */
.perito { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 84px); align-items: center; }
.credenciales { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 26px 0 30px; }
.credencial { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border-radius: 16px; background: rgba(255, 255, 255, .04); border: 1px solid var(--linea-osc); transition: border-color .3s, background-color .3s; }
.credencial:hover { border-color: rgba(245, 204, 18, .35); background: rgba(245, 204, 18, .04); }
.credencial .ico { color: var(--amarillo); margin-top: 2px; }
.credencial strong { display: block; color: #fff; font-family: var(--titulos); font-weight: 600; font-size: .96rem; letter-spacing: -.02em; }
.credencial span { font-size: .87rem; color: var(--suave-osc); }
.certificado { background: #fdfcf8; color: var(--texto); border-radius: 24px; padding: 26px; box-shadow: var(--sombra-gr); position: relative; transform: rotate(-1.2deg); transition: transform .5s var(--ease); }
.certificado:hover { transform: rotate(0) scale(1.01); }
.certificado__cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px dashed #d9d5c8; }
.certificado__cab strong { font: 600 1.04rem/1.2 var(--titulos); letter-spacing: -.02em; }
.certificado__cab small { display: block; font: 400 .74rem/1.3 var(--mono); color: var(--suave); }
.certificado dl { margin: 0; display: grid; grid-template-columns: 110px 1fr; gap: 10px 14px; font-size: .86rem; }
.certificado dt { font-family: var(--mono); color: var(--suave); font-size: .76rem; padding-top: 2px; }
.certificado dd { margin: 0; word-break: break-all; }
.certificado .hash { font-family: var(--mono); font-size: .76rem; background: var(--papel); padding: 6px 8px; border-radius: 8px; display: block; }
.certificado__sello { position: absolute; right: -16px; bottom: -22px; width: 108px; height: 108px; border-radius: 50%; background: var(--amarillo); color: var(--tinta); display: grid; place-items: center; text-align: center; font: 600 .72rem/1.2 var(--mono); padding: 14px; box-shadow: var(--sombra-gr); transform: rotate(10deg); animation: gira 18s linear infinite; }
.certificado__sello .ico { display: block; margin: 0 auto 4px; }
@keyframes gira { 50% { transform: rotate(-6deg); } }

/* Comparativa */
.compara { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--tinta-2); border-radius: var(--radio); overflow: hidden; border: 1px solid var(--linea-osc); }
.compara th, .compara td { padding: 18px 20px; text-align: left; border-bottom: 1px solid var(--linea-osc); vertical-align: top; font-size: .97rem; }
.compara tr:last-child td { border-bottom: 0; }
.compara thead th { font: 600 .98rem/1.2 var(--titulos); letter-spacing: -.02em; color: #fff; background: var(--tinta-3); }
.compara thead th:last-child { background: var(--amarillo); color: var(--tinta); }
.compara td:first-child { color: #fff; font-weight: 600; width: 22%; }
.compara td:nth-child(2) { color: var(--suave-osc); }
.compara td:last-child { color: #fff; background: rgba(245, 204, 18, .05); }
.compara .si { color: var(--amarillo); }
.compara-movil { display: none; }

/* Proceso en línea de tiempo */
.linea-tiempo { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; list-style: none; padding: 0; margin: 0; position: relative; }
.linea-tiempo::before { content: ""; position: absolute; left: 28px; right: 28px; top: 27px; height: 2px; background: repeating-linear-gradient(90deg, var(--tinta) 0 8px, transparent 8px 14px); opacity: .22; }
.hito { position: relative; }
.hito__num { width: 56px; height: 56px; border-radius: 18px; background: var(--tinta); color: var(--amarillo); font: 500 1.05rem/56px var(--mono); text-align: center; margin-bottom: 20px; position: relative; box-shadow: 0 0 0 6px var(--papel); transition: transform .4s var(--ease); }
.hito:hover .hito__num { transform: translateY(-4px) rotate(-4deg); }
.hito h3 { font-size: 1.1rem; margin-bottom: 6px; }
.hito p { margin: 0 0 12px; color: var(--suave); font-size: .96rem; }
.hito__tiempo { display: inline-flex; align-items: center; gap: 6px; font: 500 .76rem/1 var(--mono); color: var(--verde); background: var(--verde-suave); padding: 6px 10px; border-radius: 999px; }

/* Tabla de tarifas */
.tarifas { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: var(--radio); overflow: hidden; border: 1px solid var(--linea); }
.tarifas th, .tarifas td { padding: 16px 20px; text-align: left; border-bottom: 1px solid var(--linea); font-size: .97rem; vertical-align: middle; }
.tarifas thead th { background: #faf9f5; font: 500 .78rem/1.2 var(--mono); color: var(--suave); }
.tarifas tr:last-child td { border-bottom: 0; }
.tarifas tbody tr { transition: background-color .2s; }
.tarifas tbody tr:hover { background: #fcfbf7; }
.tarifas__concepto { font-weight: 600; color: var(--tinta); }
.tarifas__precio { font: 600 1.14rem/1 var(--titulos); letter-spacing: -.02em; color: var(--tinta); white-space: nowrap; }
.tarifas__precio small { display: block; font: 400 .82rem/1.3 var(--cuerpo); letter-spacing: 0; color: var(--suave); margin-top: 4px; white-space: normal; }
.tarifas__plazo { color: var(--suave); white-space: nowrap; font-family: var(--mono); font-size: .84rem !important; }
.etq { display: inline-flex; align-items: center; gap: 5px; font: 500 .74rem/1 var(--mono); padding: 6px 10px; border-radius: 999px; white-space: nowrap; }
.etq--verde { background: var(--verde-suave); color: var(--verde); }
.etq--gris { background: var(--crema); color: var(--suave); }
.etq--amarillo { background: var(--amarillo-suave); color: #7a6400; }
.etq--rojo { background: var(--rojo-suave); color: var(--rojo); }
.etq--azul { background: var(--azul-suave); color: var(--azul); }

/* Planes */
.planes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; align-items: stretch; }
.plan { background: #fff; border: 1px solid var(--linea); border-radius: 24px; padding: 30px 26px; display: flex; flex-direction: column; position: relative; transition: transform .4s var(--ease), box-shadow .4s; }
.plan:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.plan--destacado { background: var(--tinta); color: #dfe3ea; border-color: var(--tinta); box-shadow: var(--sombra-gr); }
.plan--destacado h3, .plan--destacado .plan__precio { color: #fff; }
.plan__etq { position: absolute; top: -13px; left: 26px; background: var(--amarillo); color: var(--tinta); font: 500 .76rem/1 var(--mono); padding: 7px 12px; border-radius: 999px; }
.plan h3 { font-size: 1.3rem; margin-bottom: 10px; }
.plan__precio { font: 700 2.6rem/1 var(--titulos); color: var(--tinta); letter-spacing: -.05em; margin-bottom: 4px; }
.plan__precio small { font: 500 .95rem/1 var(--cuerpo); color: var(--suave); letter-spacing: 0; }
.plan--destacado .plan__precio small { color: var(--suave-osc); }
.plan ul { list-style: none; padding: 0; margin: 22px 0 26px; flex: 1; }
.plan li { display: flex; gap: 10px; padding: 7px 0; font-size: .96rem; }
.plan li .ico { color: var(--verde); margin-top: 3px; }
.plan--destacado li .ico { color: var(--amarillo); }

/* Compromiso de honestidad */
.compromiso { display: grid; grid-template-columns: auto 1fr; gap: 28px; align-items: center; background: var(--tinta); color: #dfe3ea; border-radius: 28px; padding: clamp(28px, 4vw, 44px); position: relative; overflow: hidden; isolation: isolate; }
.compromiso::after { content: ""; position: absolute; right: -120px; top: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(245, 204, 18, .16), transparent 65%); z-index: -1; }
.compromiso__sello { width: 104px; height: 104px; border-radius: 30px; background: var(--amarillo); color: var(--tinta); display: grid; place-items: center; }
.compromiso h2 { color: #fff; font-size: clamp(1.45rem, 2.8vw, 2rem); margin-bottom: 10px; }
.compromiso p { margin: 0; color: var(--suave-osc); font-size: 1.04rem; }
.compromiso strong { color: #fff; }

/* Herramientas: tarjetas (3 arriba y 2 centradas debajo) */
.herr-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.herr-grid > * { flex: 0 1 calc((100% - 32px) / 3); }
.herr-tarjeta { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 28px 26px; border-radius: 24px; text-decoration: none; background: var(--tinta-2); border: 1px solid var(--linea-osc); color: #dfe3ea; transition: transform .4s var(--ease), border-color .3s, box-shadow .4s; overflow: hidden; isolation: isolate; }
.herr-tarjeta::after { content: ""; position: absolute; right: -90px; bottom: -110px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(245, 204, 18, .18), transparent 65%); opacity: 0; transition: opacity .4s; z-index: -1; }
.herr-tarjeta:hover { transform: translateY(-5px); border-color: rgba(245, 204, 18, .5); box-shadow: var(--brillo); }
.herr-tarjeta:hover::after { opacity: 1; }
.herr-tarjeta__ico { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: rgba(245, 204, 18, .1); color: var(--amarillo); transition: transform .4s var(--ease); }
.herr-tarjeta:hover .herr-tarjeta__ico { transform: rotate(-8deg) scale(1.06); }
.herr-tarjeta strong { font: 600 1.12rem/1.2 var(--titulos); letter-spacing: -.025em; color: #fff; }
.herr-tarjeta span { color: var(--suave-osc); font-size: .95rem; flex: 1; }
.herr-tarjeta em { font: normal 500 .8rem/1 var(--mono); color: var(--amarillo); display: inline-flex; align-items: center; gap: 6px; }
.sec:not(.sec--tinta) .herr-tarjeta { background: #fff; border-color: var(--linea); color: var(--texto); }
.sec:not(.sec--tinta) .herr-tarjeta strong { color: var(--tinta); }
.sec:not(.sec--tinta) .herr-tarjeta span { color: var(--suave); }
.sec:not(.sec--tinta) .herr-tarjeta .herr-tarjeta__ico { background: var(--tinta); }
.sec:not(.sec--tinta) .herr-tarjeta em { color: var(--tinta); }

/* Bloque dividido */
.dividido { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.lista-check { list-style: none; padding: 0; margin: 0 0 24px; }
.lista-check li { display: flex; gap: 10px; padding: 6px 0; }
.lista-check .ico { color: var(--verde); margin-top: 3px; }
.sec--tinta .lista-check .ico, .cta-final .lista-check .ico { color: var(--amarillo); }

/* Zona de seguimiento */
.seg { background: #fff; border: 1px solid var(--linea); border-radius: 24px; box-shadow: var(--sombra); overflow: hidden; }
.seg__cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--linea); background: #fbfaf6; flex-wrap: wrap; }
.seg__cab strong { font: 600 1.02rem/1.2 var(--titulos); letter-spacing: -.02em; }
.seg__cab small { display: block; color: var(--suave); font: 400 .76rem/1.4 var(--mono); }
.seg__barra { height: 8px; border-radius: 99px; background: var(--crema); overflow: hidden; margin: 18px 22px 4px; }
.seg__barra span { display: block; height: 100%; background: linear-gradient(90deg, var(--verde), var(--verde-vivo)); border-radius: 99px; transition: width 1.2s var(--ease); }
.seg__resumen { display: flex; gap: 18px; padding: 6px 22px 16px; font: 400 .78rem/1.4 var(--mono); color: var(--suave); flex-wrap: wrap; }
.seg__item { display: grid; grid-template-columns: 1fr auto; gap: 4px 14px; padding: 15px 22px; border-top: 1px solid var(--linea); align-items: center; }
.seg__item strong { font-weight: 600; font-size: .96rem; }
.seg__item small { color: var(--suave); font-size: .85rem; grid-column: 1; }
.seg__item .etq { grid-row: 1 / span 2; grid-column: 2; }

/* Urgencias */
.urgencias { background: linear-gradient(135deg, #2b1411, #3d1712); color: #f6dcd6; border-radius: 28px; padding: clamp(28px, 5vw, 56px); display: grid; grid-template-columns: 1.3fr 1fr; gap: 32px; align-items: center; }
.urgencias h2 { color: #fff; }
.urgencias p { color: #e6b9b1; }
.urgencias .antetitulo { background: rgba(255, 107, 87, .12); color: #ffb4a8; }
.urgencias__pasos { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.urgencias__pasos li { background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1); border-radius: 14px; padding: 14px 16px; display: flex; gap: 12px; color: #fff; font-weight: 500; }
.urgencias__pasos .ico { color: var(--rojo-vivo); }

/* Píldoras */
.pildoras { display: flex; flex-wrap: wrap; gap: 10px; }
.pildora { display: inline-flex; align-items: center; gap: 10px; padding: 11px 17px 11px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--linea); text-decoration: none; font-weight: 500; font-size: .95rem; transition: border-color .2s, transform .25s var(--ease), box-shadow .25s; }
.pildora:hover { border-color: var(--tinta); transform: translateY(-2px); box-shadow: var(--sombra); }
.pildora .ico { color: var(--suave); }

/* Opiniones en carrusel */
.carrusel { position: relative; }
.carrusel__pista { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 4px 8px; scrollbar-width: none; }
.carrusel__pista::-webkit-scrollbar { display: none; }
.carrusel__pista > * { flex: 0 0 calc((100% - 32px) / 3); scroll-snap-align: start; }
.carrusel__nav { display: flex; gap: 8px; }
.carrusel__btn { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--linea); background: #fff; color: var(--tinta); cursor: pointer; display: grid; place-items: center; transition: background-color .2s, color .2s, border-color .2s; }
.carrusel__btn:hover { background: var(--tinta); color: #fff; border-color: var(--tinta); }
.carrusel__btn svg { width: 20px; height: 20px; }
.carrusel__puntos { display: flex; justify-content: center; gap: 6px; margin-top: 22px; }
.carrusel__puntos button { width: 8px; height: 8px; border-radius: 99px; border: 0; padding: 0; background: #cfccc1; cursor: pointer; transition: width .3s var(--ease), background-color .3s; }
.carrusel__puntos button[aria-current="true"] { width: 26px; background: var(--tinta); }
.opinion { background: #fff; border: 1px solid var(--linea); border-radius: 22px; padding: 26px; margin: 0; display: flex; flex-direction: column; }
.opinion__estrellas { color: #e7a500; letter-spacing: 2px; margin-bottom: 12px; }
.opinion blockquote { margin: 0 0 18px; font-size: 1rem; flex: 1; }
.opinion figcaption { display: flex; align-items: center; gap: 12px; font-size: .86rem; color: var(--suave); }
.opinion figcaption strong { color: var(--tinta); display: block; font-size: .95rem; }
.opinion__ini { width: 40px; height: 40px; border-radius: 50%; background: var(--tinta); color: var(--amarillo); display: grid; place-items: center; font: 600 .9rem/1 var(--titulos); flex-shrink: 0; }

/* Persona */
.persona { display: grid; grid-template-columns: 360px 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.persona__foto { position: relative; border-radius: 28px; overflow: hidden; aspect-ratio: 4 / 5; background: #3a3f47; box-shadow: var(--sombra-gr); }
.persona__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 12%; display: block; }
.persona__placa { position: absolute; left: 14px; right: 14px; bottom: 14px; background: rgba(11, 13, 18, .78); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; border-radius: 16px; padding: 12px 14px; font-size: .86rem; }
.persona__placa strong { display: block; font: 600 1rem/1.2 var(--titulos); letter-spacing: -.02em; }
.persona__placa span { font-family: var(--mono); font-size: .72rem; color: var(--amarillo); }
.persona__firma { font: 600 1.06rem/1.2 var(--titulos); margin-top: 18px; letter-spacing: -.02em; }
.persona__firma small { display: block; font: 400 .9rem/1.4 var(--cuerpo); color: var(--suave); letter-spacing: 0; }
.cita { font-size: clamp(1.12rem, 1.7vw, 1.36rem); line-height: 1.5; color: var(--texto); margin: 0 0 8px; font-weight: 500; letter-spacing: -.01em; }

/* Preguntas */
.faqs h2 { margin-bottom: 24px; }
.faqs__lista { display: grid; gap: 10px; }
.faq { background: #fff; border: 1px solid var(--linea); border-radius: 18px; transition: border-color .2s, box-shadow .3s; }
.faq[open] { border-color: #cfccc1; box-shadow: var(--sombra); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 22px; font: 600 1.02rem/1.35 var(--titulos); letter-spacing: -.02em; color: var(--tinta); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary .ico { transition: transform .3s var(--ease); color: var(--suave); }
.faq[open] summary .ico { transform: rotate(45deg); }
.faq__r { padding: 0 22px 20px; color: var(--suave); }
.faq__r p:last-child { margin: 0; }

/* Formulario de lead */
.lead { background: #fff; color: var(--texto); border-radius: 26px; padding: clamp(24px, 3vw, 34px); box-shadow: var(--sombra-gr); position: relative; border: 1px solid var(--linea); }
.lead__cab { margin-bottom: 20px; }
.lead__titulo { font-size: 1.42rem; margin-bottom: 6px; }
.lead__cab p { color: var(--suave); margin: 0; font-size: .94rem; }
.lead__fila { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.campo { display: block; margin-bottom: 14px; }
.campo > span { display: block; font: 500 .76rem/1.2 var(--mono); margin-bottom: 7px; color: var(--suave); }
.campo input, .campo textarea, .campo select { width: 100%; font: 400 1rem/1.4 var(--cuerpo); color: var(--texto); padding: 13px 15px; border: 1.5px solid var(--linea); border-radius: 14px; background: #faf9f6; transition: border-color .2s, box-shadow .2s, background-color .2s; }
.campo textarea { resize: vertical; min-height: 56px; }
.campo input:hover, .campo textarea:hover { border-color: #cfccc1; }
.campo input:focus, .campo textarea:focus, .campo select:focus { outline: none; border-color: var(--tinta); background: #fff; box-shadow: 0 0 0 4px rgba(245, 204, 18, .45); }
.campo input::placeholder, .campo textarea::placeholder { color: #a0a5ae; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: .85rem; color: var(--suave); margin: 4px 0 18px; cursor: pointer; line-height: 1.45; }
.check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--tinta); flex-shrink: 0; }
.lead__nota { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--suave); font: 400 .76rem/1.3 var(--mono); margin: 12px 0 0; text-align: center; }
.lead__estado:empty { display: none; }
.lead__estado { margin-top: 14px; padding: 14px 16px; border-radius: 12px; font-size: .95rem; }
.lead__estado.ok { background: var(--verde-suave); color: var(--verde); }
.lead__estado.err { background: var(--rojo-suave); color: var(--rojo); }
.lead.enviado > :not(.lead__exito) { display: none; }
.lead__exito { text-align: center; padding: 24px 6px; }
.lead__exito .ico { color: var(--verde); width: 56px; height: 56px; margin-bottom: 12px; }
.lead__exito h3 { font-size: 1.42rem; }
.lead__exito p { color: var(--suave); }

/* Formulario fijo en el lateral (guías, servicios, sectores): compacto y alineado */
.lateral .lead { padding: 22px; border-radius: 22px; box-shadow: var(--sombra); }
.lateral .lead__cab { margin-bottom: 14px; padding-bottom: 14px; border-bottom: 1px dashed var(--linea); }
.lateral .lead__titulo { font-size: 1.16rem; }
.lateral .lead__cab p { font-size: .88rem; }
.lateral .lead__fila { grid-template-columns: 1fr; gap: 0; }
.lateral .campo { margin-bottom: 10px; }
.lateral .campo input, .lateral .campo textarea { padding: 11px 13px; font-size: .95rem; border-radius: 12px; }
.lateral .campo--opcional { display: none; }
.lateral .check { font-size: .8rem; margin-bottom: 14px; }
.lateral .btn { min-height: 48px; }

/* CTA final */
.cta-final { background: var(--tinta); color: #dfe3ea; padding: clamp(64px, 9vw, 120px) 0; position: relative; overflow: hidden; isolation: isolate; }
.cta-final::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(800px 500px at 100% 0%, rgba(245, 204, 18, .13), transparent 60%), radial-gradient(600px 500px at 0% 100%, rgba(42, 91, 215, .16), transparent 60%); }
.cta-final__grid { display: grid; grid-template-columns: 1fr minmax(0, 520px); gap: clamp(32px, 6vw, 80px); align-items: center; }
.cta-final h2 { color: #fff; font-size: clamp(2rem, 4vw, 3rem); }
.cta-final__texto > p { color: #b9c0cc; font-size: 1.12rem; }
.cta-final__directo { display: flex; gap: 12px; flex-wrap: wrap; }

/* Cabecera de página interior */
.cabecera { padding: clamp(36px, 5vw, 64px) 0 clamp(36px, 5vw, 56px); position: relative; }
.cabecera--tinta { background: var(--tinta); color: #dfe3ea; padding-top: calc(var(--cab-alto) + clamp(30px, 4vw, 60px)); padding-bottom: clamp(44px, 6vw, 72px); overflow: hidden; isolation: isolate; }
.cabecera--tinta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(700px 420px at 90% 10%, rgba(245, 204, 18, .12), transparent 60%); }
.cabecera--tinta::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px); background-size: 48px 48px; mask-image: radial-gradient(ellipse at 80% 20%, #000 15%, transparent 65%); }
.cabecera--tinta h1 { color: #fff; }
.cabecera--tinta .cabecera__intro { color: #b9c0cc; }
.cabecera--tinta .migas, .cabecera--tinta .migas a { color: var(--suave-osc); }
.cabecera h1 { font-size: clamp(2rem, 4.2vw, 3.3rem); max-width: 920px; }
.cabecera__intro { font-size: clamp(1.05rem, 1.5vw, 1.22rem); color: var(--suave); max-width: 720px; margin-bottom: 26px; }
.cabecera__grid { display: grid; grid-template-columns: 1fr 380px; gap: 48px; align-items: start; }
.cabecera__ico { width: 60px; height: 60px; border-radius: 18px; display: grid; place-items: center; background: var(--amarillo); color: var(--tinta); margin-bottom: 22px; }
.migas ol { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 22px; padding: 0; font: 400 .78rem/1.4 var(--mono); color: var(--suave); }
.migas li + li::before { content: "/"; margin-right: 6px; opacity: .5; }
.migas a { text-decoration: none; }
.migas a:hover { text-decoration: underline; }
.datos-serv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 6px 0 26px; max-width: 820px; }
.datos-serv div { background: rgba(255, 255, 255, .05); border: 1px solid var(--linea-osc); border-radius: 16px; padding: 16px 18px; }
.datos-serv dt { font: 500 .74rem/1.2 var(--mono); color: var(--suave-osc); margin-bottom: 6px; display: flex; gap: 6px; align-items: center; }
.datos-serv dd { margin: 0; font: 600 1rem/1.3 var(--titulos); letter-spacing: -.02em; color: #fff; }
.puntos-serv { list-style: none; padding: 0; margin: 0 0 30px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; max-width: 820px; }
.puntos-serv li { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 14px; background: rgba(255, 255, 255, .03); border: 1px solid var(--linea-osc); color: #e6e9ee; font-size: .95rem; line-height: 1.35; text-wrap: balance; }
.puntos-serv .ico { flex: 0 0 26px; width: 26px; height: 26px; padding: 6px; border-radius: 50%; background: rgba(245, 204, 18, .14); color: var(--amarillo); }

/* Contenido largo con lateral fijo */
.con-lateral { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(32px, 5vw, 64px); align-items: start; }
.lateral { position: sticky; top: calc(var(--cab-alto) + 16px); display: grid; gap: 14px; }
.lateral::-webkit-scrollbar { display: none; }
.caja { background: #fff; border: 1px solid var(--linea); border-radius: var(--radio); padding: 22px; }
.caja h3, .caja__tit { font: 600 1.02rem/1.25 var(--titulos); letter-spacing: -.02em; margin: 0 0 12px; color: var(--tinta); }
.caja--tinta { background: var(--tinta); color: #dfe3ea; border-color: var(--tinta); position: relative; overflow: hidden; isolation: isolate; }
.caja--tinta::after { content: ""; position: absolute; right: -60px; top: -60px; width: 200px; height: 200px; border-radius: 50%; background: radial-gradient(circle, rgba(245, 204, 18, .2), transparent 65%); z-index: -1; }
.caja--tinta h3, .caja--tinta .caja__tit { color: #fff; }
.caja--tinta p { color: var(--suave-osc); font-size: .94rem; }
.caja--amarilla { background: var(--amarillo-suave); border-color: #eedc9a; }
.indice ol { margin: 0; padding: 0; list-style: none; font-size: .92rem; counter-reset: ind; }
.indice li { margin: 2px 0; counter-increment: ind; }
.indice a { display: flex; gap: 10px; text-decoration: none; color: var(--suave); padding: 6px 8px; margin: 0 -8px; border-radius: 8px; transition: background-color .2s, color .2s; }
.indice a::before { content: counter(ind, decimal-leading-zero); font: 400 .74rem/1.75 var(--mono); color: #a6abb4; }
.indice a:hover { color: var(--tinta); background: var(--papel); }

.prosa { font-size: 1.06rem; line-height: 1.74; max-width: 780px; }
.prosa h2 { font-size: clamp(1.42rem, 2.4vw, 1.86rem); margin: 1.9em 0 .6em; }
.prosa h2:first-child { margin-top: 0; }
.prosa h3 { font-size: 1.22rem; margin: 1.5em 0 .5em; }
.prosa ul, .prosa ol { padding-left: 1.3em; margin: 0 0 1.2em; }
.prosa li { margin: .4em 0; }
.prosa li::marker { color: var(--suave); }
.prosa a { color: var(--tinta); font-weight: 600; text-decoration-color: var(--amarillo-2); text-decoration-thickness: 2px; }
.prosa a:hover { background: var(--amarillo-suave); }
.prosa strong { color: var(--tinta); }
.prosa blockquote { margin: 1.4em 0; padding: 18px 22px; background: #fff; border-left: 4px solid var(--amarillo); border-radius: 0 14px 14px 0; font-size: 1rem; color: var(--suave); }
.prosa blockquote p { margin: 0; }
.nota { background: var(--amarillo-suave); border: 1px solid #eedc9a; border-radius: 18px; padding: 20px 22px; margin: 1.6em 0; }
.nota p:last-child { margin: 0; }
.nota__titulo { font: 600 1.02rem/1.2 var(--titulos); letter-spacing: -.02em; color: var(--tinta); margin-bottom: 6px !important; }
.tabla { overflow-x: auto; margin: 1.4em 0; }
.tabla table { border-collapse: collapse; width: 100%; font-size: .95rem; background: #fff; }
.tabla th, .tabla td { border: 1px solid var(--linea); padding: 10px 12px; text-align: left; }
.tabla th { background: var(--crema); }

/* Contenido rico: listas en tarjetas y pasos numerados */
.prosa--rica ul { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 10px; margin: 1.2em 0 1.6em; }
.prosa--rica ul li { margin: 0; padding: 16px 18px 16px 52px; background: #fff; border: 1px solid var(--linea); border-radius: 16px; position: relative; font-size: .97rem; line-height: 1.55; transition: border-color .2s, transform .3s var(--ease), box-shadow .3s; }
.prosa--rica ul li:hover { border-color: #cfccc1; transform: translateY(-2px); box-shadow: var(--sombra); }
.prosa--rica ul li::before { content: ""; position: absolute; left: 17px; top: 18px; width: 22px; height: 22px; border-radius: 7px; background: var(--amarillo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b0d12' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat; }
.prosa--rica ol { list-style: none; padding: 0; margin: 1.2em 0 1.6em; counter-reset: paso; display: grid; gap: 10px; }
.prosa--rica ol li { counter-increment: paso; margin: 0; padding: 17px 18px 17px 66px; background: #fff; border: 1px solid var(--linea); border-radius: 16px; position: relative; line-height: 1.55; font-size: .97rem; }
.prosa--rica ol li::before { content: counter(paso, decimal-leading-zero); position: absolute; left: 16px; top: 14px; width: 36px; height: 36px; border-radius: 11px; background: var(--tinta); color: var(--amarillo); font: 500 .8rem/36px var(--mono); text-align: center; }

/* Listados */
.listado { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.post { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--linea); border-radius: 22px; padding: 24px; text-decoration: none; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.post:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.post__meta { display: flex; gap: 10px; align-items: center; font: 400 .76rem/1.3 var(--mono); color: var(--suave); margin-bottom: 12px; flex-wrap: wrap; }
.post h2, .post h3 { font-size: 1.16rem; margin: 0 0 10px; }
.post p { color: var(--suave); font-size: .96rem; margin: 0 0 16px; flex: 1; }
.post__img { margin: -24px -24px 18px; border-radius: 22px 22px 0 0; overflow: hidden; aspect-ratio: 16 / 9; background: var(--crema); }
.post__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.filtro { padding: 9px 16px; border-radius: 999px; border: 1px solid var(--linea); background: #fff; text-decoration: none; font-size: .92rem; font-weight: 500; }
.filtro[aria-current="true"] { background: var(--tinta); color: #fff; border-color: var(--tinta); }
.plat { display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid var(--linea); border-radius: 20px; padding: 20px; text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s; }
.plat:hover { transform: translateY(-3px); box-shadow: var(--sombra); }
.plat__ini { width: 46px; height: 46px; border-radius: 14px; background: var(--tinta); color: var(--amarillo); display: grid; place-items: center; font: 600 1.05rem/1 var(--titulos); flex-shrink: 0; }
.plat strong { display: block; font: 600 1.04rem/1.25 var(--titulos); letter-spacing: -.02em; margin-bottom: 4px; color: var(--tinta); }
.plat span { display: block; color: var(--suave); font-size: .92rem; margin-bottom: 10px; }

/* Herramientas: interfaz tipo aplicación */
.herr { background: #fff; border: 1px solid var(--linea); border-radius: 28px; box-shadow: var(--sombra-gr); overflow: hidden; }
.herr__barra { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 24px; background: var(--tinta); color: #c9cfda; font: 400 .78rem/1.2 var(--mono); }
.herr__barra .puntos { display: flex; gap: 6px; }
.herr__barra .puntos i { width: 10px; height: 10px; border-radius: 50%; background: var(--tinta-4); }
.herr__barra .puntos i:first-child { background: var(--rojo-vivo); }
.herr__barra .puntos i:nth-child(2) { background: var(--amarillo); }
.herr__barra .puntos i:nth-child(3) { background: var(--verde-vivo); }
.herr__paso-n { color: var(--amarillo); }
.herr__cuerpo { padding: clamp(22px, 4vw, 40px); }
.herr__progreso { height: 4px; background: var(--tinta-3); overflow: hidden; }
.herr__progreso span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--amarillo), #fbe38a); transition: width .6s var(--ease); box-shadow: 0 0 12px rgba(245, 204, 18, .8); }
.herr__paso { display: none; }
.herr__paso.activo { display: block; animation: deslizar .5s var(--ease); }
@keyframes deslizar { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
.herr__preg { font: 600 clamp(1.28rem, 2.4vw, 1.62rem)/1.2 var(--titulos); letter-spacing: -.03em; margin: 0 0 6px; color: var(--tinta); display: block; padding: 0; }
.herr__ayuda { color: var(--suave); margin-bottom: 22px; }
.opciones { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin-bottom: 20px; }
.opcion { position: relative; }
.opcion input { position: absolute; opacity: 0; pointer-events: none; }
.opcion label { display: flex; gap: 14px; align-items: center; height: 100%; padding: 15px 46px 15px 15px; border: 1.5px solid var(--linea); border-radius: 18px; cursor: pointer; background: #faf9f6; transition: border-color .2s, background-color .2s, transform .25s var(--ease), box-shadow .25s; font-weight: 600; position: relative; line-height: 1.3; }
.opcion label small { display: block; font-weight: 400; color: var(--suave); font-size: .84rem; margin-top: 3px; }
.opcion label .ico { width: 42px; height: 42px; padding: 10px; border-radius: 13px; background: #fff; border: 1px solid var(--linea); color: var(--tinta); transition: background-color .25s, transform .3s var(--ease), border-color .25s; }
.opcion label::after { content: ""; position: absolute; right: 16px; top: 50%; width: 20px; height: 20px; margin-top: -10px; border-radius: 50%; border: 1.5px solid #cfccc1; transition: all .25s var(--ease); }
.opcion label:hover { border-color: var(--tinta); transform: translateY(-2px); box-shadow: var(--sombra); background: #fff; }
.opcion label:hover .ico { transform: rotate(-6deg); }
.opcion input:checked + label { border-color: var(--tinta); background: #fff; box-shadow: 0 0 0 3px var(--amarillo); }
.opcion input:checked + label .ico { background: var(--amarillo); border-color: var(--amarillo); }
.opcion input:checked + label::after { background: var(--tinta) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f5cc12' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 12px no-repeat; border-color: var(--tinta); }
.opcion input:focus-visible + label { outline: 3px solid var(--azul); outline-offset: 2px; }
.herr__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; }
.resultado { display: none; }
.resultado.activo { display: block; animation: entra .6s var(--ease); }
.medidor { display: grid; grid-template-columns: 180px 1fr; gap: 30px; align-items: center; margin-bottom: 18px; padding: 26px; border-radius: 22px; background: var(--tinta); color: #dfe3ea; position: relative; overflow: hidden; isolation: isolate; }
.medidor::after { content: ""; position: absolute; left: -80px; top: -80px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(245, 204, 18, .14), transparent 65%); z-index: -1; }
.medidor p { color: #c9cfda; }
.medidor .herr__preg { color: #fff; }
.medidor .aviso-legal-herr { color: var(--suave-osc); margin-bottom: 0; }
.medidor__arco { position: relative; width: 170px; height: 170px; }
.medidor__arco svg { transform: rotate(-90deg); filter: drop-shadow(0 0 10px rgba(245, 204, 18, .25)); }
.medidor__arco circle:first-child { stroke: var(--tinta-4); }
.medidor__valor { position: absolute; inset: 0; display: grid; place-items: center; text-align: center; font: 700 2.5rem/1 var(--titulos); letter-spacing: -.05em; color: #fff; }
.medidor__valor small { display: block; font: 400 .72rem/1.2 var(--mono); letter-spacing: 0; color: var(--suave-osc); margin-top: 6px; }
.resultado__datos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 24px; }
.resultado__datos div { background: var(--papel); border: 1px solid var(--linea); border-radius: 16px; padding: 14px 16px; }
.resultado__datos dt { font: 500 .72rem/1.2 var(--mono); color: var(--suave); margin-bottom: 6px; }
.resultado__datos dd { margin: 0; font: 600 .98rem/1.35 var(--titulos); letter-spacing: -.02em; color: var(--tinta); }
.aviso-legal-herr { font-size: .84rem; color: var(--suave); margin-top: 14px; }
.calc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-bottom: 22px; }
.calc__res { background: var(--tinta); color: #fff; border-radius: 22px; padding: 28px; display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; }
.calc__num { font: 700 clamp(2.8rem, 6vw, 4.2rem)/1 var(--titulos); color: var(--amarillo); letter-spacing: -.05em; text-shadow: 0 0 30px rgba(245, 204, 18, .35); }
.calc__res p { margin: 0; color: #c9cfda; }
.calc__res strong { color: #fff; }
.carta { white-space: pre-wrap; font: .88rem/1.7 var(--mono); background: var(--tinta); color: #dfe3ea; border-radius: 18px; padding: 22px; max-height: 480px; overflow: auto; }
.busquedas { display: grid; gap: 10px; margin-bottom: 20px; }
.busqueda { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 14px 16px; border: 1px solid var(--linea); border-radius: 16px; background: #faf9f6; transition: border-color .2s; }
.busqueda:hover { border-color: #cfccc1; }
.busqueda a { font-weight: 600; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; }
.busqueda a:hover { text-decoration: underline; }
.busqueda select { font: inherit; padding: 9px 12px; border-radius: 12px; border: 1.5px solid var(--linea); background: #fff; }

.centrado { text-align: center; max-width: 640px; margin-inline: auto; }
.centrado .ico--gr { width: 72px; height: 72px; color: var(--verde); margin-bottom: 18px; }

/* Pie compacto */
.pie { background: var(--tinta); color: var(--suave-osc); padding: 48px 0 24px; font-size: .92rem; }
.pie__cta { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; padding: 24px 26px; border-radius: 22px; background: var(--tinta-2); border: 1px solid var(--linea-osc); margin-bottom: 40px; }
.pie__cta strong { display: block; font: 600 1.25rem/1.2 var(--titulos); letter-spacing: -.03em; color: #fff; }
.pie__cta > div:last-child { display: flex; gap: 10px; flex-wrap: wrap; }
.pie__top { display: grid; grid-template-columns: 1.2fr 2fr; gap: 40px; padding-bottom: 32px; }
.pie__marca img { height: 28px; width: auto; display: block; margin-bottom: 16px; }
.pie__marca p { max-width: 330px; margin-bottom: 16px; }
.pie__redes { display: flex; gap: 8px; }
.pie__redes a { width: 38px; height: 38px; border-radius: 12px; border: 1px solid var(--linea-osc); display: grid; place-items: center; color: #fff; transition: border-color .2s, color .2s; }
.pie__redes a:hover { border-color: var(--amarillo); color: var(--amarillo); }
.pie__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.pie__titulo { font: 500 .76rem/1.2 var(--mono); color: #fff; margin-bottom: 14px; }
.pie__col { display: flex; flex-direction: column; gap: 8px; }
.pie__col a { text-decoration: none; width: fit-content; transition: color .2s; }
.pie__col a:hover { color: #fff; }
.pie__base { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: center; padding-top: 20px; border-top: 1px solid var(--linea-osc); font: 400 .74rem/1.5 var(--mono); }
.pie__base p { margin: 0; }
.pie__base nav { display: flex; gap: 16px; flex-wrap: wrap; }
.pie__base a { text-decoration: none; }
.pie__base a:hover { color: #fff; }

/* Flotantes */
.flotante { position: fixed; right: 22px; bottom: 22px; z-index: 40; }
.flotante__wa { width: 58px; height: 58px; border-radius: 50%; background: var(--wa); color: #fff; display: grid; place-items: center; box-shadow: 0 12px 30px -8px rgba(31, 168, 85, .7); transition: transform .3s var(--ease); }
.flotante__wa:hover { transform: scale(1.07); }
.barra-movil { display: none; }
.cookies { position: fixed; left: 22px; bottom: 22px; z-index: 60; max-width: 420px; background: #fff; color: var(--texto); border-radius: 20px; box-shadow: var(--sombra-gr); border: 1px solid var(--linea); padding: 20px; font-size: .92rem; animation: entra .5s var(--ease); }
.cookies p { margin-bottom: 14px; }
.cookies__botones { display: flex; gap: 10px; justify-content: flex-end; }

/* Aparición al hacer scroll */
.aparece { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.aparece.visible { opacity: 1; transform: none; }

/* Responsive */
@media (max-width: 1240px) {
  .cab__tel span { display: none; }
  .cab__tel { width: 42px; padding: 0; justify-content: center; }
  .cab__sub { display: none; }
}
@media (max-width: 1120px) {
  :root { --cab-alto: 68px; }
  .cab__menu { display: inline-flex; }
  .cab__tel { display: none; }
  .cab__sub { display: block; }
  .nav { position: fixed; inset: var(--cab-alto) 0 0 0; margin: 0; background: var(--papel); color: var(--texto); flex-direction: column; align-items: stretch; padding: 16px 20px 28px; overflow-y: auto; transform: translateX(100%); transition: transform .4s var(--ease); visibility: hidden; }
  .nav.abierto { transform: none; visibility: visible; }
  .nav__lista { flex-direction: column; align-items: stretch; gap: 0; }
  .nav__enlace, .cab--oscura:not(.es-scroll) .nav__enlace { width: 100%; justify-content: space-between; padding: 16px 4px; font-size: 1.1rem; color: var(--texto); border-bottom: 1px solid var(--linea); border-radius: 0; }
  .nav__enlace[aria-current="page"] { box-shadow: none; }
  .mega { position: static; padding: 0; opacity: 1; visibility: visible; transform: none; display: none; }
  .nav__item--mega.abierto .mega { display: block; }
  .mega__grid { grid-template-columns: 1fr; box-shadow: none; border: 0; background: transparent; padding: 10px 0; margin: 0; gap: 16px; }
  .mega__col--destacada { display: none; }
  .nav__pie { display: grid; gap: 10px; margin-top: 24px; }
  body.menu-abierto { overflow: hidden; }
  body.menu-abierto .cab { background: var(--papel); color: var(--texto); }
  body.menu-abierto .cab .cab__logo--negro { display: block; }
  body.menu-abierto .cab .cab__logo--blanco { display: none; }
  body.menu-abierto .cab .cab__sub { color: var(--suave); border-color: var(--linea); }
  body.menu-abierto .cab .cab__menu { color: var(--tinta); border-color: var(--linea); background: #fff; }
  .bento { grid-template-columns: repeat(2, 1fr); }
  .bento__item--grande { grid-row: auto; }
  .con-lateral { grid-template-columns: minmax(0, 1fr) 320px; }
}
@media (max-width: 980px) {
  .hero__grid, .dividido, .cta-final__grid, .urgencias, .cabecera__grid, .con-lateral, .persona, .perito { grid-template-columns: 1fr; }
  .lateral { position: static; max-height: none; overflow: visible; }
  .lateral .campo--opcional { display: block; }
  .escaner { max-width: 560px; }
  .flotante-hero--a { left: 10px; bottom: -22px; }
  .flotante-hero--b { right: 10px; }
  .linea-tiempo { grid-template-columns: 1fr 1fr; row-gap: 30px; }
  .linea-tiempo::before { display: none; }
  .planes { grid-template-columns: 1fr; max-width: 480px; margin-inline: auto; }
  .persona__foto { max-width: 360px; }
  .herr-grid > * { flex-basis: calc((100% - 16px) / 2); }
  .carrusel__pista > * { flex-basis: calc((100% - 16px) / 2); }
  .pie__top { grid-template-columns: 1fr; }
  .compara { display: none; }
  .compara-movil { display: grid; gap: 12px; }
  .compara-movil div { background: var(--tinta-2); border: 1px solid var(--linea-osc); border-radius: 16px; padding: 18px; }
  .compara-movil strong { color: #fff; display: block; margin-bottom: 8px; font-family: var(--titulos); }
  .compara-movil p { margin: 0 0 6px; font-size: .94rem; color: var(--suave-osc); }
  .compara-movil p:last-child { color: #fff; margin: 0; }
  .compara-movil p:last-child::before { content: "Nosotros: "; color: var(--amarillo); font-weight: 600; }
  .compara-movil p:first-of-type::before { content: "Lo habitual: "; font-weight: 600; }
}
@media (max-width: 720px) {
  body { font-size: 16px; }
  .envoltura, .envoltura--estrecha { width: calc(100% - 32px); }
  .cab__sub { display: none; }
  .cab__acciones .btn { display: none; }
  .sellos { grid-template-columns: 1fr 1fr; }
  .sellos li { white-space: normal; }
  .bento { grid-template-columns: 1fr; }
  .bento__item--grande, .bento__item--ancho { grid-column: auto; }
  .lead__fila, .resultado__datos, .calc, .puntos-serv, .credenciales { grid-template-columns: 1fr; }
  .datos-serv { grid-template-columns: 1fr; }
  .linea-tiempo { grid-template-columns: 1fr; }
  .compromiso { grid-template-columns: 1fr; }
  .tarifas thead { display: none; }
  .tarifas, .tarifas tbody, .tarifas tr, .tarifas td { display: block; width: 100%; }
  .tarifas tr { padding: 16px 18px; border-bottom: 1px solid var(--linea); }
  .tarifas td { padding: 3px 0; border: 0; }
  .tarifas__plazo::before { content: "Plazo medio: "; }
  .medidor { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .calc__res { grid-template-columns: 1fr; text-align: center; }
  .herr-grid > * { flex-basis: 100%; }
  .carrusel__pista > * { flex-basis: 86%; }
  .pie__cols { grid-template-columns: 1fr 1fr; }
  .flotante, .flotante-hero { display: none; }
  .barra-movil { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: grid; grid-template-columns: 1fr 1fr 1.4fr; background: #fff; border-top: 1px solid var(--linea); padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); gap: 6px; box-shadow: 0 -10px 30px -12px rgba(11, 13, 18, .25); }
  .barra-movil a { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; border-radius: 12px; font-weight: 600; font-size: .92rem; text-decoration: none; color: var(--tinta); }
  .barra-movil a:nth-child(2) { color: var(--wa); }
  .barra-movil__cta { background: var(--amarillo); }
  body { padding-bottom: 72px; }
  .cookies { left: 12px; right: 12px; bottom: 84px; max-width: none; }
  .seg__item { grid-template-columns: 1fr; }
  .seg__item .etq { grid-row: auto; grid-column: 1; justify-self: start; margin-top: 6px; }
  .certificado dl { grid-template-columns: 1fr; gap: 2px; }
  .certificado dd { margin-bottom: 8px; }
  .certificado__sello { width: 86px; height: 86px; right: -6px; }
  .serp__tit { padding-right: 0; }
}
@media (max-width: 460px) {
  .pie__cols { grid-template-columns: 1fr; }
  .opciones { grid-template-columns: 1fr; }
  .hero__acciones .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .aparece { opacity: 1; transform: none; }
  .cinta__pista { animation: none; }
}

@media print {
  .cab, .pie, .flotante, .barra-movil, .cookies, .cta-final, .lateral { display: none !important; }
  body { background: #fff; padding: 0; }
}
.carrusel__btn[data-ant] svg { transform: rotate(180deg); }
main:has(.cta-final) + footer .pie__cta { display: none; }
.pie { border-top: 1px solid var(--linea-osc); }

/* Formulario v3: más recogido, textos legibles y más preguntas */
.lead { padding: clamp(22px, 2.6vw, 30px); }
.cta-final .lead__titulo, .lead .lead__titulo { color: var(--tinta); font-size: 1.35rem; margin-bottom: 4px; }
.lead__cab { margin-bottom: 16px; }
.lead__cab p { font-size: .95rem; }
.lead__fila { gap: 10px; }
.campo { margin-bottom: 12px; }
.campo > span { font: 600 .9rem/1.2 var(--cuerpo); color: var(--tinta); margin-bottom: 6px; }
.campo input, .campo textarea, .campo select { padding: 11px 14px; font-size: .98rem; border-radius: 12px; }
.campo textarea { min-height: 76px; }
.campo select { appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 38px; background: #faf9f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235c6270' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center / 16px no-repeat; }
.lead__mas { margin: -4px 0 12px; }
.lead__mas summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-size: .9rem; font-weight: 600; color: var(--suave); padding: 4px 0; }
.lead__mas summary::-webkit-details-marker { display: none; }
.lead__mas summary:hover { color: var(--tinta); }
.lead__mas[open] summary { margin-bottom: 8px; }
.lead__mas[open] summary .ico { transform: rotate(45deg); }
.lead__mas summary .ico { transition: transform .25s var(--ease); }
.lead__opciones { border: 0; padding: 0; margin: 0 0 12px; }
.lead__opciones legend { font: 600 .9rem/1.2 var(--cuerpo); color: var(--tinta); margin-bottom: 6px; padding: 0; }
.segmento { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; background: #f1efe9; padding: 4px; border-radius: 14px; }
.segmento label { position: relative; cursor: pointer; }
.segmento input { position: absolute; opacity: 0; }
.segmento span { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 6px; border-radius: 10px; font-size: .9rem; font-weight: 600; color: var(--suave); transition: background-color .2s, color .2s, box-shadow .2s; }
.segmento input:checked + span { background: #fff; color: var(--tinta); box-shadow: 0 2px 8px -2px rgba(11, 13, 18, .2); }
.segmento input:focus-visible + span { outline: 2px solid var(--azul); }
.interruptor { display: flex; align-items: center; gap: 12px; margin: 2px 0 12px; cursor: pointer; font-size: .92rem; font-weight: 500; color: var(--texto); }
.interruptor input { position: absolute; opacity: 0; }
.interruptor__pista { width: 40px; height: 23px; border-radius: 99px; background: #d9d6cc; position: relative; flex-shrink: 0; transition: background-color .25s; }
.interruptor__pista::after { content: ""; position: absolute; left: 3px; top: 3px; width: 17px; height: 17px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); transition: transform .25s var(--ease); }
.interruptor input:checked + .interruptor__pista { background: var(--rojo); }
.interruptor input:checked + .interruptor__pista::after { transform: translateX(17px); }
.interruptor input:focus-visible + .interruptor__pista { outline: 2px solid var(--azul); outline-offset: 2px; }
.check { font-size: .86rem; margin: 2px 0 16px; }
.lead__nota { font: 400 .8rem/1.3 var(--cuerpo); }
.lateral .campo > span, .lateral .lead__opciones legend { font-size: .86rem; }
.lateral .segmento span { font-size: .84rem; padding: 8px 4px; }
.lateral .segmento span .ico { display: none; }
@media (max-width: 400px) { .segmento span .ico { display: none; } }

/* Fondos animados (lienzos generados por código) */
.fondo-vivo { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.fondo-vivo canvas { width: 100%; height: 100%; display: block; }
.hero .fondo-vivo { opacity: .9; mask-image: linear-gradient(90deg, rgba(0,0,0,.25), #000 55%); -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.25), #000 55%); }
.perito-fondo { opacity: .5; mask-image: radial-gradient(ellipse at 75% 50%, #000 10%, transparent 70%); -webkit-mask-image: radial-gradient(ellipse at 75% 50%, #000 10%, transparent 70%); }
.manchas { position: absolute; inset: -20%; z-index: -1; pointer-events: none; filter: blur(70px); opacity: .55; }
.manchas i { position: absolute; border-radius: 50%; }
.manchas i:nth-child(1) { width: 40%; height: 50%; left: 55%; top: 5%; background: rgba(245, 204, 18, .45); animation: deriva1 18s ease-in-out infinite alternate; }
.manchas i:nth-child(2) { width: 45%; height: 55%; left: 0; top: 40%; background: rgba(42, 91, 215, .5); animation: deriva2 22s ease-in-out infinite alternate; }
.manchas i:nth-child(3) { width: 30%; height: 40%; left: 35%; top: 55%; background: rgba(47, 209, 143, .25); animation: deriva3 16s ease-in-out infinite alternate; }
@keyframes deriva1 { to { transform: translate(-30%, 25%) scale(1.15); } }
@keyframes deriva2 { to { transform: translate(35%, -20%) scale(.9); } }
@keyframes deriva3 { to { transform: translate(-25%, -30%) scale(1.2); } }
.cta-final::before { display: none; }
.cabecera--tinta .manchas { opacity: .35; }
@media (prefers-reduced-motion: reduce) { .manchas i { animation: none; } }

/* Fotografías tenues de fondo */
.cabecera__foto, .hero__foto, .sec__foto { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center; pointer-events: none; }
.cabecera__foto { opacity: .42; mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 35%, #000 75%); -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.35) 35%, #000 75%); animation: zoom-lento 11s ease-in-out infinite alternate; }
.hero__foto { opacity: .38; z-index: -3; mask-image: linear-gradient(90deg, rgba(0,0,0,.5), #000 45%, rgba(0,0,0,.6)); -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.5), #000 45%, rgba(0,0,0,.6)); animation: zoom-lento 14s ease-in-out infinite alternate; }
.sec__foto { opacity: .22; mask-image: linear-gradient(90deg, transparent 10%, #000 70%); -webkit-mask-image: linear-gradient(90deg, transparent 10%, #000 70%); }
.sec__foto--izq { opacity: .3; mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.4) 45%, transparent 75%); -webkit-mask-image: linear-gradient(90deg, #000 0%, rgba(0,0,0,.4) 45%, transparent 75%); }
@keyframes zoom-lento { 0% { transform: scale(1.02) translate(0, 0); } 50% { transform: scale(1.1) translate(-2%, 1%); } 100% { transform: scale(1.06) translate(1.5%, -1.5%); } }
.cta-final { isolation: isolate; }

/* Fotos en el mosaico de servicios */
.bento__foto { position: absolute; inset: 0; z-index: -1; background-size: cover; background-position: center; opacity: .14; filter: grayscale(1) contrast(1.1); mask-image: linear-gradient(200deg, #000 0%, transparent 62%); -webkit-mask-image: linear-gradient(200deg, #000 0%, transparent 62%); transition: opacity .5s var(--ease), transform .8s var(--ease), filter .5s; }
.bento__item:hover .bento__foto { opacity: .26; transform: scale(1.06); filter: grayscale(.3); }
.bento__item--grande .bento__foto, .bento__item--urgente .bento__foto { opacity: .38; filter: none; mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.4) 60%, transparent 100%); -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0,0,0,.4) 60%, transparent 100%); }
.bento__item--grande:hover .bento__foto, .bento__item--urgente:hover .bento__foto { opacity: .5; }
.bento__item--perito .bento__foto { opacity: .2; }

/* Bloque de la ley y el despacho */
.ley { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.ley__foto { margin: 0; position: relative; border-radius: 28px; overflow: hidden; box-shadow: var(--sombra-gr); aspect-ratio: 4 / 3.4; }
.ley__foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s var(--ease); }
.ley__foto:hover img { transform: scale(1.05); }
.ley__foto figcaption { position: absolute; left: 16px; bottom: 16px; display: flex; gap: 12px; align-items: center; background: rgba(11, 13, 18, .8); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; padding: 12px 16px; border-radius: 16px; font-size: .86rem; }
.ley__foto figcaption .ico { color: var(--amarillo); }
.ley__foto figcaption strong { display: block; font: 600 .98rem/1.2 var(--titulos); letter-spacing: -.02em; }
.leyes { list-style: none; padding: 0; margin: 0 0 26px; display: grid; gap: 8px; }
.leyes li { display: flex; gap: 14px; align-items: baseline; padding: 12px 16px; background: #fff; border: 1px solid var(--linea); border-radius: 14px; font-size: .95rem; transition: transform .3s var(--ease), border-color .2s; }
.leyes li:hover { transform: translateX(4px); border-color: #cfccc1; }
.leyes .mono { font-size: .76rem; color: var(--suave); min-width: 168px; flex-shrink: 0; }
@media (max-width: 980px) { .ley { grid-template-columns: 1fr; } .leyes .mono { min-width: 0; } .leyes li { flex-direction: column; gap: 2px; } }

/* Iconos de las tarjetas de herramientas: todos iguales */
.herr-tarjeta .herr-tarjeta__ico { flex: none; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; color: var(--amarillo); }
.sec:not(.sec--tinta) .herr-tarjeta .herr-tarjeta__ico { background: var(--tinta); color: var(--amarillo); }
.herr-tarjeta > span:not(.herr-tarjeta__ico) { flex: 1; }

/* Blog */
.buscador-blog { display: flex; align-items: center; gap: 12px; max-width: 620px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); border-radius: 999px; padding: 6px 8px 6px 20px; color: var(--suave-osc); backdrop-filter: blur(8px); }
.buscador-blog input { flex: 1; background: none; border: 0; color: #fff; font: 400 1rem/1.4 var(--cuerpo); padding: 10px 0; outline: none; }
.buscador-blog input::placeholder { color: var(--suave-osc); }
.buscador-blog:focus-within { border-color: var(--amarillo); box-shadow: 0 0 0 4px rgba(245, 204, 18, .15); }
.filtro span { font: 500 .72rem/1 var(--mono); opacity: .6; margin-left: 4px; }
.destacado { display: grid; grid-template-columns: 1.15fr 1fr; background: var(--tinta); color: #dfe3ea; border-radius: 28px; overflow: hidden; text-decoration: none; margin-bottom: 36px; box-shadow: var(--sombra-gr); transition: transform .4s var(--ease); }
.destacado:hover { transform: translateY(-4px); }
.destacado__img { overflow: hidden; min-height: 320px; }
.destacado__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.2s var(--ease); }
.destacado:hover .destacado__img img { transform: scale(1.05); }
.destacado__txt { padding: clamp(26px, 4vw, 48px); display: flex; flex-direction: column; justify-content: center; }
.destacado__txt h2 { color: #fff; font-size: clamp(1.5rem, 2.6vw, 2.1rem); margin-bottom: 14px; }
.destacado__txt p { color: var(--suave-osc); font-size: 1.04rem; }
.destacado .post__meta { color: var(--suave-osc); }
.destacado .enlace-flecha { color: var(--amarillo); }
.blog-rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
.blog-rejilla .listado { grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); }
.lateral--blog { max-height: none; }
.post--img .post__img { position: relative; margin-bottom: 16px; }
.post--img .post__img img { transition: transform .8s var(--ease); }
.post--img:hover .post__img img { transform: scale(1.06); }
.post__cat { position: absolute; left: 12px; bottom: 12px; background: rgba(11, 13, 18, .8); backdrop-filter: blur(8px); color: var(--amarillo); font: 500 .72rem/1 var(--mono); padding: 6px 10px; border-radius: 999px; }
.post[hidden] { display: none; }
.mas-leidas { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.mas-leidas a { display: grid; grid-template-columns: 28px 1fr; gap: 8px; text-decoration: none; font-size: .9rem; font-weight: 500; line-height: 1.35; padding: 8px; margin: 0 -8px; border-radius: 10px; transition: background-color .2s; }
.mas-leidas a:hover { background: var(--papel); }
.mas-leidas span { font: 500 .78rem/1.6 var(--mono); color: var(--suave); }
.mini-herr { display: flex; align-items: center; gap: 10px; padding: 9px 0; text-decoration: none; font-size: .92rem; font-weight: 500; border-bottom: 1px dashed var(--linea); }
.mini-herr:last-child { border: 0; }
.mini-herr .ico { color: var(--suave); }
.mini-herr:hover { color: var(--tinta); text-decoration: underline; }

/* Artículo */
.progreso-lectura { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 60; pointer-events: none; }
.progreso-lectura span { display: block; height: 100%; background: var(--amarillo); transform: scaleX(0); transform-origin: 0 50%; box-shadow: 0 0 10px rgba(245, 204, 18, .8); }
.cabecera--articulo h1 { font-size: clamp(1.9rem, 4vw, 3rem); }
.cabecera--articulo .post__meta { color: var(--suave-osc); margin-bottom: 18px; }
.autor-linea { display: flex; align-items: center; gap: 12px; font-size: .93rem; color: #c9cfda; }
.autor-linea img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; object-position: 50% 15%; border: 2px solid rgba(245, 204, 18, .5); }
.autor-linea small { display: block; font: 400 .74rem/1.4 var(--mono); color: var(--suave-osc); }
.autor-linea strong { color: #fff; }
.prosa--articulo { font-size: 1.08rem; }
.prosa--articulo > p:first-child { font-size: 1.2rem; color: var(--tinta); line-height: 1.6; }
.prosa--articulo h2 { padding-top: 8px; }
.indice a.activo { color: var(--tinta); background: var(--amarillo-suave); font-weight: 600; }
.indice-movil { display: none; margin-bottom: 30px; }
.indice-movil summary { cursor: pointer; font: 600 1rem/1.2 var(--titulos); }
.indice-movil ol { margin: 12px 0 0; padding-left: 1.2em; }
.indice-movil a { color: var(--suave); text-decoration: none; }
.compartir { display: flex; align-items: center; gap: 8px; margin: 40px 0 28px; padding-top: 24px; border-top: 1px solid var(--linea); }
.compartir span { font: 500 .8rem/1 var(--mono); color: var(--suave); margin-right: 6px; }
.compartir a, .compartir button { width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--linea); background: #fff; display: grid; place-items: center; color: var(--tinta); cursor: pointer; transition: background-color .2s, color .2s, transform .25s var(--ease); }
.compartir a:hover, .compartir button:hover { background: var(--tinta); color: var(--amarillo); transform: translateY(-2px); }
.compartir button.copiado { background: var(--verde); color: #fff; }
.autor-caja { display: grid; grid-template-columns: 96px 1fr; gap: 22px; align-items: start; background: #fff; border: 1px solid var(--linea); border-radius: 22px; padding: 24px; }
.autor-caja img { width: 96px; height: 96px; border-radius: 20px; object-fit: cover; object-position: 50% 15%; }
.autor-caja__nombre { font: 600 1.15rem/1.2 var(--titulos); letter-spacing: -.02em; margin: 0 0 4px; color: var(--tinta); }
.autor-caja__cargo { font: 400 .78rem/1.4 var(--mono); color: var(--suave); margin: 0 0 12px; }
.autor-caja p { font-size: .95rem; color: var(--suave); }
@media (max-width: 980px) {
  .destacado, .blog-rejilla { grid-template-columns: 1fr; }
  .destacado__img { min-height: 220px; }
  .indice--escritorio { display: none; }
  .indice-movil { display: block; }
}
@media (max-width: 560px) { .autor-caja { grid-template-columns: 1fr; } }

/* Logotipo provisional de Olvidum (se sustituirá por el definitivo) */
.marca { display: inline-flex; align-items: center; gap: 9px; color: inherit; }
.marca__ico { display: grid; color: var(--tinta); border-radius: 9px; box-shadow: 0 0 0 1px rgba(255, 255, 255, .14); }
.marca__ico svg { display: block; }
.marca__nombre { font: 700 1.42rem/1 var(--titulos); letter-spacing: -.055em; }
.cab__marca { color: var(--tinta); }
.cab--oscura:not(.es-scroll) .cab__marca, .pie .marca { color: #fff; }
body.menu-abierto .cab .cab__marca { color: var(--tinta); }
.pie__marca .marca { margin-bottom: 16px; }
.cab__marca:hover .marca__ico svg circle { stroke-dashoffset: 54; transition: stroke-dashoffset 1s var(--ease); }
.marca__ico svg circle { transition: stroke-dashoffset 1s var(--ease); }
.captura .aparece { opacity: 1 !important; transform: none !important; } .captura .flotante, .captura .cookies { display: none !important; }

/* Logo definitivo de Olvidum */
.cab__logo { height: 46px; width: auto; }
.cab__marca { gap: 14px; }
.pie__logo { height: 72px; width: auto; display: block; margin: 0 0 18px; }
@media (max-width: 720px) { .cab__logo { height: 38px; } }

/* Qué hacemos según tu caso */
.casos { display: grid; gap: 10px; }
.caso { display: grid; grid-template-columns: 1.1fr 1.4fr 1fr; gap: 20px; align-items: center; background: #fff; border: 1px solid var(--linea); border-radius: 18px; padding: 18px 22px; text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s, border-color .2s; }
.caso:hover { transform: translateY(-2px); box-shadow: var(--sombra); border-color: #cfccc1; }
.caso[hidden] { display: none; }
.caso__sit { font: 600 1rem/1.35 var(--titulos); letter-spacing: -.02em; color: var(--tinta); }
.caso__que { font-size: .93rem; color: var(--texto); }
.caso .mono, .via .mono { display: block; font-size: .7rem; color: var(--suave); margin-bottom: 3px; }
.caso__datos { display: grid; gap: 6px; font-size: .86rem; }
.caso__datos .etq { justify-self: start; }
/* Plazos */
.tabla-vias { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 12px; }
.via { background: #fff; border: 1px solid var(--linea); border-radius: 20px; padding: 22px; }
.via__tit { font-size: 1.08rem; margin-bottom: 10px; }
.via__plazo { display: flex; gap: 8px; align-items: flex-start; font-weight: 600; color: var(--tinta); background: var(--amarillo-suave); border-radius: 12px; padding: 10px 12px; font-size: .93rem; }
.via__plazo .ico { flex-shrink: 0; margin-top: 2px; }
.via__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; font-size: .88rem; color: var(--suave); }
.via__cols p { margin: 0; }
/* Documentación */
.docs { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 14px; }
.doc { background: #fff; border: 1px solid var(--linea); border-radius: 20px; padding: 22px; }
.doc__cab { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.doc__cab .tarjeta__ico { margin: 0; }
.doc__cab h2 { font-size: 1.08rem; margin: 0; }
.doc .lista-check { margin: 0; font-size: .94rem; }
/* Glosario */
.letras { display: flex; flex-wrap: wrap; gap: 6px; }
.letras a { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; border: 1px solid rgba(255,255,255,.14); color: #fff; text-decoration: none; font: 500 .9rem/1 var(--mono); }
.letras a:hover { background: var(--amarillo); color: var(--tinta); }
.glosario__letra { font: 700 2rem/1 var(--titulos); color: var(--amarillo-2); margin: 36px 0 12px; }
.glosario { margin: 0; display: grid; gap: 8px; }
.glosario div { background: #fff; border: 1px solid var(--linea); border-radius: 16px; padding: 16px 18px; }
.glosario dt { font: 600 1.02rem/1.3 var(--titulos); letter-spacing: -.02em; color: var(--tinta); margin-bottom: 4px; }
.glosario dd { margin: 0; color: var(--suave); font-size: .95rem; }
.faq-grupo { margin-bottom: 40px; }
.faq-grupo h2 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); }
.faq[hidden], .faq-grupo[hidden] { display: none; }
@media (max-width: 860px) { .caso { grid-template-columns: 1fr; gap: 10px; } .via__cols { grid-template-columns: 1fr; } }

/* Vídeo de fondo del bloque final */
.cta-final__video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; pointer-events: none; opacity: .85; }
.cta-final::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(11, 13, 18, .82) 0%, rgba(11, 13, 18, .45) 55%, rgba(11, 13, 18, .25) 100%), linear-gradient(0deg, rgba(11, 13, 18, .6), transparent 30%, transparent 75%, rgba(11, 13, 18, .5)); }
@media (max-width: 900px) { .cta-final::after { background: rgba(11, 13, 18, .72); } }

/* Formulario lateral más compacto para que quepa entero sin cortarse */
.lateral .lead { padding: 18px 20px; }
.lateral .lead__cab { margin-bottom: 10px; padding-bottom: 10px; }
.lateral .campo { margin-bottom: 8px; }
.lateral .campo textarea { min-height: 70px; height: 70px; }
.lateral .lead__fila--datos { grid-template-columns: 1fr 1fr; gap: 0 10px; }
.lateral .campo input, .lateral .campo select, .lateral .campo textarea { padding: 9px 12px; }
.con-lateral { padding-bottom: 8px; }

/* Formularios más recogidos */
.lead { padding: clamp(20px, 2.2vw, 26px); }
.lead__cab { margin-bottom: 12px; }
.lead__titulo { font-size: 1.28rem; margin-bottom: 2px; }
.lead__cab p { font-size: .88rem; }
.lead__fila { gap: 8px; }
.campo { margin-bottom: 9px; }
.campo > span, .lead__opciones legend { font-size: .84rem; margin-bottom: 4px; }
.campo input, .campo textarea, .campo select { padding: 9px 12px; font-size: .94rem; border-radius: 11px; }
.campo select { padding-right: 34px; }
.campo textarea { min-height: 62px; height: 62px; }
.lead__mas { margin: -2px 0 8px; }
.lead__mas summary { font-size: .84rem; padding: 2px 0; }
.lead__opciones { margin-bottom: 9px; }
.segmento { padding: 3px; border-radius: 12px; }
.segmento span { padding: 7px 6px; font-size: .84rem; }
.interruptor { margin: 0 0 8px; font-size: .86rem; }
.check { font-size: .8rem; margin: 0 0 12px; line-height: 1.35; }
.lead .btn { min-height: 46px; padding-top: 10px; padding-bottom: 10px; }
.lead__nota { margin-top: 8px; font-size: .74rem; }
.lateral .lead__fila { grid-template-columns: 1fr 1fr; gap: 0 8px; }
.lateral .campo select { font-size: .86rem; padding-left: 10px; }

/* Mega menú v2: compacto, todo en una línea */
.mega__caja { width: min(1280px, calc(100vw - 40px)); margin: 8px auto 0; background: #fff; border-radius: 22px; box-shadow: 0 30px 80px -24px rgba(11, 13, 18, .35), 0 0 0 1px var(--linea); overflow: hidden; }
.mega__grid { width: auto; margin: 0; background: none; border: 0; border-radius: 0; box-shadow: none; padding: 22px 24px 18px; display: grid; grid-template-columns: 2fr 1fr 1.08fr; gap: 0 28px; }
.mega__col + .mega__col { border-left: 1px solid var(--linea); padding-left: 28px; }
.mega__titulo { display: flex; align-items: baseline; gap: 8px; font: 600 .95rem/1.2 var(--titulos); margin: 0 0 10px; white-space: nowrap; }
.mega__titulo small { display: inline; margin: 0; font: 400 .78rem/1.2 var(--cuerpo); color: var(--suave); overflow: hidden; text-overflow: ellipsis; }
.mega__lista { display: grid; gap: 2px; }
.mega__col--eliminar .mega__lista { grid-template-columns: 1fr 1fr; column-gap: 14px; }
.mega__enlace { display: flex; align-items: center; gap: 10px; padding: 6px 8px; margin: 0 -8px; border-radius: 10px; text-decoration: none; font-weight: 500; font-size: .88rem; line-height: 1.2; color: var(--texto); min-width: 0; transition: background-color .2s, color .2s; }
.mega__txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.mega__ico { flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: var(--papel); color: var(--suave); transition: background-color .2s, color .2s; }
.mega__ico .ico { color: inherit; }
.mega__enlace:hover { background: var(--papel); color: var(--tinta); }
.mega__enlace:hover .mega__ico { background: var(--amarillo); color: var(--tinta); }
.mega__pie { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 24px; background: var(--tinta); color: var(--suave-osc); }
.mega__pie p { margin: 0; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mega__pie strong { color: #fff; font-weight: 600; }
.mega__acciones { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.mega__link { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-size: .86rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.mega__link:hover { color: var(--amarillo); }
.mega__link--urgente { color: #ffb4a8; }
@media (max-width: 1120px) {
  .mega__caja { width: auto; margin: 0; box-shadow: none; border-radius: 0; background: transparent; }
  .mega__grid { grid-template-columns: 1fr; padding: 8px 0; gap: 14px; }
  .mega__col + .mega__col { border-left: 0; padding-left: 0; }
  .mega__col--eliminar .mega__lista { grid-template-columns: 1fr; }
  .mega__pie { display: none; }
}

/* Lema debajo del logo, en una línea */
.cab__marca { flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px; }
.cab__logo { height: 56px; }
.cab__sub { display: block !important; border: 0 !important; padding: 0 0 0 2px; margin-top: -3px; font: 500 .66rem/1 var(--mono); letter-spacing: .02em; white-space: nowrap; }
@media (max-width: 720px) { .cab__logo { height: 42px; } .cab__sub { font-size: .58rem; } }

/* Formulario: campos limpios, sin barras ni textos montados */
.campo textarea { resize: none; overflow: hidden; min-height: 58px; height: 58px; }
.campo textarea:focus { overflow: auto; }
.campo select { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background-position: right 10px center; background-size: 14px; padding-right: 30px; }
.campo input::placeholder, .campo textarea::placeholder { color: #b3b7be; font-size: .9rem; }
.lead__cab p { line-height: 1.35; }

/* Distintivo de plataforma con su logotipo oficial */
.plat .plat__ini { display: grid; place-items: center; margin: 0; color: #fff; box-shadow: inset 0 0 0 1px rgba(11, 13, 18, .08); }
.plat .plat__ini b { font: 800 1.2rem/1 var(--titulos); letter-spacing: -.04em; }
.plat .plat__ini .ico { color: inherit; }

/* Pie v3: más grande y moderno */
.pie { padding: 64px 0 28px; }
.pie__top { grid-template-columns: 1.1fr 2.2fr; gap: 56px; padding-bottom: 40px; }
.pie__logo, .pie__marca img.pie__logo { height: 96px; margin: 0 0 22px; }
.pie__marca p { font-size: .98rem; line-height: 1.6; max-width: 360px; }
.pie__titulo { font: 600 1.12rem/1.2 var(--titulos); letter-spacing: -.02em; color: #fff; margin-bottom: 18px; display: flex; align-items: center; gap: 10px; }
.pie__titulo::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--amarillo); box-shadow: 0 0 0 4px rgba(245, 204, 18, .15); }
.pie__col { gap: 10px; }
.pie__col a { font-size: .93rem; position: relative; }
.pie__col a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -2px; height: 1px; background: var(--amarillo); transition: right .3s var(--ease); }
.pie__col a:hover::after { right: 0; }
.pie__redes { gap: 10px; }
.pie__redes a { width: 44px; height: 44px; border-radius: 14px; background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .1); transition: background-color .25s, border-color .25s, color .25s, transform .25s var(--ease); }
.pie__redes a:hover { transform: translateY(-3px); color: #fff; }
.pie__redes a[aria-label="LinkedIn"]:hover { background: #0a66c2; border-color: #0a66c2; }
.pie__redes a[aria-label="Instagram"]:hover { background: linear-gradient(45deg, #f9ce34, #ee2a7b 50%, #6228d7); border-color: transparent; }
.pie__redes a[aria-label="WhatsApp"]:hover { background: #25d366; border-color: #25d366; }
.pie__redes a[aria-label="Email"]:hover, .pie__redes a[aria-label="Teléfono"]:hover { background: var(--amarillo); border-color: var(--amarillo); color: var(--tinta); }
.pie__cta { background: linear-gradient(120deg, rgba(245, 204, 18, .1), rgba(255, 255, 255, .03) 45%); }
@media (max-width: 720px) { .pie__logo, .pie__marca img.pie__logo { height: 72px; } .pie__top { gap: 36px; } }

/* Lateral más ancho y recogido: campos de dos en dos */
.con-lateral { grid-template-columns: minmax(0, 1fr) 400px; }
.lateral .lead__fila { grid-template-columns: 1fr 1fr; gap: 0 10px; }
.lateral .interruptor { font-size: .82rem; }
@media (max-width: 1240px) { .con-lateral { grid-template-columns: minmax(0, 1fr) 360px; } }

/* Casos de éxito */
.aviso-casos { display: flex; gap: 10px; align-items: flex-start; font-size: .86rem; color: var(--suave); background: #fff; border: 1px dashed var(--linea); border-radius: 14px; padding: 12px 16px; margin: 0 0 24px; }
.aviso-casos .ico { flex-shrink: 0; margin-top: 2px; }
.filtros button.filtro { cursor: pointer; font-family: inherit; color: inherit; }
.casos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.caso-tarjeta { display: flex; flex-direction: column; gap: 8px; background: #fff; border: 1px solid var(--linea); border-radius: 22px; padding: 22px; text-decoration: none; color: var(--texto); transition: transform .3s var(--ease), box-shadow .3s, border-color .3s; }
.caso-tarjeta:hover { transform: translateY(-4px); box-shadow: var(--sombra); border-color: transparent; }
.caso-tarjeta[hidden] { display: none; }
.caso-tarjeta__cab { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 6px; }
.caso-tarjeta__cat { font: 600 .74rem/1 var(--mono); background: rgba(245, 204, 18, .22); color: var(--tinta); padding: 6px 10px; border-radius: 999px; }
.caso-tarjeta__plazo { display: inline-flex; align-items: center; gap: 5px; font: 500 .76rem/1 var(--mono); color: var(--suave); }
.caso-tarjeta__tit { font: 600 1.14rem/1.25 var(--titulos); letter-spacing: -.02em; color: var(--tinta); }
.caso-tarjeta__perfil { font-size: .86rem; color: var(--suave); }
.caso-tarjeta__res { display: flex; gap: 8px; align-items: flex-start; font-size: .92rem; font-weight: 500; color: var(--verde); background: var(--verde-suave); border-radius: 12px; padding: 10px 12px; margin-top: 6px; }
.caso-tarjeta__res .ico { flex-shrink: 0; margin-top: 2px; }
.caso-tarjeta__pie { margin-top: auto; padding-top: 10px; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: .9rem; color: var(--tinta); }
.caso h2 { font-size: 1.5rem; margin: 36px 0 12px; }
.caso h2:first-of-type { margin-top: 28px; }
.caso__cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.caso__cifras div { background: var(--tinta); color: var(--suave-osc); border-radius: 18px; padding: 18px 20px; }
.caso__cifras strong { display: block; font: 700 2.2rem/1 var(--titulos); color: var(--amarillo); letter-spacing: -.04em; margin-bottom: 6px; }
.caso__cifras span { font-size: .88rem; }
.caso__pasos { counter-reset: paso; list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.caso__pasos li { counter-increment: paso; position: relative; padding: 14px 16px 14px 58px; background: #fff; border: 1px solid var(--linea); border-radius: 16px; }
.caso__pasos li::before { content: counter(paso, decimal-leading-zero); position: absolute; left: 14px; top: 12px; width: 32px; height: 32px; border-radius: 10px; background: var(--tinta); color: var(--amarillo); font: 600 .8rem/32px var(--mono); text-align: center; }
.caso__ley { display: flex; gap: 14px; margin-top: 20px; padding: 18px 20px; border-radius: 18px; background: rgba(245, 204, 18, .14); border: 1px solid rgba(245, 204, 18, .4); }
.caso__ley .ico { flex-shrink: 0; margin-top: 2px; }
.caso__ley p { margin: 4px 0 0; font-size: .95rem; }
.caso__cita { margin: 28px 0; padding: 24px 28px; border-radius: 20px; background: var(--tinta); color: #fff; }
.caso__cita p { font: 500 1.2rem/1.45 var(--titulos); letter-spacing: -.01em; margin: 0 0 10px; }
.caso__cita cite { font: 400 .8rem/1.3 var(--mono); color: var(--suave-osc); font-style: normal; }
.caso__serv { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 18px; border: 1px solid var(--linea); background: #fff; text-decoration: none; color: var(--tinta); margin-bottom: 20px; transition: border-color .2s; }
.caso__serv:hover { border-color: var(--tinta); }
.caso__serv > span:nth-child(2) { flex: 1; }
.caso__serv small { display: block; font: 400 .74rem/1.2 var(--mono); color: var(--suave); }
.caso__serv strong { font: 600 1.02rem/1.3 var(--titulos); }
.caso__serv-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--tinta); color: var(--amarillo); display: grid; place-items: center; flex-shrink: 0; }

/* Jurisprudencia y precedentes */
.precedentes { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; }
.precedente { background: rgba(255, 255, 255, .04); border: 1px solid var(--linea-osc); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 8px; color: var(--suave-osc); }
.precedente[hidden] { display: none; }
.precedentes--completa .precedente { background: #fff; border-color: var(--linea); color: var(--texto); }
.precedente__cab { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font: 500 .76rem/1.3 var(--mono); }
.precedente__organo { display: inline-flex; align-items: center; gap: 6px; color: var(--amarillo); }
.precedentes--completa .precedente__organo { color: var(--tinta); }
.precedente h3 { font-size: 1.15rem; margin: 4px 0 0; color: #fff; }
.precedentes--completa .precedente h3 { color: var(--tinta); }
.precedente__ref { font: 500 .78rem/1.3 var(--mono); opacity: .75; margin: 0; }
.precedente p { margin: 0; font-size: .93rem; }
.precedente__clave { background: rgba(245, 204, 18, .14); border-radius: 12px; padding: 10px 12px; }
.precedente__pie { margin-top: auto; padding-top: 8px; display: flex; flex-wrap: wrap; gap: 8px 16px; }
.precedente__pie a { display: inline-flex; align-items: center; gap: 4px; font-size: .86rem; font-weight: 600; color: inherit; }
.sec--tinta .precedente__pie a { color: #fff; }
@media (max-width: 720px) { .casos-grid, .precedentes { grid-template-columns: 1fr; } .caso__cita { padding: 20px; } }
.filtros button.filtro[aria-current="true"] { color: #fff; }

/* Móvil: reglas finales (van al final para ganar a las anteriores) */
@media (max-width: 1120px) {
  .con-lateral { grid-template-columns: minmax(0, 1fr); }
  .pie__top { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 720px) {
  .pie__cols { grid-template-columns: 1fr 1fr; gap: 28px 18px; }
  .pie__col:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 18px; }
  .pie__col:last-child .pie__titulo { grid-column: 1 / -1; }
  .pie__col a { width: auto; font-size: .9rem; }
  .pie__base { flex-direction: column; align-items: flex-start; }
  .lateral .lead__fila { grid-template-columns: 1fr; }
  .lead__fila { grid-template-columns: 1fr; gap: 0; }
  .lead__fila--datos { grid-template-columns: 1fr 1fr; gap: 0 8px; }
}

/* Efecto héroe más marcado: zoom y desplazamiento de las fotos de cabecera + parallax al hacer scroll */
.cabecera__foto, .hero__foto { inset: -6% -4%; will-change: transform; }
.cabecera__foto { opacity: .55; animation: heroe 9s ease-in-out infinite alternate; }
.hero__foto { opacity: .48; animation: heroe 11s ease-in-out infinite alternate; }
.cabecera__foto, .hero__foto { translate: 0 var(--parallax, 0px); }
@keyframes heroe { 0% { transform: scale(1.04) translate(0, 0); } 50% { transform: scale(1.16) translate(-3.5%, 2%); } 100% { transform: scale(1.1) translate(3%, -2.5%); } }
/* Imágenes: zoom al pasar el ratón más evidente */
.post--img:hover .post__img img, .destacado:hover .destacado__img img, .ley__foto:hover img { transform: scale(1.1); }
.bento__item:hover .bento__foto { opacity: .34; transform: scale(1.12); filter: none; }
.caso-tarjeta, .plat, .tarjeta { will-change: transform; }
@media (prefers-reduced-motion: reduce) { .cabecera__foto, .hero__foto { animation: none; translate: none; } }

/* Mega menú v3: más compacto, todo junto */
.mega__caja { width: max-content; max-width: calc(100vw - 40px); border-radius: 18px; }
.mega__grid { grid-template-columns: auto auto auto; gap: 0 18px; padding: 16px 18px 12px; }
.mega__col + .mega__col { padding-left: 18px; }
.mega__titulo { margin-bottom: 6px; font-size: .88rem; }
.mega__titulo small { font-size: .72rem; }
.mega__lista { gap: 0; }
.mega__col--eliminar .mega__lista { grid-template-columns: auto auto; column-gap: 6px; }
.mega__enlace { padding: 4px 8px 4px 4px; margin: 0; gap: 8px; font-size: .84rem; border-radius: 8px; }
.mega__ico { flex: 0 0 24px; width: 24px; height: 24px; border-radius: 7px; }
.mega__ico .ico { width: 14px; height: 14px; }
.mega__pie { padding: 10px 18px; gap: 16px; }
.mega__pie p { font-size: .8rem; }
.mega__acciones { gap: 14px; }
.mega__link { font-size: .8rem; }
.mega__pie .btn--peq { min-height: 34px; font-size: .82rem; }
@media (max-width: 1120px) { .mega__caja { width: auto; max-width: none; } .mega__grid { grid-template-columns: 1fr; } .mega__col--eliminar .mega__lista { grid-template-columns: 1fr; } }

/* Pie: columnas más compactas con viñetas */
.pie__cols { grid-template-columns: 1fr 1fr 1.45fr; gap: 28px; }
.pie__col { gap: 5px; align-content: start; }
.pie__titulo { margin-bottom: 10px; }
.pie__col a { font-size: .86rem; line-height: 1.3; padding-left: 13px; }
.pie__col a::before { content: ""; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; border-radius: 50%; background: rgba(245, 204, 18, .55); transition: background-color .2s, transform .2s; }
.pie__col a:hover::before { background: var(--amarillo); transform: scale(1.3); }
.pie__col a::after { left: 13px; }
.pie__col:last-child { display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px; row-gap: 5px; }
.pie__col:last-child .pie__titulo { grid-column: 1 / -1; }
.pie__col:last-child a { width: auto; }
@media (max-width: 720px) { .pie__cols { grid-template-columns: 1fr 1fr; } .pie__col a { font-size: .86rem; } }
.pie__top { grid-template-columns: minmax(240px, .8fr) 2.6fr; gap: 48px; }
.pie__cols { grid-template-columns: 1.15fr 1.05fr 1.2fr; gap: 24px; }
.pie__col a { white-space: nowrap; }
@media (max-width: 1240px) { .pie__col a { white-space: normal; } }

/* Tabla comparativa: cada fila en una línea; en móvil, tarjetas apiladas (sin deslizar de lado) */
.compara th, .compara td { padding: 16px 20px; vertical-align: middle; white-space: nowrap; }
.compara td:first-child { width: 1%; padding-right: 32px; }
.compara td:last-child .si { display: inline-flex; vertical-align: -3px; margin-right: 4px; }
@media (max-width: 1120px) { .compara th, .compara td { white-space: normal; } }
@media (max-width: 820px) {
  .compara { display: none; }
  .compara-movil { display: grid; gap: 10px; }
  .compara-movil > div { background: var(--tinta-2); border: 1px solid var(--linea-osc); border-radius: 16px; padding: 16px 18px; }
  .compara-movil strong { display: block; color: #fff; font: 600 1rem/1.2 var(--titulos); margin-bottom: 8px; }
  .compara-movil p { display: flex; gap: 8px; align-items: flex-start; margin: 4px 0 0; font-size: .92rem; line-height: 1.4; }
  .compara-movil .ico { flex-shrink: 0; margin-top: 3px; }
  .compara-movil__no { color: var(--suave-osc); text-decoration: line-through; text-decoration-color: rgba(255, 255, 255, .25); }
  .compara-movil__no .ico { color: #ff8a7a; }
  .compara-movil__si { color: #fff; }
  .compara-movil__si .ico { color: var(--amarillo); }
}
@media (max-width: 820px) { .compara-movil p::before, .compara-movil p:first-of-type::before, .compara-movil p:last-child::before { content: none; } .compara-movil p { margin: 4px 0 0; } }

/* Bloque «Sin promesas imposibles» v2: centrado, tres pasos y botón en el centro */
.compromiso2 { position: relative; overflow: hidden; isolation: isolate; text-align: center; background: var(--tinta); color: var(--suave-osc); border-radius: 28px; padding: clamp(36px, 5vw, 56px) clamp(22px, 4vw, 56px); }
.compromiso2::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(600px 300px at 50% -10%, rgba(245, 204, 18, .22), transparent 70%), radial-gradient(500px 300px at 100% 120%, rgba(42, 91, 215, .18), transparent 70%); }
.compromiso2__sello { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: var(--amarillo); color: var(--tinta); box-shadow: 0 10px 30px -8px rgba(245, 204, 18, .6); margin-bottom: 16px; }
.compromiso2 h2 { color: #fff; font-size: clamp(1.8rem, 3.6vw, 2.6rem); margin-bottom: 8px; }
.compromiso2__cab p { max-width: 560px; margin: 0 auto; font-size: 1.06rem; }
.compromiso2__pasos { list-style: none; padding: 0; margin: 32px auto 30px; max-width: 980px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; text-align: left; }
.compromiso2__pasos li { background: rgba(255, 255, 255, .04); border: 1px solid var(--linea-osc); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 6px; transition: border-color .25s, transform .3s var(--ease); }
.compromiso2__pasos li:hover { border-color: rgba(245, 204, 18, .5); transform: translateY(-3px); }
.compromiso2__pasos span { font: 600 .78rem/1 var(--mono); color: var(--amarillo); }
.compromiso2__pasos strong { color: #fff; font: 600 1.05rem/1.3 var(--titulos); letter-spacing: -.02em; }
.compromiso2__pasos small { font-size: .9rem; color: var(--suave-osc); }
.compromiso2__acciones { display: flex; justify-content: center; align-items: center; gap: 22px; flex-wrap: wrap; }
.compromiso2__link { display: inline-flex; align-items: center; gap: 6px; color: #fff; font-weight: 600; text-decoration: none; }
.compromiso2__link:hover { color: var(--amarillo); }
@media (max-width: 820px) { .compromiso2__pasos { grid-template-columns: 1fr; } .compromiso2__acciones { flex-direction: column; gap: 14px; } }

/* Logo del pie sin deformar: ancho limitado y alto proporcional */
.pie__logo, .pie__marca img.pie__logo { height: auto; width: 270px; max-width: 100%; aspect-ratio: 589 / 166; object-fit: contain; }
@media (max-width: 720px) { .pie__logo, .pie__marca img.pie__logo { width: 220px; height: auto; } }

/* Ficha de caso: antes y después, pasos y base legal */
.ficha-caso { min-width: 0; }
.ficha-caso h2 { font-size: 1.45rem; margin: 36px 0 14px; }
.ficha-caso__antes-despues { display: grid; grid-template-columns: 1fr auto 1fr; gap: 12px; align-items: stretch; }
.ficha-caso__bloque { border-radius: 20px; padding: 20px 22px; }
.ficha-caso__bloque p { margin: 8px 0 0; font-size: .97rem; line-height: 1.55; }
.ficha-caso__bloque--antes { background: #fff; border: 1px solid var(--linea); }
.ficha-caso__bloque--despues { background: var(--tinta); color: #dfe3ea; }
.ficha-caso__bloque--despues strong { color: #fff; font: 600 1.08rem/1.4 var(--titulos); letter-spacing: -.01em; }
.ficha-caso__etq { display: inline-flex; align-items: center; gap: 6px; font: 600 .78rem/1 var(--mono); padding: 6px 10px; border-radius: 999px; }
.ficha-caso__bloque--antes .ficha-caso__etq { background: var(--rojo-suave); color: var(--rojo); }
.ficha-caso__bloque--despues .ficha-caso__etq { background: rgba(47, 209, 143, .15); color: #4fe0a4; }
.ficha-caso__plazo { display: flex; align-items: center; gap: 6px; color: var(--amarillo); font: 500 .84rem/1.2 var(--mono); }
.ficha-caso__flecha { display: grid; place-items: center; color: var(--suave); }
.ficha-caso__cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 12px; }
.ficha-caso__cifras div { background: #fff; border: 1px solid var(--linea); border-radius: 16px; padding: 16px 18px; }
.ficha-caso__cifras strong { display: block; font: 700 2rem/1 var(--titulos); color: var(--tinta); letter-spacing: -.04em; margin-bottom: 4px; }
.ficha-caso__cifras span { font-size: .86rem; color: var(--suave); }
.ficha-caso__pasos { list-style: none; counter-reset: paso; padding: 0; margin: 0; position: relative; }
.ficha-caso__pasos::before { content: ""; position: absolute; left: 17px; top: 10px; bottom: 10px; width: 2px; background: var(--linea); }
.ficha-caso__pasos li { counter-increment: paso; position: relative; padding: 6px 0 18px 56px; line-height: 1.55; }
.ficha-caso__pasos li::before { content: counter(paso); position: absolute; left: 0; top: 2px; width: 36px; height: 36px; border-radius: 50%; background: var(--amarillo); color: var(--tinta); font: 700 .95rem/36px var(--titulos); text-align: center; box-shadow: 0 0 0 5px var(--papel); }
.ficha-caso__ley { display: flex; gap: 14px; padding: 18px 20px; border-radius: 18px; background: rgba(245, 204, 18, .14); border: 1px solid rgba(245, 204, 18, .4); margin-top: 8px; }
.ficha-caso__ley > span { flex-shrink: 0; margin-top: 2px; }
.ficha-caso__ley p { margin: 4px 0 0; font-size: .94rem; }
.ficha-caso__cita { margin: 26px 0; padding: 24px 28px; border-radius: 20px; background: var(--tinta); color: #fff; border-left: 4px solid var(--amarillo); }
.ficha-caso__cita p { font: 500 1.15rem/1.5 var(--titulos); margin: 0 0 10px; }
.ficha-caso__cita cite { font: 400 .8rem/1.3 var(--mono); color: var(--suave-osc); font-style: normal; }
.ficha-caso__serv { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 18px; border: 1px solid var(--linea); background: #fff; text-decoration: none; color: var(--tinta); margin-bottom: 18px; }
.ficha-caso__serv:hover { border-color: var(--tinta); }
.ficha-caso__serv > span:nth-child(2) { flex: 1; }
.ficha-caso__serv small { display: block; font: 400 .74rem/1.2 var(--mono); color: var(--suave); }
.ficha-caso__serv strong { font: 600 1.02rem/1.3 var(--titulos); }
.ficha-caso__serv-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--tinta); color: var(--amarillo); display: grid; place-items: center; flex-shrink: 0; }
@media (max-width: 820px) { .ficha-caso__antes-despues { grid-template-columns: 1fr; } .ficha-caso__flecha { transform: rotate(90deg); } }

/* Portada: foto de fondo visible al momento y con movimiento más marcado */
.hero__foto { opacity: .62; animation: heroe-portada 7s ease-in-out infinite alternate; }
@keyframes heroe-portada { 0% { transform: scale(1.06) translate(0, 0); } 50% { transform: scale(1.2) translate(-4%, 2.5%); } 100% { transform: scale(1.13) translate(3.5%, -3%); } }
.hero .aparece, .cabecera .aparece { transition-duration: .45s; transition-delay: 0s !important; }
.serp .serp__res { transition: opacity .45s var(--ease), transform .45s var(--ease); }
.serp--sale .serp__res { opacity: 0; transform: translateY(8px); }

/* Garantías bajo el formulario del análisis gratis (fondo claro) */
.sellos-claro { list-style: none; padding: 0; margin: 22px 0 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.sellos-claro li { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--linea); color: var(--tinta); font-size: .9rem; font-weight: 500; }
.sellos-claro .ico { color: var(--verde); }


/* Botón flotante de contacto: desplegable con WhatsApp, llamada, email y formulario */
.flotante__btn { width: 60px; height: 60px; border-radius: 50%; border: 0; cursor: pointer; background: var(--tinta); color: var(--amarillo); display: grid; place-items: center; box-shadow: 0 14px 34px -10px rgba(11, 13, 18, .6), 0 0 0 4px rgba(245, 204, 18, .25); transition: transform .3s var(--ease), background-color .25s; position: relative; }
.flotante__btn:hover { transform: scale(1.06); }
.flotante__icono { grid-area: 1 / 1; display: grid; place-items: center; transition: transform .35s var(--ease), opacity .25s; }
.flotante__icono--cerrar { opacity: 0; transform: rotate(-90deg) scale(.6); }
.flotante.abierto .flotante__icono--abrir { opacity: 0; transform: rotate(90deg) scale(.6); }
.flotante.abierto .flotante__icono--cerrar { opacity: 1; transform: none; }
.flotante.abierto .flotante__btn { background: var(--amarillo); color: var(--tinta); }
.flotante__burbuja { position: absolute; right: 72px; bottom: 14px; white-space: nowrap; background: #fff; color: var(--tinta); font-weight: 600; font-size: .88rem; padding: 8px 14px; border-radius: 999px; box-shadow: var(--sombra); animation: burbuja 8s ease-in-out 3s both; pointer-events: none; }
@keyframes burbuja { 0%, 100% { opacity: 0; transform: translateX(8px); } 8%, 70% { opacity: 1; transform: none; } }
.flotante.abierto .flotante__burbuja { display: none; }
.flotante__panel { position: absolute; right: 0; bottom: 76px; width: 380px; max-height: min(640px, calc(100vh - 120px)); display: flex; flex-direction: column; background: #fff; border-radius: 24px; box-shadow: 0 30px 80px -20px rgba(11, 13, 18, .45), 0 0 0 1px var(--linea); overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(14px) scale(.97); transform-origin: bottom right; transition: opacity .25s var(--ease), transform .3s var(--ease), visibility .3s; }
.flotante.abierto .flotante__panel { opacity: 1; visibility: visible; transform: none; }
.flotante__cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 18px; background: var(--tinta); color: #fff; }
.flotante__cab strong { display: block; font: 600 1.15rem/1.2 var(--titulos); }
.flotante__cab span { font-size: .8rem; color: var(--suave-osc); }
.flotante__cerrar { width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--linea-osc); background: transparent; color: #fff; display: grid; place-items: center; cursor: pointer; }
.flotante__accesos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 14px 16px 6px; }
.flotante__acceso { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 6px; border-radius: 14px; border: 1px solid var(--linea); text-decoration: none; color: var(--tinta); font-size: .84rem; font-weight: 600; transition: border-color .2s, background-color .2s, transform .2s; }
.flotante__acceso:hover { border-color: var(--tinta); transform: translateY(-2px); }
.flotante__acceso--wa { color: #fff; background: var(--wa); border-color: var(--wa); }
.flotante__acceso--wa:hover { border-color: var(--wa); }
.flotante__form { overflow-y: auto; overscroll-behavior: contain; padding: 4px 16px 16px; }
.flotante__form .lead { box-shadow: none; border: 0; padding: 8px 0 0; border-radius: 0; }
.flotante__form .lead__titulo { font-size: 1.02rem; }
.flotante__form .lead__cab { margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px dashed var(--linea); }
.flotante__form .lead__mas { display: none; }
.barra-movil button.barra-movil__cta { border: 0; font: inherit; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; border-radius: 12px; background: var(--amarillo); color: var(--tinta); }
@media (max-width: 720px) {
  .flotante { display: block !important; right: 0; left: 0; bottom: 0; pointer-events: none; }
  .flotante__btn, .flotante__burbuja { display: none; }
  .flotante__panel { position: fixed; left: 0; right: 0; bottom: 0; width: auto; max-height: 88vh; border-radius: 22px 22px 0 0; pointer-events: auto; transform: translateY(100%); transform-origin: bottom; z-index: 60; padding-bottom: env(safe-area-inset-bottom); }
  .flotante.abierto .flotante__panel { transform: none; }
  .flotante.abierto::before { content: ""; position: fixed; inset: 0; background: rgba(11, 13, 18, .45); pointer-events: auto; }
}


/* Logo: símbolo en alta resolución + texto real (nítido a cualquier tamaño) */
.cab__marca { align-items: center; gap: 4px; }
.logo-olv { display: inline-flex; align-items: center; gap: 2px; line-height: 1; }
.logo-olv__simbolo { height: 44px; width: auto; display: block; margin-right: 2px; }
.logo-olv__texto { font: 700 1.62rem/1 var(--titulos); letter-spacing: -.045em; color: var(--tinta); white-space: nowrap; }
.logo-olv__texto span { color: #e9b800; font-weight: 500; letter-spacing: -.03em; }
.cab--oscura:not(.es-scroll) .logo-olv__texto { color: #fff; }
.cab--oscura:not(.es-scroll) .logo-olv__texto span, .logo-olv--pie .logo-olv__texto span { color: var(--amarillo); }
body.menu-abierto .cab .logo-olv__texto { color: var(--tinta); }
.cab__sub { display: block !important; text-align: center; width: 100%; margin: 6px 0 0 !important; padding: 0 !important; font: 500 .64rem/1 var(--mono); letter-spacing: .03em; }
.logo-olv--pie { margin-bottom: 22px; }
.logo-olv--pie .logo-olv__simbolo { height: 64px; }
.logo-olv--pie .logo-olv__texto { color: #fff; font-size: 2.3rem; }
@media (max-width: 720px) {
  .logo-olv__simbolo { height: 36px; }
  .logo-olv__texto { font-size: 1.32rem; }
  .cab__sub { font-size: .56rem; margin-top: 4px !important; }
  .logo-olv--pie .logo-olv__simbolo { height: 52px; }
  .logo-olv--pie .logo-olv__texto { font-size: 1.9rem; }
}
.logo-olv__simbolo.cab__logo--blanco { display: none; }
.cab--oscura:not(.es-scroll) .logo-olv__simbolo.cab__logo--negro { display: none; }
.cab--oscura:not(.es-scroll) .logo-olv__simbolo.cab__logo--blanco { display: block; }
body.menu-abierto .cab .logo-olv__simbolo.cab__logo--negro { display: block; }
body.menu-abierto .cab .logo-olv__simbolo.cab__logo--blanco { display: none; }
.logo-olv__texto { margin-left: -9px; }
.logo-olv--pie .logo-olv__texto { margin-left: -12px; font-size: 2rem; }
.logo-olv--pie .logo-olv__simbolo { height: 58px; }
.pie__top { grid-template-columns: minmax(300px, .9fr) 2.6fr; }
@media (max-width: 1120px) { .pie__top { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .pie__cols { grid-template-columns: 1fr 1fr; gap: 26px 16px; } .pie__col a { white-space: normal; } }
/* Lema alineado a la derecha, bajo el «.com» */
.cab__marca { display: inline-grid; justify-items: end; align-items: center; gap: 0; }
.cab__marca .logo-olv { justify-self: start; }
.cab__sub { text-align: right; width: auto; margin: 3px 0 0 !important; justify-self: end; }
.flotante__burbuja { background: var(--tinta); color: #fff; border: 1px solid rgba(245, 204, 18, .55); box-shadow: 0 10px 28px -8px rgba(11, 13, 18, .55); font-weight: 600; }
.flotante__burbuja::after { content: ""; position: absolute; right: -6px; top: 50%; width: 10px; height: 10px; background: var(--tinta); border-top: 1px solid rgba(245, 204, 18, .55); border-right: 1px solid rgba(245, 204, 18, .55); transform: translateY(-50%) rotate(45deg); }
.flotante__icono--abrir img { width: 40px; height: auto; display: block; margin-left: 4px; }
.flotante__btn { width: 64px; height: 64px; }

/* Menú fijo al bajar: blanco limpio (no gris) */
.cab.es-scroll { background: rgba(255, 255, 255, .97); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); box-shadow: 0 8px 24px -16px rgba(11, 13, 18, .35); border-bottom-color: rgba(11, 13, 18, .06); }
/* Barra inferior del móvil: todo en una línea */
@media (max-width: 720px) {
  .barra-movil { grid-template-columns: .9fr 1.05fr 1.35fr; }
  .barra-movil a, .barra-movil button.barra-movil__cta { white-space: nowrap; font-size: .88rem; gap: 5px; padding: 0 6px; }
  .barra-movil .ico { width: 18px; height: 18px; flex-shrink: 0; }
}

/* Panel flotante: formulario entero a la vista, sin scroll */
.flotante__panel { width: 400px; max-height: calc(100vh - 100px); }
.flotante__cab { padding: 12px 16px; }
.flotante__cab strong { font-size: 1.05rem; }
.flotante__accesos { padding: 10px 14px 4px; gap: 6px; }
.flotante__acceso { flex-direction: row; justify-content: center; gap: 6px; padding: 9px 6px; border-radius: 12px; font-size: .82rem; }
.flotante__acceso .ico { width: 17px; height: 17px; }
.flotante__form { padding: 2px 14px 12px; }
.flotante__form .lead__cab { margin-bottom: 6px; padding-bottom: 6px; }
.flotante__form .lead__cab p { display: none; }
.flotante__form .lead__titulo { font-size: .95rem; margin: 0; }
.flotante__form .campo { margin-bottom: 6px; }
.flotante__form .campo > span, .flotante__form .lead__opciones legend { font-size: .78rem; margin-bottom: 3px; }
.flotante__form .campo input, .flotante__form .campo select, .flotante__form .campo textarea { padding: 7px 10px; font-size: .86rem; border-radius: 10px; }
.flotante__form .campo textarea { min-height: 44px; height: 44px; }
.flotante__form .lead__fila { grid-template-columns: 1fr 1fr; gap: 0 8px; }
.flotante__form .lead__opciones { margin-bottom: 6px; }
.flotante__form .segmento span { padding: 5px 4px; font-size: .78rem; }
.flotante__form .segmento span .ico { display: none; }
.flotante__form .interruptor { margin-bottom: 4px; font-size: .78rem; }
.flotante__form .check { margin-bottom: 8px; font-size: .76rem; }
.flotante__form .btn { min-height: 42px; font-size: .92rem; }
.flotante__form .lead__nota { display: none; }
@media (max-width: 1120px) {
  body.menu-abierto .cab { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--papel); }
}
@media (max-width: 720px) {
  .flotante__panel { width: auto !important; left: 0 !important; right: 0 !important; max-height: 92vh; }
  .flotante__accesos { grid-template-columns: repeat(3, 1fr); }
}

/* Buscador animado: altura fija para que no salte la página al cambiar de ejemplo */
.serp .serp__res { height: 84px; max-height: none; box-sizing: border-box; }
.serp .serp__url, .serp .serp__tit, .serp .serp__desc { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.serp .serp__res.retirado { max-height: none; padding-top: 10px; padding-bottom: 10px; opacity: 0; transform: translateX(30px); }
@media (max-width: 720px) {
  .serp .serp__res { height: 78px; }
  .serp .serp__tit { font-size: 15px; }
  .serp .serp__desc { font-size: 12.5px; }
}
.hero__grid > *, .escaner, .serp { min-width: 0; max-width: 100%; }


/* Menú móvil v2: pantalla completa opaca, compacto y moderno */
.cab__menu-cerrar { display: none; }
@media (max-width: 1120px) {
  body.menu-abierto .cab, body.menu-abierto .cab.es-scroll { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: #fff !important; box-shadow: none; }
  body.menu-abierto .cab__menu-abrir { display: none; }
  body.menu-abierto .cab__menu-cerrar { display: grid; place-items: center; }
  body.menu-abierto .barra-movil, body.menu-abierto .flotante { display: none !important; }
  html:has(body.menu-abierto) { overflow: hidden; }
  .nav { position: fixed; top: var(--cab-alto); left: 0; right: 0; bottom: 0; height: calc(100dvh - var(--cab-alto)); z-index: 70; background: #fff; padding: 8px 18px calc(18px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain; transform: translateY(-12px); opacity: 0; visibility: hidden; transition: opacity .25s var(--ease), transform .3s var(--ease), visibility .3s; border-top: 1px solid var(--linea); }
  .nav.abierto { transform: none; opacity: 1; visibility: visible; }
  .nav__lista { gap: 0; }
  .nav__enlace, .cab--oscura:not(.es-scroll) .nav__enlace, body.menu-abierto .nav__enlace { padding: 13px 4px; font: 600 1.02rem/1.2 var(--titulos); letter-spacing: -.01em; color: var(--tinta); border-bottom: 1px solid #efede7; background: none; }
  .nav__enlace[aria-current="page"] { color: var(--tinta); box-shadow: inset 3px 0 0 var(--amarillo); padding-left: 12px; }
  .nav__item:not(.nav__item--mega) .nav__enlace::after { content: ""; width: 7px; height: 7px; border-right: 2px solid #b9bcc3; border-top: 2px solid #b9bcc3; transform: rotate(45deg); flex-shrink: 0; }
  .nav__item--mega .nav__enlace svg { transition: transform .25s var(--ease); }
  .nav__item--mega.abierto > .nav__enlace svg { transform: rotate(180deg); }
  .mega__caja { background: #f7f6f2; border-radius: 14px; margin: 8px 0 6px; }
  .mega__grid { padding: 12px; gap: 12px; }
  .mega__titulo { font-size: .8rem; margin-bottom: 4px; color: var(--suave); }
  .mega__titulo small { display: none; }
  .mega__col--eliminar .mega__lista { grid-template-columns: 1fr; }
  .mega__enlace { padding: 6px 4px; font-size: .9rem; }
  .mega__ico { flex-basis: 26px; width: 26px; height: 26px; background: #fff; }
  .nav__pie { margin-top: auto; padding-top: 18px; display: grid; gap: 8px; }
  .nav__cta { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border-radius: 14px; background: var(--amarillo); color: var(--tinta); font-weight: 700; text-decoration: none; }
  .nav__contacto { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .nav__contacto a { display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 46px; border-radius: 14px; border: 1px solid var(--linea); color: var(--tinta); font-weight: 600; text-decoration: none; }
  .nav__contacto a.nav__contacto-wa { background: var(--wa); border-color: var(--wa); color: #fff; }
}
@media (max-width: 1120px) {
  html:has(body.menu-abierto) { overflow: visible; }
  body.menu-abierto .cab { position: fixed !important; top: 0; left: 0; right: 0; z-index: 80; border-bottom: 1px solid var(--linea); }
}

/* Portada en móvil: distintivo en una línea y botones más compactos */
@media (max-width: 720px) {
  .hero .antetitulo { white-space: nowrap; font-size: min(.82rem, 2.55vw); letter-spacing: -.02em; gap: 7px; padding: 6px 10px 6px 9px; max-width: 100%; }
  .hero__acciones { gap: 8px; }
  .hero__acciones .btn, .hero__acciones .btn--gr { min-height: 48px; padding: 0 1.2em; font-size: .98rem; }
}

/* Sello «Prueba certificada»: texto siempre dentro del círculo; en móvil, centrado bajo el certificado */
.certificado__sello { width: 112px; height: 112px; padding: 12px; font-size: .68rem; line-height: 1.15; overflow: hidden; }
.certificado__sello > div { width: 100%; word-break: normal; overflow-wrap: normal; hyphens: none; }
@media (max-width: 720px) {
  .certificado { transform: none; padding: 20px 18px 24px; }
  .certificado__sello { position: relative; right: auto; bottom: auto; margin: 22px auto 0; width: 104px; height: 104px; transform: none; animation: none; }
}
