:root {
    color-scheme: light;
    --primario: #ec5b3f;
    --primario-oscuro: #cf422a;
    --secundario: #2468e8;
    --empresa: #13866f;
    --tinta: #12221f;
    --tinta-suave: #314641;
    --texto: #182724;
    --texto-suave: #61716d;
    --fondo: #fbfcf8;
    --superficie: #ffffff;
    --superficie-suave: #f1f5ef;
    --borde: #dfe7e2;
    --oro: #e3a72f;
    --exito: #17866f;
    --error: #c43b31;
    --sombra: 0 24px 70px rgba(21, 45, 38, .12);
    --sombra-suave: 0 12px 36px rgba(21, 45, 38, .08);
    --radio: 28px;
    --radio-pequeno: 16px;
    --ancho: 1180px;
    --fuente: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Pagos por transferencia y área privada del equipo */
.datos-transferencia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:2rem 0;background:var(--borde,#dce5e1);border:1px solid var(--borde,#dce5e1);border-radius:1.25rem;overflow:hidden}.datos-transferencia div{display:flex;flex-direction:column;gap:.35rem;padding:1.15rem;background:#fff}.datos-transferencia small{color:#667670;font-weight:700}.datos-transferencia strong{color:#17332d}.cuerpo-equipo{min-height:100vh;background:#eef3f1;color:#17332d}.cabecera-equipo{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem clamp(1rem,4vw,3rem);background:#fff;border-bottom:1px solid #dce5e1}.contenido-equipo{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:3rem 0}.tarjeta-equipo{background:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 18px 45px rgba(16,39,35,.08)}.tarjeta-equipo--ingreso{width:min(520px,100%);margin:5vh auto}.tarjeta-equipo--ingreso h1,.panel-equipo h1{margin:.3rem 0 1rem}.panel-equipo__cabecera{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem;margin-bottom:2rem}.lista-pagos{display:grid;gap:1rem}.pago-revision{background:#fff;border-radius:1.4rem;padding:1.5rem;box-shadow:0 12px 35px rgba(16,39,35,.07)}.pago-revision--urgente{border-left:5px solid #e26b42}.pago-revision__resumen{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.pago-revision__resumen small{margin-left:auto;color:#667670}.pago-revision dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.4rem 0}.pago-revision dl div{padding:1rem;background:#f4f7f5;border-radius:1rem}.pago-revision dt{font-size:.78rem;font-weight:800;text-transform:uppercase;color:#667670}.pago-revision dd{margin:.45rem 0 0;font-weight:700}.estado-pago{padding:.4rem .7rem;border-radius:999px;font-size:.72rem;font-weight:900}.estado-pago--pendiente_revision{background:#fff0bd;color:#765900}.estado-pago--aprobado{background:#dff8df;color:#17632a}.estado-pago--rechazado{background:#ffe1dc;color:#8f2d1f}.revision-formulario{border-top:1px solid #e1e8e5;padding-top:1rem}.revision-formulario>div{display:flex;gap:.75rem;flex-wrap:wrap}.pago-revision__resultado{padding:1rem;background:#eef4ff;border-radius:1rem;font-weight:700}.metricas-operacion{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.metricas-operacion article{display:flex;flex-direction:column;padding:1.3rem;border-radius:1.2rem;background:#fff;box-shadow:0 10px 30px rgba(16,39,35,.06)}.metricas-operacion small{color:#667670;font-weight:750}.metricas-operacion strong{font-size:2rem}.metricas-operacion span{color:#2468e8;font-size:.72rem;font-weight:750}.operacion-dos-columnas{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:1.5rem;align-items:start}.titulo-operacion{display:flex;justify-content:space-between;align-items:end;gap:1rem}.titulo-operacion .campo{min-width:180px}.revision-formulario{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.revision-formulario>div,.revision-formulario>button{grid-column:1/-1}.acciones-contacto{display:flex;gap:.6rem;margin:.8rem 0}.acciones-contacto a{padding:.45rem .7rem;border-radius:.55rem;background:#eef4ff;color:#174b9c;font-size:.7rem;font-weight:800}.adquisicion-panel{position:sticky;top:1rem;padding:1.3rem;border-radius:1.2rem;background:#fff;box-shadow:0 10px 30px rgba(16,39,35,.06)}.adquisicion-panel>p{color:#667670;font-size:.75rem}.adquisicion-panel>div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #e1e8e5}.adquisicion-panel span{display:flex;flex-direction:column;font-size:.75rem;font-weight:750}.adquisicion-panel small{color:#667670;font-weight:500}
@media(max-width:760px){.datos-transferencia,.pago-revision dl,.metricas-operacion,.operacion-dos-columnas,.revision-formulario{grid-template-columns:1fr}.panel-equipo__cabecera,.titulo-operacion{align-items:stretch;flex-direction:column}.pago-revision__resumen small{width:100%;margin-left:0}.cabecera-equipo>strong{display:none}.adquisicion-panel{position:static}}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--texto); background: var(--fondo); font-family: var(--fuente); line-height: 1.6; -webkit-font-smoothing: antialiased; }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: .22; z-index: 20; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.045'/%3E%3C/svg%3E"); }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.045em; }
/* Escala de titulares.
   La base estaba en h1 hasta 6rem (96px) y h2 hasta 4.25rem (68px). En un
   monitor grande eso dejaba el titular ocupando media pantalla y empujaba bajo
   el pliegue justo lo que explica de qué se trata el sitio. Los techos bajaron a
   4.2rem y 3.1rem, y los pisos bajaron menos, porque en el teléfono el tamaño no
   era el problema.
   Quince bloques del sitio redefinen h1 o h2 por su cuenta, así que cambiar solo
   estas dos líneas no alcanza: los valores grandes de esos bloques bajaron con
   el mismo criterio. Si algún día se vuelve a mover la escala, hay que moverla
   entera o vuelven a convivir un h2 de 50px con otro de 17px. */
h1 { font-size: clamp(2.6rem, 5.4vw, 4.2rem); font-weight: 720; }
h2 { font-size: clamp(1.95rem, 3.6vw, 3.1rem); font-weight: 700; }
h3 { font-size: 1.55rem; }
em { color: var(--primario); font-family: Georgia, serif; font-weight: 400; }
.contenedor { width: min(calc(100% - 40px), var(--ancho)); margin-inline: auto; }
.seccion { padding: 112px 0; position: relative; }
.seccion--suave { background: var(--superficie-suave); }
.seccion--tinta { background: var(--tinta); color: #f7fbf8; overflow: hidden; }
.seccion--tinta::before { content: ""; position: absolute; width: 520px; height: 520px; right: -180px; top: -180px; border-radius: 50%; border: 1px solid rgba(255,255,255,.08); box-shadow: 0 0 0 80px rgba(255,255,255,.025), 0 0 0 160px rgba(255,255,255,.018); }
.solo-lectores { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.salto-contenido { position: fixed; top: 10px; left: 10px; z-index: 100; padding: 10px 16px; background: var(--tinta); color: white; border-radius: 8px; transform: translateY(-150%); }
.salto-contenido:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid rgba(36,104,232,.42); outline-offset: 4px; }

/* Header del sitio público, escrito mobile first: la base es el teléfono y el
   escritorio se agrega con min-width más abajo. Son dos filas: la franja de
   redes, que se va con el desplazamiento, y la navegación, que queda fija. */
.franja-superior { background: var(--tinta); color: rgba(255,255,255,.78); font-size: .72rem; }
.franja-superior__interior { min-height: 44px; display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.franja-superior__texto { font-weight: 700; letter-spacing: .03em; }
.franja-superior__redes { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; }
.franja-superior__redes a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: inherit; transition: color .18s, background .18s; }
.franja-superior__redes a:hover { color: #fff; background: rgba(255,255,255,.1); }
.franja-superior__redes svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.cabecera { position: sticky; top: 0; z-index: 30; background: rgba(251,252,248,.94); border-bottom: 1px solid transparent; backdrop-filter: blur(18px); transition: border-color .2s, box-shadow .2s; }
.cabecera.desplazada { border-color: var(--borde); box-shadow: 0 6px 25px rgba(25,48,41,.05); }
.cabecera__interior { min-height: 64px; display: flex; align-items: center; gap: 4px; }
.cabecera__interior > .marca { margin-right: auto; }
.cabecera__sesion { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; color: var(--tinta); font-size: .9rem; font-weight: 760; }
.cabecera__sesion:hover { color: var(--primario); }
.marca { display: inline-flex; align-items: center; gap: 11px; font-weight: 850; letter-spacing: -.04em; }
.marca__isotipo { width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 11px 11px 14px 14px; background: var(--primario); transform: rotate(-8deg); position: relative; box-shadow: inset 0 -5px 8px rgba(112,26,12,.16); }
.marca__isotipo::before, .marca__isotipo::after { content: ""; position: absolute; background: white; border-radius: 20px; }
.marca__isotipo::before { width: 17px; height: 8px; top: 10px; left: 8px; transform: rotate(8deg); }
.marca__isotipo::after { width: 7px; height: 7px; border: 3px solid var(--primario); background: transparent; left: 5px; bottom: 4px; box-shadow: 12px 0 0 -3px white, 12px 0 0 0 var(--primario); }
.marca__texto { font-size: 1.08rem; }
/* En el teléfono el menú es un panel que cuelga del header. Se posiciona contra
   .cabecera (sticky) y no contra la ventana, así no depende de cuánto mide el
   header ni de si la franja de redes sigue a la vista. */
.navegacion { position: absolute; top: calc(100% + 6px); left: 14px; right: 14px; max-height: calc(100vh - 90px); overflow-y: auto; padding: 12px; display: none; flex-direction: column; align-items: stretch; gap: 2px; border: 1px solid var(--borde); border-radius: 20px; background: #fff; box-shadow: var(--sombra); font-size: 1rem; font-weight: 650; }
.navegacion.abierta { display: flex; }
.navegacion > a:not(.boton) { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 12px; color: var(--tinta-suave); }
/* El :hover va solo sobre los enlaces de texto. Antes era `.navegacion > a:hover`
   y alcanzaba también al botón «Registrar mi vehículo»: le ganaba en
   especificidad a .boton:hover y pintaba el texto del mismo color del fondo. */
.navegacion > a:not(.boton):hover, .navegacion > a[aria-current="page"] { color: var(--primario); }
/* En el teléfono «Inicia sesión» ya está a la vista junto a la hamburguesa. */
.navegacion > .navegacion__sesion { display: none; }
.navegacion > .boton { margin-top: 8px; }
.navegacion > .boton:hover { transform: none; }
.menu-boton { display: block; margin-right: -8px; border: 0; background: none; width: 44px; height: 44px; padding: 10px; }
.menu-boton > span:not(.solo-lectores) { display: block; height: 2px; margin: 5px 0; background: var(--tinta); border-radius: 3px; }

@media (min-width: 981px) {
    .franja-superior__interior { min-height: 36px; }
    .franja-superior__redes a { width: 36px; height: 36px; }
    .cabecera__interior { min-height: 78px; }
    .cabecera__sesion, .menu-boton { display: none; }
    .navegacion { position: static; max-height: none; overflow: visible; padding: 0; display: flex; flex-direction: row; align-items: center; gap: 28px; border: 0; border-radius: 0; background: none; box-shadow: none; font-size: .91rem; font-weight: 620; }
    .navegacion > a:not(.boton) { min-height: 0; padding: 0; }
    /* «Inicia sesión» es una acción, no una sección más: va separada y con la
       tinta plena para que no se pierda entre Personal, Talleres y Precios. */
    .navegacion > a.navegacion__sesion { display: flex; padding-left: 23px; border-left: 1px solid var(--borde); border-radius: 0; color: var(--tinta); }
    .navegacion > a.navegacion__sesion:hover { color: var(--primario); }
    .navegacion > .boton { margin-top: 0; }
}

.boton { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 8px; padding: 0 24px; border-radius: 100px; background: var(--primario); color: white; font-weight: 760; border: 1px solid var(--primario); box-shadow: 0 10px 28px rgba(236,91,63,.22); transition: transform .18s, box-shadow .18s, background .18s; }
.boton:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(236,91,63,.3); background: var(--primario-oscuro); }
.boton--pequeno { min-height: 42px; padding-inline: 19px; }
.boton--secundario { color: var(--texto); background: transparent; border-color: var(--borde); box-shadow: none; }
.boton--secundario:hover { background: var(--superficie-suave); box-shadow: none; }
.boton--texto { color: var(--texto); background: none; border-color: transparent; box-shadow: none; }
.boton--texto:hover { background: none; color: var(--primario); box-shadow: none; }
.boton--azul { background: var(--secundario); border-color: var(--secundario); box-shadow: 0 10px 28px rgba(36,104,232,.2); }
.boton--azul:hover { background: #1558d1; box-shadow: 0 14px 34px rgba(36,104,232,.28); }
.boton--verde { background: var(--empresa); border-color: var(--empresa); box-shadow: 0 10px 28px rgba(19,134,111,.2); }
.boton--verde:hover { background: #0c705d; box-shadow: 0 14px 34px rgba(19,134,111,.28); }
.boton--claro { background: white; color: var(--tinta); border-color: white; box-shadow: none; }
.boton--claro:hover { background: #f2f5f2; box-shadow: none; }
.boton--ancho { width: 100%; }
.grupo-botones { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 34px 0 27px; }

.heroe { min-height: 760px; padding: 90px 0 95px; display: flex; align-items: center; overflow: hidden; position: relative; background: radial-gradient(circle at 75% 28%, rgba(236,91,63,.1), transparent 30%), linear-gradient(180deg,#fbfcf8,#f7f9f4); }
.heroe::after { content: ""; position: absolute; left: -120px; bottom: -230px; width: 480px; height: 480px; border-radius: 50%; border: 1px solid rgba(28,68,58,.08); box-shadow: 0 0 0 80px rgba(28,68,58,.02), 0 0 0 160px rgba(28,68,58,.015); }
.heroe__grilla { display: grid; grid-template-columns: 1.03fr .97fr; align-items: center; gap: 70px; position: relative; z-index: 1; }
.heroe__contenido h1 { max-width: 760px; margin: 24px 0; }
.heroe__bajada { max-width: 630px; font-size: 1.18rem; color: var(--texto-suave); }
.pildora { display: inline-flex; align-items: center; gap: 9px; padding: 8px 13px; border: 1px solid rgba(236,91,63,.2); background: rgba(255,255,255,.75); border-radius: 100px; color: #a63a27; font-size: .78rem; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }
.pildora i { width: 7px; height: 7px; background: var(--primario); border-radius: 50%; box-shadow: 0 0 0 5px rgba(236,91,63,.12); }
.pildora--azul { color: #164fae; border-color: rgba(36,104,232,.2); }.pildora--azul i { background: var(--secundario); box-shadow: 0 0 0 5px rgba(36,104,232,.12); }
.pildora--verde { color: #0c6a57; border-color: rgba(19,134,111,.2); }.pildora--verde i { background: var(--empresa); box-shadow: 0 0 0 5px rgba(19,134,111,.12); }
.confianza { display: flex; flex-wrap: wrap; gap: 10px 21px; color: var(--texto-suave); font-size: .78rem; }
.confianza span::before { content: "✓"; color: var(--exito); font-weight: 850; margin-right: 7px; }
.sobrelinea { margin: 0 0 13px; color: var(--primario); text-transform: uppercase; font-size: .76rem; letter-spacing: .14em; font-weight: 850; }
.sobrelinea--clara { color: #78d9c0; }.sobrelinea--azul { color: var(--secundario); }.sobrelinea--verde { color: var(--empresa); }

.escena-producto { min-height: 610px; display: grid; place-items: center; position: relative; }
.telefono { width: 310px; min-height: 600px; padding: 14px 17px 17px; border: 8px solid #1a2825; border-radius: 44px; background: #f8faf7; box-shadow: 0 38px 80px rgba(16,38,32,.25), inset 0 0 0 1px rgba(255,255,255,.4); transform: rotate(2.5deg); position: relative; z-index: 3; }
.telefono__barra { display: flex; justify-content: space-between; padding: 0 8px 15px; font-size: .65rem; font-weight: 800; }.telefono__barra i { width: 58px; height: 16px; margin-top: -14px; border-radius: 0 0 13px 13px; background: #1a2825; }
.telefono__saludo { display: flex; flex-direction: column; margin: 7px 4px 15px; }.telefono__saludo small { color: var(--texto-suave); font-size: .7rem; }.telefono__saludo strong { font-size: 1.45rem; letter-spacing: -.04em; }
.auto-visual { overflow: hidden; border-radius: 21px; background: linear-gradient(145deg,#ffd9c9,#f7b9a3); box-shadow: var(--sombra-suave); }
.auto-visual__cielo { height: 132px; position: relative; background: linear-gradient(#ffe8df,#f7c2ae); }.auto-visual__sol { position: absolute; width: 48px; height: 48px; right: 24px; top: 20px; border-radius: 50%; background: rgba(255,244,215,.65); }
.auto-visual__datos { padding: 13px; display: flex; justify-content: space-between; align-items: end; background: white; }.auto-visual__datos div { display: flex; flex-direction: column; }.auto-visual__datos strong { font-size: 1rem; }.auto-visual__datos span { color: var(--texto-suave); font-size: .64rem; }.auto-visual__datos b { font-size: .72rem; }
.auto-css { position: absolute; width: 205px; height: 48px; top: 100px; left: 35px; border-radius: 52% 35% 16px 16px; background: linear-gradient(180deg,#f56e51,#c83c25); filter: drop-shadow(0 17px 10px rgba(73,31,20,.22)); }
.auto-css::before { content: ""; position: absolute; width: 134px; height: 46px; left: 37px; top: -28px; background: #e45439; border-radius: 70px 70px 4px 4px; transform: skewX(-9deg); }
.auto-css__cabina { position: absolute; width: 102px; height: 31px; left: 52px; top: -21px; background: linear-gradient(135deg,#b8d7db,#769ba2); border-radius: 45px 42px 4px 4px; z-index: 1; box-shadow: inset 48px 0 0 rgba(235,248,245,.34); }
.auto-css__rueda { position: absolute; bottom: -10px; width: 29px; height: 29px; border: 7px solid #283331; background: #b8c4c0; border-radius: 50%; }.auto-css__rueda--izq { left: 29px; }.auto-css__rueda--der { right: 28px; }
.resumen-app { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 10px; }.resumen-app > div { padding: 10px; border-radius: 15px; background: white; display: grid; grid-template-columns: 25px 1fr; box-shadow: 0 6px 20px rgba(20,44,37,.06); }.resumen-app small,.resumen-app strong { grid-column: 2; }.resumen-app small { font-size: .54rem; color: var(--texto-suave); }.resumen-app strong { font-size: .65rem; }.icono-mini { grid-row: 1/3; width: 21px; height: 21px; border-radius: 7px; display: grid; place-items: center; background: #dff5eb; color: var(--empresa); font-size: .65rem; }.icono-mini--azul { background: #e6efff; color: var(--secundario); }
.actividad-app { margin-top: 10px; padding: 10px; border-radius: 15px; background: white; display: flex; align-items: center; gap: 9px; box-shadow: 0 6px 20px rgba(20,44,37,.06); }.actividad-app > span { width: 25px; height: 25px; border-radius: 8px; background: #fff0eb; }.actividad-app div { display: flex; flex: 1; flex-direction: column; }.actividad-app small { font-size: .52rem; color: var(--texto-suave); }.actividad-app strong { font-size: .65rem; }.actividad-app b { color: var(--empresa); font-size: .55rem; }
.navegacion-app { display: flex; justify-content: space-around; padding-top: 18px; }.navegacion-app i { width: 15px; height: 15px; border: 2px solid #afbbb7; border-radius: 5px; }.navegacion-app .activo { background: var(--primario); border-color: var(--primario); }
.flotante { position: absolute; z-index: 4; display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.8); border-radius: 16px; box-shadow: var(--sombra); }.flotante > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 11px; background: #e2f7ef; }.flotante div { display: flex; flex-direction: column; }.flotante small { color: var(--texto-suave); font-size: .61rem; }.flotante strong { font-size: .75rem; }.flotante--arriba { top: 95px; right: -4px; }.flotante--abajo { bottom: 76px; left: -10px; }.flotante--abajo > span { background: #fff2c9; }
.orbita { position: absolute; border: 1px solid rgba(236,91,63,.14); border-radius: 50%; }.orbita--uno { width: 500px; height: 500px; }.orbita--dos { width: 390px; height: 390px; }

.franja-promesa { padding: 27px 0; background: var(--primario); color: white; }.franja-promesa__interior { display: flex; align-items: center; justify-content: center; gap: 26px; }.franja-promesa strong { font-family: Georgia,serif; font-size: 1.35rem; font-weight: 400; }.franja-promesa p { margin: 0; font-size: .9rem; }.franja-promesa span { height: 26px; width: 1px; background: rgba(255,255,255,.45); }
.encabezado-seccion { max-width: 760px; margin-bottom: 52px; }.encabezado-seccion h2 { margin-bottom: 18px; }.encabezado-seccion > p:last-child { color: var(--texto-suave); font-size: 1.08rem; }.encabezado-seccion--centrado { text-align: center; margin-inline: auto; }
.caminos { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }.camino { min-height: 510px; padding: 34px; border: 1px solid var(--borde); border-radius: var(--radio); background: var(--superficie); position: relative; overflow: hidden; transition: transform .25s, box-shadow .25s; }.camino:hover { transform: translateY(-7px); box-shadow: var(--sombra); }.camino::after { content: ""; position: absolute; width: 200px; height: 200px; border-radius: 50%; right: -105px; top: -100px; background: rgba(236,91,63,.07); }.camino--servicio::after { background: rgba(36,104,232,.08); }.camino--empresa::after { background: rgba(19,134,111,.08); }.camino__numero { position: absolute; top: 28px; right: 31px; color: #b5c0bc; font: italic 1rem Georgia,serif; }.camino__icono { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 34px; border-radius: 18px; background: #fff0eb; color: var(--primario); font-size: 1.8rem; }.camino--servicio .camino__icono { background: #eaf1ff; color: var(--secundario); }.camino--empresa .camino__icono { background: #e4f4ef; color: var(--empresa); }.camino h3 { font-size: 2rem; margin-bottom: 17px; }.camino > p:not(.sobrelinea) { color: var(--texto-suave); }.camino ul { list-style: none; padding: 0; margin: 27px 0 36px; font-size: .87rem; }.camino li { padding: 8px 0; border-bottom: 1px solid var(--borde); }.camino li::before { content: "✓"; color: var(--exito); margin-right: 9px; }.camino__enlace { position: absolute; bottom: 31px; font-weight: 780; }.camino__enlace b { margin-left: 6px; color: var(--primario); }
.historia { display: grid; grid-template-columns: .88fr 1.12fr; gap: 110px; align-items: center; }.historia__texto > p:not(.sobrelinea) { color: #a9bbb5; max-width: 500px; font-size: 1.07rem; }.historia__beneficios { margin-top: 48px; display: grid; gap: 23px; }.historia__beneficios > div { display: grid; grid-template-columns: 35px 1fr; gap: 13px; }.historia__beneficios b { color: #65cdb3; font: italic 1rem Georgia,serif; }.historia__beneficios span { color: #9db0aa; font-size: .84rem; }.historia__beneficios strong { color: white; display: block; font-size: .98rem; }
.linea-tiempo { padding: 30px 34px; border: 1px solid rgba(255,255,255,.11); border-radius: var(--radio); background: rgba(255,255,255,.045); box-shadow: 0 25px 70px rgba(0,0,0,.18); }.linea-tiempo__cabecera { display: flex; justify-content: space-between; margin-bottom: 27px; color: #91a8a1; font-size: .65rem; letter-spacing: .12em; }.linea-tiempo__cabecera b { color: #d8e3df; }.evento { min-height: 108px; display: grid; grid-template-columns: 65px 26px 1fr; gap: 14px; position: relative; }.evento:not(:last-child)::after { content: ""; position: absolute; width: 1px; height: 72px; background: rgba(255,255,255,.13); left: 78px; top: 30px; }.evento time { color: #82958f; font-size: .62rem; padding-top: 5px; }.evento__punto { position: relative; z-index: 1; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; color: white; background: #3a5d55; font-size: .63rem; }.evento__punto--verde { background: var(--empresa); }.evento__punto--coral { background: var(--primario); }.evento__punto--oro { background: var(--oro); }.evento div { display: flex; flex-direction: column; }.evento small { color: #70cdb5; font-size: .6rem; font-weight: 800; }.evento strong { margin: 3px 0; font-size: .91rem; }.evento p { margin: 0; color: #90a39d; font-size: .72rem; }.evento em { align-self: flex-start; margin-top: 7px; padding: 2px 7px; color: #70cdb5; background: rgba(112,205,181,.1); font: normal .55rem var(--fuente); border-radius: 4px; }
.ecosistema .encabezado-seccion { max-width: 680px; }.ecosistema__diagrama { display: grid; grid-template-columns: 1fr 90px 1.15fr 90px 1fr; align-items: center; gap: 5px; }.nodo { min-height: 165px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-radius: 24px; background: white; border: 1px solid var(--borde); box-shadow: var(--sombra-suave); }.nodo > span { font-size: 1.8rem; color: var(--primario); }.nodo strong { margin-top: 11px; }.nodo small { color: var(--texto-suave); }.nodo--centro { min-height: 215px; background: var(--tinta); color: white; }.nodo--centro .marca__isotipo { transform: scale(1.25) rotate(-8deg); margin-bottom: 5px; }.nodo--servicio > span { color: var(--secundario); }.nodo--empresa { grid-column: 3; margin-top: 40px; }.nodo--empresa > span { color: var(--empresa); }.conexion { text-align: center; color: var(--texto-suave); font-size: .65rem; }.conexion i { display: block; height: 1px; background: var(--borde); position: relative; }.conexion i::after { content: "›"; position: absolute; right: -2px; top: -14px; font-size: 1.1rem; }.conexion--tres { grid-column: 2; transform: rotate(26deg); }.conexion--tres small { transform: rotate(-26deg); display: block; }
.privacidad { display: grid; grid-template-columns: 180px 1fr 1fr; gap: 60px; align-items: center; }.privacidad__sello { width: 160px; height: 160px; display: grid; place-items: center; align-content: center; border: 1px solid var(--borde); border-radius: 50%; background: white; box-shadow: var(--sombra-suave); text-align: center; }.escudo { width: 48px; height: 55px; display: grid; place-items: center; color: white; background: var(--empresa); clip-path: polygon(50% 0,90% 16%,84% 72%,50% 100%,16% 72%,10% 16%); }.privacidad__sello small { margin-top: 7px; color: var(--empresa); font-size: .55rem; font-weight: 850; letter-spacing: .12em; }.privacidad p:not(.sobrelinea) { color: var(--texto-suave); }.lista-check { list-style: none; margin: 24px 0 30px; padding: 0; }.lista-check li { position: relative; padding: 7px 0 7px 28px; color: var(--texto-suave); font-size: .88rem; }.lista-check li::before { content: "✓"; position: absolute; left: 0; width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: var(--empresa); background: #e1f4ed; font-size: .64rem; font-weight: 900; }.lista-check--grande li { padding-block: 10px; font-size: .96rem; }

.seccion--precios-resumen { background: white; }.planes { display: grid; gap: 18px; }.planes--dos { grid-template-columns: repeat(2,minmax(0,1fr)); max-width:920px; margin:48px auto 0; }.planes--tres { grid-template-columns: repeat(3,1fr); align-items: stretch; }.plan { padding: 34px; border: 1px solid var(--borde); border-radius: var(--radio); background: var(--superficie); position: relative; box-shadow: 0 8px 28px rgba(23,45,38,.04); }.plan--destacado { border: 2px solid var(--primario); transform: translateY(-10px); box-shadow: var(--sombra); }.plan__etiqueta { position: absolute; top: -14px; right: 24px; padding: 6px 12px; border-radius: 100px; background: var(--primario); color: white; font-size: .65rem; font-weight: 800; }.plan h3 { margin-bottom: 25px; }.plan__precio strong { font-size: 2rem; letter-spacing: -.05em; }.plan__precio span { color: var(--texto-suave); font-size: .8rem; }.plan__anual { min-height: 57px; margin: 8px 0 22px; color: var(--texto-suave); font-size: .75rem; }.plan__anual b { color: var(--primario); }.plan .lista-check { min-height: 145px; }.nota-precios { margin: 30px auto 0; color: var(--texto-suave); font-size: .75rem; text-align: center; }
.seccion--cta { padding: 70px 0; background: var(--primario); color: white; overflow: hidden; }.cta-final { display: grid; grid-template-columns: 1.4fr .6fr; gap: 50px; align-items: center; position: relative; z-index: 1; }.cta-final h2 { margin-bottom: 12px; font-size: clamp(2rem,3.2vw,2.75rem); }.cta-final p:not(.sobrelinea) { margin: 0; color: rgba(255,255,255,.82); }.cta-final__acciones { display: flex; flex-direction: column; align-items: stretch; gap: 12px; text-align: center; }.cta-final__acciones span { color: rgba(255,255,255,.72); font-size: .7rem; }
.pie { padding: 75px 0 25px; background: #0c1816; color: #e8f0ed; }.marca--clara { color: white; }.pie__principal { display: grid; grid-template-columns: 1fr 1.5fr; gap: 100px; }.pie__marca p { margin-top: 25px; color: #829690; font-family: Georgia,serif; font-size: 1.1rem; }.pie__enlaces { display: grid; grid-template-columns: repeat(3,1fr); gap: 35px; }.pie__enlaces div { display: flex; flex-direction: column; gap: 11px; }.pie__enlaces strong { margin-bottom: 7px; color: white; font-size: .8rem; }.pie__enlaces a { color: #829690; font-size: .8rem; }.pie__enlaces a:hover { color: white; }.pie__legal { margin-top: 55px; padding-top: 20px; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.08); color: #6d817b; font-size: .66rem; }

/* Landings */
.heroe--interior { min-height: 700px; }.heroe--personal { background: radial-gradient(circle at 77% 25%,rgba(236,91,63,.13),transparent 32%),#f9faf6; }.heroe--servicio { background: radial-gradient(circle at 77% 25%,rgba(36,104,232,.12),transparent 32%),#f9fbff; }.heroe--servicio em { color: var(--secundario); }.heroe--empresa { background: radial-gradient(circle at 77% 25%,rgba(19,134,111,.13),transparent 32%),#f7fbf9; }.heroe--empresa em { color: var(--empresa); }
.garaje-visual { min-height: 530px; position: relative; display: grid; place-items: center; }.garaje-visual__tarjeta { width: 350px; min-height: 430px; padding: 22px; border-radius: 30px; background: #fff; box-shadow: var(--sombra); }.garaje-visual__tarjeta--fondo { position: absolute; top: 35px; right: 10px; transform: rotate(10deg); background: #dfe8e3; color: #7a8c86; }.garaje-visual__tarjeta--fondo span,.garaje-visual__tarjeta--fondo small { display: block; margin: 310px 10px 0; }.garaje-visual__tarjeta--fondo small { margin-top: 0; }.garaje-visual__tarjeta--principal { position: relative; z-index: 2; transform: rotate(-3deg); background: linear-gradient(180deg,#fff 0,#fff 64%,#f9faf7 64%); }.garaje-visual__cabecera { display: flex; justify-content: space-between; color: var(--texto-suave); font-size: .65rem; letter-spacing: .11em; }.garaje-visual .auto-css--grande { top: 145px; left: 58px; transform: scale(1.25); }.garaje-visual h3 { margin: 275px 0 1px; font-size: 1.75rem; }.garaje-visual p { color: var(--texto-suave); font-size: .8rem; }.garaje-visual__estado { display: flex; align-items: center; justify-content: space-between; padding-top: 17px; border-top: 1px solid var(--borde); }.garaje-visual__estado span { font-size: .7rem; }.garaje-visual__estado span b { font-size: 1.1rem; }.garaje-visual__estado i { padding: 5px 8px; border-radius: 8px; background: #e0f5ec; color: var(--empresa); font: normal .62rem var(--fuente); }.garaje-visual__burbuja { position: absolute; left: 10px; bottom: 25px; z-index: 3; width: 90px; height: 90px; display: grid; place-content: center; text-align: center; border-radius: 50%; color: #5a4213; background: #ffd970; box-shadow: var(--sombra); transform: rotate(-8deg); }.garaje-visual__burbuja span { font: bold 1.8rem Georgia,serif; }.garaje-visual__burbuja small { line-height: 1.1; font-size: .6rem; }
.beneficios-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }.beneficio { min-height: 275px; padding: 30px; border: 1px solid var(--borde); border-radius: 24px; background: white; }.beneficio--grande { grid-row: span 2; min-height: 568px; background: linear-gradient(160deg,#fff,#fff6f1); }.beneficio__icono { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 38px; border-radius: 15px; background: #fff0eb; color: var(--primario); font-size: 1.4rem; }.beneficio__icono--azul { color: var(--secundario); background: #e9f1ff; }.beneficio__icono--verde { color: var(--empresa); background: #e3f5ef; }.beneficio__icono--oro { color: #a77612; background: #fff2c9; }.beneficio__icono--violeta { color: #8455bd; background: #f2eafd; }.beneficio p { color: var(--texto-suave); font-size: .9rem; }.mini-historial { margin-top: 45px; display: grid; grid-template-columns: 18px 1fr; gap: 5px 12px; }.mini-historial i { width: 12px; height: 12px; margin-top: 5px; border: 3px solid white; outline: 1px solid var(--primario); border-radius: 50%; background: var(--primario); position: relative; }.mini-historial i:first-child::after { content:""; position:absolute; width:1px; height:59px; left:3px; top:10px; background:#edc8bb; }.mini-historial span { color: var(--texto-suave); font-size: .7rem; }.mini-historial b { display: block; color: var(--texto); font-size: .8rem; }
.dos-columnas { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; align-items: center; }.dos-columnas--invertida > :first-child { order: 2; }.texto-grande { color: var(--texto-suave); font-size: 1.1rem; }.panel-gastos,.cotizacion-visual,.asignacion-visual { padding: 32px; border-radius: var(--radio); background: white; box-shadow: var(--sombra); }.panel-gastos__cabecera,.cotizacion-visual__cabecera,.asignacion-visual__cabecera { display: flex; justify-content: space-between; margin-bottom: 25px; color: var(--texto-suave); font-size: .65rem; letter-spacing: .1em; }.panel-gastos > strong { display: block; font-size: 2.4rem; letter-spacing: -.05em; }.panel-gastos > small { color: var(--texto-suave); }.grafico-barras { height: 150px; display: flex; align-items: end; gap: 13px; margin: 30px 0 20px; border-bottom: 1px solid var(--borde); }.grafico-barras i { flex: 1; height: var(--alto); border-radius: 7px 7px 0 0; background: #dce6e2; }.grafico-barras i.activo { background: var(--primario); }.categorias-gasto { display: grid; gap: 8px; }.categorias-gasto span { display: grid; grid-template-columns: 12px 1fr auto; gap: 8px; align-items: center; font-size: .75rem; }.categorias-gasto i { width: 8px; height: 8px; border-radius: 50%; }.coral { background: var(--primario)!important; }.azul { background: var(--secundario)!important; }.verde { background: var(--empresa)!important; }
.barra-38 { --alto: 38%; }.barra-45 { --alto: 45%; }.barra-56 { --alto: 56%; }.barra-62 { --alto: 62%; }.barra-72 { --alto: 72%; }.barra-88 { --alto: 88%; }
.momentos-bloque { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }.momentos-bloque p:not(.sobrelinea) { color: var(--texto-suave); }.enlace-flecha { color: var(--primario); font-weight: 800; }.collage-momentos { min-height: 460px; position: relative; }.momento { position: absolute; display: flex; flex-direction: column; justify-content: end; padding: 25px; border-radius: 25px; color: white; box-shadow: var(--sombra); overflow: hidden; }.momento::before { content:""; position:absolute; inset:0; background:linear-gradient(transparent,rgba(5,24,20,.75)); }.momento span,.momento small { position:relative; }.momento span { font: 1.25rem Georgia,serif; }.momento small { opacity:.78; }.momento--sur { inset: 0 34% 70px 0; background: linear-gradient(140deg,#6ea7a1,#183d3b); }.momento--norte { inset: 80px 0 0 58%; background: linear-gradient(140deg,#e3ac69,#9b5438); }.medalla-momento { position:absolute; right:28%; top:25px; z-index:2; width:120px; height:120px; display:grid; place-content:center; text-align:center; border-radius:50%; background:#ffdc78; color:#624713; box-shadow:var(--sombra); transform:rotate(8deg); }.medalla-momento b { font: bold 2rem Georgia,serif; }.medalla-momento span { font-size:.6rem; line-height:1.2; }

.perfil-servicio { width: 430px; padding: 0 24px 24px; justify-self: center; border-radius: 30px; background: white; box-shadow: var(--sombra); overflow: hidden; }.perfil-servicio__portada { height: 145px; margin: 0 -24px; padding: 18px; background: linear-gradient(135deg,#18334f,#357cb3); position: relative; }.perfil-servicio__portada::after { content:""; position:absolute; width:210px; height:65px; bottom:0; left:110px; border-radius:80px 80px 0 0; background:#234459; box-shadow:-80px 15px 0 #182d38,80px 20px 0 #294e5e; }.estado-vivo { position:relative; z-index:2; display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border-radius:100px; background:rgba(11,28,40,.78); color:white; font-size:.65rem; }.estado-vivo i { width:7px; height:7px; border-radius:50%; background:#5ee1a9; box-shadow:0 0 0 4px rgba(94,225,169,.17); }.perfil-servicio__identidad { display:grid; grid-template-columns:58px 1fr auto; align-items:center; gap:12px; margin-top:-24px; position:relative; z-index:2; }.perfil-servicio__logo { width:58px; height:58px; display:grid; place-items:center; border:4px solid white; border-radius:17px; background:var(--secundario); color:white; font-weight:900; }.perfil-servicio__identidad div { display:flex; flex-direction:column; }.perfil-servicio__identidad small { color:var(--texto-suave); font-size:.65rem; }.perfil-servicio__identidad b { color:#9a6c0e; font-size:.75rem; }.perfil-servicio > p { margin:19px 0; color:var(--texto-suave); font-size:.8rem; }.perfil-servicio__datos { display:grid; grid-template-columns:repeat(3,1fr); padding:15px 0; border-block:1px solid var(--borde); }.perfil-servicio__datos span { display:flex; flex-direction:column; text-align:center; color:var(--texto-suave); font-size:.59rem; }.perfil-servicio__datos b { color:var(--texto); font-size:.8rem; }.perfil-servicio__acciones { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:16px 0; }.perfil-servicio button,.cotizacion-visual button { min-height:38px; border:1px solid var(--borde); border-radius:10px; background:white; color:var(--texto); font-size:.7rem; font-weight:750; }.perfil-servicio button:first-child,.cotizacion-visual button:first-child { background:var(--secundario); border-color:var(--secundario); color:white; }.perfil-servicio__alerta { display:flex; gap:10px; align-items:center; padding:10px; border-radius:13px; background:#eaf2ff; color:#164b9d; }.perfil-servicio__alerta > span { width:29px; height:29px; display:grid; place-items:center; border-radius:9px; background:white; }.perfil-servicio__alerta div { display:flex; flex-direction:column; }.perfil-servicio__alerta strong { font-size:.67rem; }.perfil-servicio__alerta small { font-size:.56rem; }
.proceso-servicio { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }.proceso-servicio article { min-height:300px; padding:25px; border:1px solid var(--borde); border-radius:23px; background:white; position:relative; }.proceso-servicio article > span { position:absolute; top:22px; right:22px; color:#acb8b4; font:italic .8rem Georgia,serif; }.proceso-servicio i { width:45px; height:45px; display:grid; place-items:center; margin:35px 0 48px; border-radius:14px; color:var(--secundario); background:#eaf1ff; font-style:normal; font-size:1.2rem; }.proceso-servicio p { color:var(--texto-suave); font-size:.85rem; }
.emergencia-bloque { display:grid; grid-template-columns:1fr .82fr; gap:110px; align-items:center; }.emergencia-bloque > div:first-child > p:not(.sobrelinea) { color:#9bafa9; max-width:550px; }.etiquetas { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }.etiquetas span { padding:7px 11px; border:1px solid rgba(255,255,255,.13); border-radius:100px; color:#bdd0ca; font-size:.68rem; }.busqueda-emergencia { padding:25px; border-radius:28px; color:var(--texto); background:#f8faf8; box-shadow:0 25px 70px rgba(0,0,0,.23); }.busqueda-emergencia__titulo { display:grid; grid-template-columns:40px 1fr 40px; text-align:center; }.busqueda-emergencia > p { margin:25px 0 12px; font-weight:750; }.opcion-emergencia { display:grid; grid-template-columns:42px 1fr 15px; gap:11px; align-items:center; padding:12px; margin:7px 0; border:1px solid var(--borde); border-radius:14px; background:white; }.opcion-emergencia.activa { border-color:var(--secundario); box-shadow:0 5px 20px rgba(36,104,232,.09); }.opcion-emergencia > span { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:var(--secundario); background:#eaf1ff; }.opcion-emergencia div { display:flex; flex-direction:column; }.opcion-emergencia b { font-size:.76rem; }.opcion-emergencia small { color:var(--texto-suave); font-size:.59rem; }
.cotizacion-visual__cabecera b { color:var(--secundario); }.cotizacion-visual h3 { margin-bottom:26px; }.cotizacion-visual__linea { display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--borde); font-size:.78rem; }.cotizacion-visual__total { display:flex; justify-content:space-between; align-items:end; padding:24px 0; }.cotizacion-visual__total strong { font-size:1.8rem; }.cotizacion-visual__botones { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.oferta-unica { display:grid; grid-template-columns:1.1fr .9fr; gap:90px; align-items:center; }.oferta-unica > div:first-child p:not(.sobrelinea) { color:var(--texto-suave); max-width:580px; }.oferta-unica__precio { padding:35px; border:1px solid #cfdcf7; border-radius:var(--radio); background:#f3f7ff; }.oferta-unica__precio > span,.oferta-unica__precio > small,.oferta-unica__precio > b { display:block; }.oferta-unica__precio > span,.oferta-unica__precio > small { color:var(--texto-suave); font-size:.7rem; }.oferta-unica__precio > strong { font-size:2.2rem; letter-spacing:-.05em; }.oferta-unica__precio > b { margin:13px 0 25px; color:var(--secundario); font-size:.8rem; }.oferta-unica__precio--verde { background:#eaf7f2; border-color:#c7e4da; }.oferta-unica__precio--verde > b { color:var(--empresa); }
.heroe--talleres { min-height:720px; background:radial-gradient(circle at 75% 22%,rgba(36,104,232,.17),transparent 34%),linear-gradient(145deg,#f8fbff,#f7faf7); }.heroe--talleres em { color:var(--secundario); }.beneficio-explorando { display:inline-block; margin:22px 0 -5px; padding:8px 13px; border-radius:9px; background:#dce9ff; color:#164fae; font-size:.78rem; font-weight:800; }
.resumen-taller { padding:38px; border:1px solid #cbdaf4; border-radius:28px; background:rgba(255,255,255,.93); box-shadow:var(--sombra); }.resumen-taller > strong,.resumen-taller > b,.resumen-taller__antes { display:block; }.resumen-taller__antes { margin-top:22px; color:var(--texto-suave); font-size:1.05rem; text-decoration:line-through; }.resumen-taller > strong { margin:3px 0; color:var(--secundario); font-size:clamp(2.4rem,4.8vw,3.25rem); letter-spacing:-.07em; }.resumen-taller > b { margin-bottom:22px; }.resumen-taller > p { color:var(--texto-suave); font-size:.82rem; }.resumen-taller .lista-check { margin-top:23px; }.codigo-promocional { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:22px 0; padding:14px 16px; border:1px dashed #8aafea; border-radius:12px; background:#f1f6ff; }.codigo-promocional small { color:var(--texto-suave); font-weight:700; }.codigo-promocional span { color:#164fae; font-weight:900; letter-spacing:.08em; }
.grilla-valor-taller { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:48px; }.grilla-valor-taller article { padding:26px; border:1px solid var(--borde); border-radius:20px; background:#fff; }.grilla-valor-taller span { color:var(--secundario); font-size:.75rem; font-weight:900; }.grilla-valor-taller h3 { margin:24px 0 10px; }.grilla-valor-taller p { margin:0; color:var(--texto-suave); font-size:.8rem; }.pasos-activacion { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; align-items:start; }.pasos-activacion ol { display:grid; gap:13px; margin:0; padding:0; list-style:none; }.pasos-activacion li { display:grid; grid-template-columns:130px 1fr; gap:15px; padding:20px; border-bottom:1px solid var(--borde); }.pasos-activacion li span { color:var(--texto-suave); font-size:.8rem; }.cierre-talleres { display:flex; align-items:center; justify-content:space-between; gap:50px; }.cierre-talleres h2 { max-width:760px; }.cierre-talleres p { max-width:750px; color:#c6cfcb; }

.tablero-empresa { width:460px; justify-self:center; padding:27px; border-radius:30px; background:white; box-shadow:var(--sombra); transform:rotate(1.2deg); }.tablero-empresa__cabecera { display:flex; justify-content:space-between; align-items:center; }.tablero-empresa__cabecera div { display:flex; flex-direction:column; }.tablero-empresa__cabecera small { color:var(--texto-suave); font-size:.58rem; letter-spacing:.1em; }.tablero-empresa__cabecera strong { font-size:1.2rem; }.tablero-empresa__cabecera > span { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:white; background:var(--empresa); font-size:.75rem; font-weight:850; }.indicadores { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:23px 0; }.indicadores div { padding:14px; border-radius:15px; background:#f3f7f4; display:flex; flex-direction:column; }.indicadores small { color:var(--texto-suave); font-size:.6rem; }.indicadores strong { font-size:1.55rem; }.indicadores strong em { color:#8da099; font:normal .7rem var(--fuente); }.indicadores i { font:normal .56rem var(--fuente); color:white; align-self:flex-start; padding:3px 5px; border-radius:5px; }.estado-flota { padding:15px; margin-bottom:10px; border:1px solid var(--borde); border-radius:15px; }.estado-flota > div { display:flex; justify-content:space-between; font-size:.68rem; }.estado-flota > i { display:block; height:7px; margin-top:10px; border-radius:10px; background:#dce6e2; }.estado-flota u { display:block; width:90%; height:100%; border-radius:10px; background:var(--empresa); }.vehiculo-fila { display:grid; grid-template-columns:38px 1fr auto; align-items:center; gap:10px; padding:10px 4px; border-bottom:1px solid var(--borde); }.vehiculo-fila__icono { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#e4f4ef; color:var(--empresa); }.vehiculo-fila div { display:flex; flex-direction:column; }.vehiculo-fila strong { font-size:.66rem; }.vehiculo-fila small { color:var(--texto-suave); font-size:.55rem; }.estado { padding:3px 6px; border-radius:5px; background:#eef2f0; font-size:.52rem; }.estado--verde { color:var(--empresa); background:#e1f4ed; }.estado--coral { color:var(--primario); background:#fff0eb; }
.metricas-empresa { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }.metricas-empresa article { min-height:220px; padding:28px; border:1px solid var(--borde); border-radius:22px; background:white; }.metricas-empresa span { width:42px; height:42px; display:grid; place-items:center; margin-bottom:30px; border-radius:13px; color:var(--empresa); background:#e5f5ef; }.metricas-empresa strong { display:block; font-size:2.2rem; }.metricas-empresa p { color:var(--texto-suave); font-size:.8rem; }
.asignacion-visual__cabecera b { color:var(--empresa); }.conductor { display:flex; align-items:center; gap:14px; padding-bottom:20px; border-bottom:1px solid var(--borde); }.conductor > span { width:55px; height:55px; display:grid; place-items:center; border-radius:50%; color:white; background:var(--empresa); font-weight:800; }.conductor div { display:flex; flex-direction:column; }.conductor small { color:var(--texto-suave); font-size:.7rem; }.asignacion-visual__vehiculo { padding:22px 0; display:grid; grid-template-columns:1fr auto; }.asignacion-visual__vehiculo small { grid-column:1/-1; color:var(--texto-suave); font-size:.58rem; letter-spacing:.08em; }.asignacion-visual__vehiculo strong { font-size:.85rem; }.asignacion-visual__vehiculo span { color:var(--texto-suave); font-size:.65rem; }.permisos { padding:17px; border-radius:15px; background:#f0f5f2; }.permisos > small { color:var(--texto-suave); font-size:.56rem; }.permisos div { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }.permisos span { font-size:.64rem; }.asignacion-visual__pie { padding-top:17px; color:var(--texto-suave); font-size:.62rem; text-align:center; }
.empresa-alertas { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:center; }.empresa-alertas > div:first-child p:not(.sobrelinea) { color:#9aafa8; }.alertas-lista { padding:15px 28px; border:1px solid rgba(255,255,255,.1); border-radius:var(--radio); background:rgba(255,255,255,.04); }.alertas-lista > div { display:grid; grid-template-columns:48px 42px 1fr 25px; gap:12px; align-items:center; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.08); }.alertas-lista > div:last-child { border:0; }.alertas-lista time { color:#94a8a2; font-size:.61rem; }.alertas-lista__icono { width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:white; font-weight:800; }.alertas-lista div div { display:flex; flex-direction:column; }.alertas-lista strong { font-size:.78rem; }.alertas-lista small { color:#8fa49e; font-size:.62rem; }.alertas-lista > div > b { color:#70cdb5; font-size:.62rem; }

.heroe--segmento { min-height:720px; }.heroe--escolar { background:radial-gradient(circle at 78% 24%,rgba(246,183,42,.2),transparent 33%),#fffcf3; }.heroe--escolar em { color:#b36a00; }.pildora--escolar { color:#805000; border-color:#efd08e; background:#fff9e7; }.pildora--escolar i { background:#e7a81d; box-shadow:0 0 0 5px rgba(231,168,29,.14); }.boton--escolar { color:#332100; background:#f2b632; box-shadow:0 9px 25px rgba(191,126,0,.2); }.boton--escolar:hover { color:#332100; background:#ffc850; }.sobrelinea--escolar { color:#9b6100; }
.panel-escolar { padding:30px; border:1px solid #ead9aa; border-radius:28px; background:#fff; box-shadow:0 25px 70px rgba(100,70,10,.14); }.panel-escolar__cabecera { display:flex; align-items:center; justify-content:space-between; padding-bottom:22px; border-bottom:1px solid #eee6d0; }.panel-escolar__cabecera div { display:flex; flex-direction:column; }.panel-escolar__cabecera small { color:#9a8252; font-size:.57rem; letter-spacing:.11em; }.panel-escolar__cabecera strong { font-size:1.25rem; }.panel-escolar__cabecera > span { padding:8px 10px; border-radius:9px; background:#fff1bd; color:#7f5400; font-weight:850; }.panel-escolar__estado { display:flex; gap:12px; align-items:center; margin:20px 0; padding:14px; border-radius:14px; background:#f1f8ee; }.panel-escolar__estado i { width:11px; height:11px; border-radius:50%; background:#3c9b62; box-shadow:0 0 0 5px rgba(60,155,98,.14); }.panel-escolar__estado div { display:flex; flex-direction:column; }.panel-escolar__estado small { color:var(--texto-suave); font-size:.62rem; }.panel-escolar__vehiculo { display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center; padding:15px 3px; border-bottom:1px solid #eee9db; }.panel-escolar__vehiculo > span { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; background:#fff4cd; color:#815700; font-size:.65rem; font-weight:850; }.panel-escolar__vehiculo div { display:flex; flex-direction:column; }.panel-escolar__vehiculo b { font-size:.72rem; }.panel-escolar__vehiculo small { color:var(--texto-suave); font-size:.58rem; }.panel-escolar__vehiculo em { padding:4px 7px; border-radius:6px; color:#27794b; background:#e6f5ec; font:normal 700 .55rem var(--fuente); }.panel-escolar__vehiculo em.pendiente { color:#915a00; background:#fff0c3; }.panel-escolar > p,.panel-conductor > p { margin:18px 0 0; color:var(--texto-suave); font-size:.58rem; }
.beneficios-segmento { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-top:45px; }.beneficios-segmento article { min-height:245px; padding:26px; border:1px solid var(--borde); border-radius:21px; background:#fff; }.beneficios-segmento article > span { width:42px; height:42px; display:grid; place-items:center; margin-bottom:40px; border-radius:13px; }.beneficios-segmento--escolar article > span { color:#805000; background:#fff2c8; }.beneficios-segmento h3 { margin-bottom:9px; }.beneficios-segmento p { margin:0; color:var(--texto-suave); font-size:.8rem; }.seccion--escolar-oscura { color:#fff; background:#332b1b; }.promesa-segmento { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }.promesa-segmento > div:first-child > p:not(.sobrelinea) { color:#c8bfae; }.lista-operativa { display:grid; gap:9px; }.lista-operativa > div { display:flex; flex-direction:column; padding:19px; border:1px solid rgba(255,255,255,.11); border-radius:14px; background:rgba(255,255,255,.04); }.lista-operativa span { color:#c8bfae; font-size:.72rem; }.oferta-segmento { display:grid; grid-template-columns:1fr .75fr; gap:90px; align-items:center; }.oferta-segmento > div > p:not(.sobrelinea) { color:var(--texto-suave); }.oferta-segmento aside { padding:34px; border:1px solid #e4d3a3; border-radius:24px; background:#fffdf6; }.oferta-segmento aside > span,.oferta-segmento aside > small,.oferta-segmento aside > strong { display:block; }.oferta-segmento aside > span,.oferta-segmento aside > small { color:var(--texto-suave); font-size:.7rem; }.oferta-segmento aside > strong { margin:5px 0; font-size:2.3rem; letter-spacing:-.05em; }.oferta-segmento aside .boton:first-of-type { margin-top:25px; }
.heroe--aplicaciones { background:radial-gradient(circle at 78% 24%,rgba(106,82,255,.16),transparent 34%),#faf9ff; }.heroe--aplicaciones em { color:#6249df; }.pildora--aplicaciones { color:#523bc2; border-color:#d5cdfb; background:#f4f1ff; }.pildora--aplicaciones i { background:#735be8; box-shadow:0 0 0 5px rgba(115,91,232,.13); }.boton--aplicaciones { color:#fff; background:#6b53dc; box-shadow:0 9px 25px rgba(87,64,190,.2); }.boton--aplicaciones:hover { color:#fff; background:#5941ca; }.sobrelinea--aplicaciones { color:#6249d1; }
.panel-conductor { padding:30px; border:1px solid #d9d2f6; border-radius:30px; background:#171529; color:#fff; box-shadow:0 25px 70px rgba(39,31,83,.22); transform:rotate(1deg); }.panel-conductor__cabecera { display:flex; flex-direction:column; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.1); }.panel-conductor__cabecera span { color:#9990ca; font-size:.56rem; letter-spacing:.12em; }.panel-conductor__principal { display:flex; flex-direction:column; padding:30px 0; }.panel-conductor__principal small { color:#aaa3d0; }.panel-conductor__principal strong { margin:5px 0; font-size:3rem; letter-spacing:-.06em; }.panel-conductor__principal span { color:#8f87bd; font-size:.65rem; }.panel-conductor__datos { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.panel-conductor__datos div { display:flex; flex-direction:column; padding:16px; border-radius:14px; background:#25223c; }.panel-conductor__datos small { color:#9d96c4; font-size:.58rem; }.panel-conductor__alerta { display:flex; gap:12px; margin-top:12px; padding:15px; border-radius:14px; color:#2e225e; background:#dcd5ff; }.panel-conductor__alerta > span { font-size:1.4rem; }.panel-conductor__alerta div { display:flex; flex-direction:column; }.panel-conductor__alerta small { font-size:.6rem; }.panel-conductor > p { color:#8f87ad; }
.segmento-historia { align-items:center; }.ruta-conductor { padding:29px; border:1px solid #ddd8f2; border-radius:25px; background:#fff; box-shadow:var(--sombra); }.ruta-conductor > span { color:#6d59cc; font-size:.6rem; font-weight:850; letter-spacing:.12em; }.ruta-conductor > div { display:grid; grid-template-columns:38px 1fr; gap:13px; align-items:center; padding:18px 0; border-bottom:1px solid var(--borde); }.ruta-conductor > div:last-child { border:0; }.ruta-conductor i { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#6b53dc; font-style:normal; font-size:.7rem; font-weight:800; }.ruta-conductor p { display:flex; flex-direction:column; margin:0; }.ruta-conductor small { color:var(--texto-suave); font-size:.66rem; }.planes-conductor { display:grid; grid-template-columns:1fr 1fr; gap:18px; max-width:900px; margin:45px auto 0; }.planes-conductor article { padding:34px; border:1px solid var(--borde); border-radius:25px; background:#fff; }.planes-conductor__flota { color:#fff; background:#211d38!important; }.planes-conductor article > span { color:#7d70ba; font-size:.65rem; font-weight:800; text-transform:uppercase; }.planes-conductor h3 { margin:10px 0 4px; }.planes-conductor article > strong { display:block; margin-bottom:18px; font-size:2.2rem; }.planes-conductor article > strong small { font-size:.7rem; }.planes-conductor p { color:var(--texto-suave); font-size:.8rem; }.planes-conductor__flota p { color:#aca5cb; }.planes-conductor__flota .lista-check li { color:#e3e0f1; }.nota-segmento { max-width:850px; margin:25px auto 0; color:var(--texto-suave); font-size:.67rem; text-align:center; }
.directorio-heroe { padding:135px 0 80px; text-align:center; background:radial-gradient(circle at 50% 0,rgba(36,104,232,.15),transparent 44%),#f7faff; }.directorio-heroe h1 { margin:18px 0 14px; }.directorio-heroe h1 em { color:var(--secundario); }.directorio-heroe > div > p:not(.sobrelinea) { max-width:700px; margin-inline:auto; color:var(--texto-suave); }.buscador-talleres { max-width:760px; display:grid; grid-template-columns:1fr auto; gap:10px; margin:34px auto 0; padding:9px; border:1px solid #cfdcf1; border-radius:16px; background:#fff; box-shadow:var(--sombra); }.buscador-talleres input { min-width:0; padding:10px 13px; border:0; outline:0; font:inherit; }.directorio-resultados { padding-top:70px; }.directorio-resultados__cabecera { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:32px; }.directorio-resultados__cabecera h2 { margin:5px 0 0; }.grilla-directorio { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }.tarjeta-directorio { padding:27px; border:1px solid var(--borde); border-radius:22px; background:#fff; }.tarjeta-directorio--destacada { border-color:#96b8ec; box-shadow:0 18px 45px rgba(36,104,232,.12); }.tarjeta-directorio__cabecera { display:grid; grid-template-columns:50px 1fr auto; gap:13px; align-items:center; }.tarjeta-directorio__sigla { width:50px; height:50px; display:grid; place-items:center; border-radius:15px; color:#fff; background:var(--secundario); font-weight:900; }.tarjeta-directorio__cabecera h2 { margin:0; font-size:1.25rem; }.tarjeta-directorio__cabecera p { margin:3px 0 0; color:var(--texto-suave); font-size:.68rem; }.tarjeta-directorio__cabecera > b { padding:5px 8px; border-radius:7px; color:#174b9c; background:#e8f0ff; font-size:.58rem; text-transform:uppercase; }.tarjeta-directorio__especialidades { margin:22px 0 8px; font-weight:750; }.tarjeta-directorio > p:not(.tarjeta-directorio__especialidades) { color:var(--texto-suave); font-size:.78rem; }.tarjeta-directorio__acciones { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }.tarjeta-directorio__acciones .boton { min-height:40px; padding:10px 14px; font-size:.66rem; }.directorio-vacio { max-width:700px; margin:auto; padding:55px 30px; border:1px dashed #b9c7c2; border-radius:24px; text-align:center; background:#fff; }.directorio-vacio > span { font-size:2.2rem; color:var(--secundario); }.directorio-vacio p { color:var(--texto-suave); }.llamado-directorio { display:flex; justify-content:space-between; align-items:center; gap:50px; }.llamado-directorio h2 { max-width:760px; margin:6px 0; }.llamado-directorio p:not(.sobrelinea) { color:var(--texto-suave); }
.perfil-publico-heroe { padding:140px 0 75px; background:radial-gradient(circle at 80% 10%,rgba(36,104,232,.14),transparent 35%),#f7faff; }.perfil-publico-heroe__interior { display:flex; justify-content:space-between; align-items:end; gap:45px; }.perfil-publico-heroe__identidad { display:flex; align-items:center; gap:22px; }.perfil-publico-heroe__identidad > span { width:90px; height:90px; display:grid; place-items:center; border-radius:25px; color:#fff; background:var(--secundario); font-size:1.7rem; font-weight:900; box-shadow:var(--sombra); }.perfil-publico-heroe h1 { margin:5px 0; font-size:clamp(1.95rem,4vw,3rem); }.perfil-publico-heroe__identidad div > p:last-child { margin:0; color:var(--texto-suave); }.perfil-publico-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:70px; align-items:start; }.perfil-publico-principal > h2 { max-width:750px; }.perfil-publico-principal > div { padding:22px 0; border-bottom:1px solid var(--borde); }.perfil-publico-principal h3 { margin:0 0 6px; font-size:.9rem; }.perfil-publico-principal > div p { margin:0; color:var(--texto-suave); }.perfil-publico-lateral { position:sticky; top:100px; padding:30px; border:1px solid #ccdaef; border-radius:23px; background:#f5f8ff; }.perfil-publico-lateral p { color:var(--texto-suave); }.perfil-publico-lateral small { display:block; margin-top:18px; color:var(--texto-suave); font-size:.62rem; }
.paginacion { display:flex; justify-content:center; align-items:center; gap:18px; margin-top:35px; }.paginacion a,.paginacion span { padding:9px 13px; border-radius:9px; font-size:.72rem; }.paginacion a { border:1px solid var(--borde); background:#fff; font-weight:750; }.paginacion span { color:var(--texto-suave); }
.heroe-simple { padding:130px 0 85px; text-align:center; background:radial-gradient(circle at 50% 10%,rgba(236,91,63,.12),transparent 42%),#f8faf6; }.heroe-simple h1 { margin:24px 0 18px; }.heroe-simple > div > p { max-width:650px; margin-inline:auto; color:var(--texto-suave); font-size:1.1rem; }.seccion--precios { padding-top:70px; }.preguntas { display:grid; grid-template-columns:.65fr 1.35fr; gap:100px; }.acordeon details { padding:22px 0; border-bottom:1px solid var(--borde); }.acordeon summary { cursor:pointer; font-weight:750; list-style:none; }.acordeon summary::after { content:"+"; float:right; color:var(--primario); font-size:1.2rem; }.acordeon details[open] summary::after { content:"−"; }.acordeon p { max-width:650px; margin:14px 0 0; color:var(--texto-suave); font-size:.88rem; }
.registro { min-height:calc(100vh - 78px); padding:90px 0; background:radial-gradient(circle at 50% 0,rgba(236,91,63,.1),transparent 42%),var(--fondo); }.registro__interior { max-width:980px; }.registro__encabezado { text-align:center; }.registro__encabezado .marca { margin-bottom:45px; }.registro__encabezado h1 { margin:10px 0 15px; font-size:clamp(2.1rem,4vw,3rem); }.registro__encabezado > p:last-child { color:var(--texto-suave); }.registro__opciones { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:50px; }.opcion-registro { min-height:340px; padding:27px; border:1px solid var(--borde); border-radius:24px; background:white; transition:.2s; }.opcion-registro:hover,.opcion-registro.seleccionada { transform:translateY(-5px); border-color:var(--primario); box-shadow:var(--sombra); }.opcion-registro > span { width:52px; height:52px; display:grid; place-items:center; margin-bottom:45px; border-radius:16px; background:#fff0eb; color:var(--primario); font-size:1.5rem; }.opcion-registro small { color:var(--texto-suave); font-size:.57rem; font-weight:800; letter-spacing:.09em; }.opcion-registro h2 { margin:9px 0 14px; font-size:1.7rem; }.opcion-registro p { min-height:75px; color:var(--texto-suave); font-size:.83rem; }.opcion-registro b { color:var(--primario); font-size:.82rem; }.opcion-registro--azul > span { color:var(--secundario); background:#eaf1ff; }.opcion-registro--azul b { color:var(--secundario); }.opcion-registro--azul:hover,.opcion-registro--azul.seleccionada { border-color:var(--secundario); }.opcion-registro--verde > span { color:var(--empresa); background:#e5f5ef; }.opcion-registro--verde b { color:var(--empresa); }.opcion-registro--verde:hover,.opcion-registro--verde.seleccionada { border-color:var(--empresa); }.registro__nota { max-width:690px; margin:30px auto 0; color:var(--texto-suave); text-align:center; font-size:.75rem; }

@media (max-width: 980px) {
    .heroe { min-height:auto; padding:65px 0 80px; }.heroe__grilla { grid-template-columns:1fr; gap:45px; }.heroe__contenido { text-align:center; }.heroe__contenido h1,.heroe__bajada { margin-inline:auto; }.grupo-botones,.confianza { justify-content:center; }.escena-producto { min-height:620px; }
    .caminos,.planes--dos,.planes--tres { grid-template-columns:1fr; }.camino { min-height:440px; }.plan--destacado { transform:none; }
    .historia,.dos-columnas,.momentos-bloque,.emergencia-bloque,.oferta-unica,.empresa-alertas,.preguntas,.promesa-segmento,.oferta-segmento,.perfil-publico-grid { grid-template-columns:1fr; gap:60px; }.dos-columnas--invertida > :first-child { order:0; }
    .ecosistema__diagrama { grid-template-columns:1fr; gap:13px; }.conexion { transform:rotate(90deg); width:50px; margin:auto; }.conexion--tres { grid-column:auto; transform:rotate(90deg); }.conexion--tres small { transform:rotate(-90deg); }.nodo--empresa { grid-column:auto; margin:0; }
    .privacidad { grid-template-columns:160px 1fr; }.privacidad .lista-check { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
    .proceso-servicio,.metricas-empresa,.grilla-valor-taller,.beneficios-segmento { grid-template-columns:1fr 1fr; }
    .pasos-activacion { grid-template-columns:1fr; gap:35px; }.cierre-talleres { align-items:flex-start; flex-direction:column; }
    .registro__opciones { grid-template-columns:1fr; }.opcion-registro { min-height:auto; }.opcion-registro > span { margin-bottom:25px; }.opcion-registro p { min-height:auto; }
    .cta-final { grid-template-columns:1fr; text-align:center; }.pie__principal { grid-template-columns:1fr; gap:45px; }.perfil-publico-heroe__interior { align-items:flex-start; flex-direction:column; }.perfil-publico-lateral { position:static; }
}

@media (max-width: 640px) {
    :root { --radio:22px; }.contenedor { width:min(calc(100% - 28px),var(--ancho)); }.seccion { padding:76px 0; }
    h1 { font-size:clamp(2.2rem,9.5vw,2.9rem); }.heroe__bajada { font-size:1rem; }.grupo-botones { flex-direction:column; align-items:stretch; }.boton { width:100%; }.confianza { display:grid; text-align:left; }
    .escena-producto { min-height:560px; transform:scale(.88); margin:-30px -20px; }.flotante--arriba { right:-25px; }.flotante--abajo { left:-24px; }
    .franja-promesa__interior { flex-direction:column; gap:4px; text-align:center; }.franja-promesa span { display:none; }
    .caminos { gap:13px; }.camino { padding:27px; }.historia { gap:50px; }.linea-tiempo { padding:24px 18px; }.evento { grid-template-columns:55px 24px 1fr; }.evento:not(:last-child)::after { left:66px; }
    .privacidad { grid-template-columns:1fr; gap:30px; }.privacidad__sello { margin:auto; }.privacidad .lista-check { grid-column:auto; grid-template-columns:1fr; }
    .garaje-visual { transform:scale(.86); margin:-40px -25px; }.beneficios-grid { grid-template-columns:1fr; }.beneficio--grande { grid-row:auto; min-height:510px; }.dos-columnas { gap:45px; }.panel-gastos,.cotizacion-visual,.asignacion-visual { padding:24px; }
    .collage-momentos { min-height:500px; }.momento--sur { inset:0 20% 180px 0; }.momento--norte { inset:250px 0 0 25%; }.medalla-momento { right:5%; top:180px; }
    .perfil-servicio,.tablero-empresa { width:100%; }.proceso-servicio,.metricas-empresa,.grilla-valor-taller,.beneficios-segmento,.planes-conductor { grid-template-columns:1fr; }.proceso-servicio article { min-height:250px; }.proceso-servicio i { margin-bottom:30px; }.resumen-taller,.panel-escolar,.panel-conductor { padding:24px; }.pasos-activacion li { grid-template-columns:1fr; gap:7px; }.panel-escolar__vehiculo { grid-template-columns:32px 1fr; }.panel-escolar__vehiculo em { grid-column:2; justify-self:start; }
    .emergencia-bloque,.empresa-alertas { gap:45px; }.oferta-unica { gap:35px; }.alertas-lista { padding:10px 15px; }.alertas-lista > div { grid-template-columns:40px 36px 1fr; }.alertas-lista > div > b { display:none; }
    .planes--tres { gap:22px; }.plan { padding:28px; }.pie__enlaces { grid-template-columns:1fr 1fr; }.pie__legal { flex-direction:column; gap:8px; }.registro { padding-top:60px; }.buscador-talleres { grid-template-columns:1fr; }.grilla-directorio { grid-template-columns:1fr; }.tarjeta-directorio__cabecera { grid-template-columns:50px 1fr; }.tarjeta-directorio__cabecera > b { grid-column:2; justify-self:start; }.llamado-directorio { align-items:flex-start; flex-direction:column; }.perfil-publico-heroe__identidad { align-items:flex-start; flex-direction:column; }
}

.perfil-servicio__acciones { grid-template-columns:1.25fr 1fr 1fr; }

.registro--formulario { padding-top:130px; }.registro__interior--formulario { max-width:860px; }.registro__pasos { max-width:620px; margin:28px auto 0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.registro__pasos span { display:flex; align-items:center; justify-content:center; gap:7px; padding:10px 8px; border:1px solid var(--borde); border-radius:999px; background:#fff; color:var(--texto-suave); font-size:.72rem; font-weight:750; }.registro__pasos b { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--primario); font-size:.68rem; }.formulario-publico { margin-top:42px; padding:34px; border:1px solid var(--borde); border-radius:26px; background:#fff; box-shadow:var(--sombra); }.formulario-publico [hidden],.registro__encabezado [hidden] { display:none!important; }.formulario-publico fieldset { margin:0 0 28px; padding:0; border:0; }.formulario-publico legend { width:100%; margin-bottom:20px; font-size:1.25rem; font-weight:850; }.formulario-publico__grilla { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.formulario-publico__opcional { margin:14px 0 20px; padding:18px; border:1px solid #cbd9ed; border-radius:14px; background:#f8faff; }.campo { display:flex; flex-direction:column; gap:7px; }.campo--ancho { grid-column:1/-1; }.campo > span { font-size:.76rem; font-weight:750; }.campo small { color:var(--texto-suave); font-weight:500; }.campo b,.casilla b,.formulario-publico__obligatorios b { color:var(--primario); }.campo input,.campo select { width:100%; min-height:48px; padding:10px 13px; border:1px solid #cbd5d1; border-radius:11px; background:#fff; color:var(--texto); font:inherit; }.campo input:focus,.campo select:focus { outline:3px solid rgba(42,102,181,.18); border-color:var(--secundario); }.aviso-corto { margin:30px 0; padding:22px; border-left:4px solid var(--secundario); border-radius:10px; background:#f0f6ff; }.aviso-corto h2 { margin:0 0 10px; font-size:1.05rem; }.aviso-corto p { margin:8px 0; color:#43566a; font-size:.75rem; }.decisiones-datos { display:grid; gap:12px; }.casilla { display:flex; align-items:flex-start; gap:11px; padding:13px; border:1px solid var(--borde); border-radius:11px; font-size:.76rem; }.casilla input { width:18px; height:18px; flex:0 0 auto; margin-top:2px; accent-color:var(--secundario); }.casilla--opcional { border-color:#aec8ea; background:#f7faff; }.campos-por-tipo .casilla + .casilla { margin-top:10px; }.formulario-publico__obligatorios { color:var(--texto-suave); font-size:.7rem; }.formulario-publico button:disabled { cursor:not-allowed; opacity:.45; }.mensaje-formulario { max-width:860px; margin:28px auto 0; padding:15px 18px; border-radius:12px; font-size:.82rem; }.mensaje-formulario p { margin:0; }.mensaje-formulario--exito { color:#135c42; background:#e5f7ef; }.mensaje-formulario--error { color:#8b2f25; background:#fff0ec; }.mensaje-formulario--aviso { color:#72530a; background:#fff7d9; }
.legal { padding:145px 0 100px; background:var(--fondo); }.legal__interior { max-width:820px; }.legal h1 { margin:10px 0 15px; }.legal__vigencia { margin-bottom:55px; color:var(--texto-suave); }.legal h2 { margin:38px 0 10px; font-size:1.35rem; }.legal p,.legal li { color:#52615d; }.legal li + li { margin-top:8px; }.derechos-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:35px 0; }.derechos-grid article { padding:20px; border:1px solid var(--borde); border-radius:16px; background:#fff; }.derechos-grid h2 { margin:0 0 7px; font-size:1.05rem; }.derechos-grid p { margin:0; font-size:.78rem; }.canal-derechos { padding:25px; border-radius:18px; background:#edf4ff; }.canal-derechos h2 { margin-top:0; }.formulario-derechos { display:grid; gap:16px; margin:24px 0; }.formulario-derechos textarea { width:100%; padding:12px 13px; resize:vertical; border:1px solid #cbd5d1; border-radius:11px; font:inherit; }.pie__legal a { color:inherit; }

@media (max-width:700px) { .registro__pasos { grid-template-columns:1fr; }.registro__pasos span { justify-content:flex-start; padding-inline:14px; }.formulario-publico { padding:23px 18px; }.formulario-publico__grilla,.derechos-grid { grid-template-columns:1fr; }.campo--ancho { grid-column:auto; }.legal { padding-top:110px; } }

@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

@media (prefers-color-scheme: dark) {
    :root { color-scheme:dark; }
}

.campo textarea { width:100%; padding:10px 13px; resize:vertical; border:1px solid #cbd5d1; border-radius:11px; background:#fff; color:var(--texto); font:inherit; }
.campo textarea:focus { outline:3px solid rgba(42,102,181,.18); border-color:var(--secundario); }
.plan__lanzamiento { margin: 1rem 0 .55rem; padding: .85rem; border: 1px solid rgba(36,104,232,.2); border-radius: .85rem; background: #eef4ff; color: #164fae; font-size: .82rem; }
.plan__lanzamiento strong { font-size: 1.15rem; }
.heroe-blog p { max-width: 720px; }
.seccion--blog { padding-top: 70px; }
.articulo-destacado { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; padding:clamp(2rem,5vw,4rem); margin-bottom:2rem; border-radius:var(--radio); color:white; background:linear-gradient(135deg,var(--tinta),#1e5448); box-shadow:var(--sombra); }
.articulo-destacado h2 { max-width:820px; margin:.5rem 0 1rem; font-size:clamp(1.75rem,3.2vw,2.6rem); }.articulo-destacado p:not(.sobrelinea){max-width:700px;color:#c9d8d3}.articulo-destacado__sello{width:115px;height:115px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:50%;text-align:center;font:italic 1rem Georgia,serif;transform:rotate(7deg)}
.grilla-articulos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }.tarjeta-articulo{display:flex;min-height:310px;flex-direction:column;padding:2rem;border:1px solid var(--borde);border-radius:1.4rem;background:#fff;transition:transform .2s,box-shadow .2s}.tarjeta-articulo:hover{transform:translateY(-4px);box-shadow:var(--sombra-suave)}.tarjeta-articulo h2{font-size:1.65rem}.tarjeta-articulo>p:not(.sobrelinea){color:var(--texto-suave)}.tarjeta-articulo footer{display:flex;justify-content:space-between;margin-top:auto;padding-top:1rem;border-top:1px solid var(--borde);color:var(--texto-suave);font-size:.74rem}
.articulo__cabecera{padding:120px 0 70px;background:linear-gradient(180deg,#f1f5ef,#fbfcf8)}.articulo__ancho{max-width:820px}.articulo__cabecera h1{margin:1rem 0 1.5rem;font-size:clamp(2.4rem,4.8vw,3.7rem)}.articulo__extracto{font-size:1.2rem;color:var(--texto-suave)}.articulo__cabecera time{font-size:.78rem;color:var(--texto-suave)}.articulo__cuerpo{padding-top:4rem;padding-bottom:6rem}.articulo__cuerpo section{margin:3rem 0}.articulo__cuerpo h2{font-size:2rem}.articulo__cuerpo p,.articulo__cuerpo li{color:#40534e;font-size:1.03rem}.articulo__cuerpo li+li{margin-top:.7rem}.articulo__veredicto,.articulo__aviso{padding:1.5rem 1.7rem;border-radius:1rem}.articulo__veredicto{border-left:5px solid var(--primario);background:#fff0eb}.articulo__aviso{background:#eef4ff}.articulo__veredicto p,.articulo__aviso p{margin:.45rem 0 0}.articulo__fuentes{padding-top:2rem;border-top:1px solid var(--borde)}.articulo__fuentes h2{font-size:1.25rem}.articulo__fuentes a{text-decoration:underline}.articulo__acciones{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:3rem}
@media(max-width:760px){.articulo-destacado{grid-template-columns:1fr}.articulo-destacado__sello{display:none}.grilla-articulos{grid-template-columns:1fr}.articulo__cabecera{padding-top:95px}}
.campos-por-tipo { margin-top: 1.25rem; }
.campos-por-tipo > p { color: var(--texto-suave); }
.consentimiento { position: fixed; inset: auto 1rem 1rem; z-index: 100; }
.consentimiento__contenido { width: min(980px, 100%); margin: auto; padding: 1.25rem; display: grid; grid-template-columns: 1fr auto; gap: 1rem 2rem; align-items: center; border: 1px solid var(--borde); border-radius: 1.25rem; background: rgba(255,255,255,.98); box-shadow: 0 24px 70px rgba(18,34,31,.22); }
.consentimiento__contenido p { margin: .35rem 0 0; color: var(--texto-suave); font-size: .88rem; }
.consentimiento__opciones { grid-column: 1 / -1; display: flex; gap: 1.25rem; flex-wrap: wrap; padding: .85rem; border-radius: .8rem; background: var(--superficie-suave); font-size: .84rem; }
.consentimiento__opciones[hidden] { display: none; }
.consentimiento__acciones { display: flex; justify-content: flex-end; gap: .6rem; flex-wrap: wrap; }
.consentimiento__acciones .boton { min-height: 42px; padding-inline: 1rem; font-size: .8rem; }
.preferencias-privacidad { position: fixed; left: .75rem; bottom: .5rem; z-index: 29; padding: .35rem .65rem; border: 1px solid var(--borde); border-radius: 999px; color: var(--texto-suave); background: rgba(255,255,255,.9); font: 700 .7rem var(--fuente); cursor: pointer; }
@media(max-width:760px){.consentimiento{inset:auto .65rem .65rem}.consentimiento__contenido{grid-template-columns:1fr;padding:1rem;gap:.75rem}.consentimiento__contenido p{font-size:.8rem;line-height:1.45}.consentimiento__acciones{display:grid;grid-template-columns:1fr 1fr;justify-content:stretch;gap:.5rem}.consentimiento__acciones .boton{width:100%;min-height:40px;padding:.5rem .65rem;font-size:.72rem}.consentimiento__acciones .boton:last-child{grid-column:1/-1}.consentimiento__opciones{flex-direction:column;gap:.6rem}}

.etiqueta-concepto{position:absolute;z-index:6;top:18px;left:50%;transform:translateX(-50%);padding:7px 12px;border:1px solid rgba(18,34,31,.15);border-radius:999px;background:rgba(255,255,255,.94);color:var(--texto-suave);font-size:.68rem;font-weight:800;white-space:nowrap}
.cabecera-equipo form{margin:0}.titulo-operacion form{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap}.bloque-operacion{margin-top:2.5rem}.revision-formulario>.casilla{grid-column:1/-1}
.criterios-tablero{margin:-.5rem 0 2rem;padding:1.15rem 1.3rem;border:1px solid #dce5e1;border-radius:1.2rem;background:#f7faf9}.criterios-tablero p{margin:.35rem 0;color:#4e625b;font-size:.78rem}.desgloses-operacion{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.panel-desglose{padding:1.3rem;border-radius:1.2rem;background:#fff;box-shadow:0 10px 30px rgba(16,39,35,.06)}.panel-desglose>p{color:#667670;font-size:.75rem}.panel-desglose>div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #e1e8e5}.panel-desglose span{display:flex;min-width:0;flex-direction:column;font-size:.75rem;font-weight:750}.panel-desglose small{color:#667670;font-weight:500}.panel-desglose strong{flex:none}
@media(max-width:900px){.desgloses-operacion{grid-template-columns:1fr}}

.documento-tributario > p { margin: -8px 0 16px; color: var(--texto-suave); font-size: .78rem; }
.opciones-documento { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
.documento-tributario__datos-factura { padding: 18px; border: 1px solid var(--borde); border-radius: 14px; background: #f7faf9; }
.documento-tributario__datos-factura > p { margin: 0; color: var(--texto-suave); font-size: .75rem; }
.documento-tributario__estado { margin: 1rem 0; padding: .85rem 1rem; border-radius: .85rem; background: #fff6d8; color: #6f5308; font-size: .78rem; font-weight: 750; }
.documento-tributario__estado--emitido { background: #e4f7eb; color: #155c35; }
@supports selector(:has(*)) {
    .documento-tributario:not(:has(input[value="FACTURA"]:checked)) .documento-tributario__datos-factura { display: none; }
}
@media(max-width:700px) { .opciones-documento { grid-template-columns: 1fr; } }

/* Momentos: comunidad pública con acciones reservadas a cuentas identificadas. */
.heroe-momentos{background:radial-gradient(circle at 85% 20%,rgba(238,114,75,.2),transparent 34%),linear-gradient(180deg,#edf5f1,#fbfcf8)}.heroe-momentos p{max-width:720px}.seccion--momentos{padding-top:65px}.momentos-introduccion{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:end;margin-bottom:38px}.momentos-introduccion h2{margin:.4rem 0 0}.momentos-introduccion>p{margin:0;color:var(--texto-suave)}.feed-momentos{width:min(100%,760px);margin:0 auto;display:grid;gap:26px}.momento-publico{overflow:hidden;border:1px solid var(--borde);border-radius:24px;background:#fff;box-shadow:0 16px 45px rgba(16,39,35,.07)}.momento-publico__cabecera{display:flex;align-items:center;gap:12px;padding:18px 22px}.momento-publico__avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--primario),#f4a13e);font-weight:900}.momento-publico__cabecera strong,.momento-publico__cabecera time{display:block}.momento-publico__cabecera time{margin-top:2px;color:var(--texto-suave);font-size:.7rem}.momento-publico__imagen{width:100%;max-height:620px;display:block;object-fit:cover;background:#eef2ef}.momento-publico__cuerpo{padding:22px}.momento-publico__cuerpo h2{margin:.55rem 0 .7rem;font-size:1.65rem}.momento-publico__cuerpo>p:not(.momento-publico__vehiculo){color:#40534e}.momento-publico__vehiculo{display:inline-flex;margin:0;padding:7px 10px;border-radius:999px;color:#31564d;background:#edf5f1;font-size:.72rem;font-weight:800}.momento-publico__metricas{display:flex;justify-content:space-between;gap:15px;padding:15px 0 10px;border-bottom:1px solid var(--borde);color:var(--texto-suave);font-size:.72rem}.momento-publico__acciones{padding:12px 0}.momento-publico__acciones form{margin:0}.comentarios-momento{display:grid;gap:8px;margin:8px 0 15px}.comentario-momento{position:relative;padding:10px 12px;border-radius:12px;background:#f3f7f5}.comentario-momento p{margin:0;color:#40534e;font-size:.8rem}.comentario-momento time{color:var(--texto-suave);font-size:.62rem}.comentario-momento form{position:absolute;right:10px;bottom:7px}.comentario-momento button,.denunciar-momento button{padding:0;border:0;color:var(--texto-suave);background:none;font:700 .65rem var(--fuente);cursor:pointer;text-decoration:underline}.formulario-comentario{display:grid;grid-template-columns:1fr auto;gap:9px}.formulario-comentario input,.denunciar-momento input,.denunciar-momento select{min-height:42px;padding:9px 12px;border:1px solid #cbd5d1;border-radius:10px;background:#fff;font:inherit}.denunciar-momento{margin-top:14px;color:var(--texto-suave);font-size:.7rem}.denunciar-momento summary{cursor:pointer}.denunciar-momento form{display:grid;grid-template-columns:1fr 1.5fr auto;gap:8px;margin-top:9px}.denunciar-momento button{padding:8px}.momentos-vacio{padding:45px;text-align:center;border:1px dashed #afc1ba;border-radius:22px;background:#f5f8f6}.momentos-vacio p{color:var(--texto-suave)}.paginacion-momentos{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:35px;font-size:.8rem}.paginacion-momentos a{font-weight:800}.portal-grilla--momentos{grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr)}.portal-momento{align-items:flex-start}.portal-momento__estado{display:flex;align-items:center;gap:10px;margin-bottom:8px}.portal-momento__estado small{color:var(--texto-suave)}.portal-momento__acciones{min-width:155px;flex-direction:column;align-items:stretch}.portal-momento__acciones form{margin:0}.publicar-momento .casilla{padding:7px;margin-bottom:7px;font-size:.68rem}.portal-ayuda p{margin:.4rem 0 0}.campo input[type="file"]{padding:8px}.portal-formulario [hidden]{display:none!important}
@media(max-width:900px){.momentos-introduccion,.portal-grilla--momentos{grid-template-columns:1fr}.portal-grilla--momentos aside{order:-1}.portal-momento{flex-direction:column}.portal-momento__acciones{width:100%;min-width:0}}
@media(max-width:620px){.momento-publico{border-radius:18px}.momento-publico__cuerpo{padding:18px}.formulario-comentario,.denunciar-momento form{grid-template-columns:1fr}.momentos-introduccion{gap:10px}.momentos-vacio{padding:30px 18px}}
.momento-publico__acciones{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.formulario-comentario .casilla{grid-column:1/-1;padding:8px;font-size:.7rem}.formulario-comentario>button{justify-self:start}
.instalacion-grilla{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:22px;align-items:start}.instalacion-acciones{display:grid;gap:18px;position:sticky;top:100px}.instalacion-comprobacion h2{margin:0 0 5px;font-size:1rem}.instalacion-comprobacion .portal-etiqueta{flex:none}.instalacion-acciones code,.portal-acceso code{overflow-wrap:anywhere}@media(max-width:900px){.instalacion-grilla{grid-template-columns:1fr}.instalacion-acciones{position:static;order:-1}}
.texto-error{color:var(--error);font-weight:700}
.portal-seccion{margin-top:22px}
.portal-tarjeta__dato--texto{font-size:1.2rem}.portal-datos{display:grid;gap:0;margin:0}.portal-datos>div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--borde)}.portal-datos dt{color:var(--texto-suave);font-size:.7rem;font-weight:800;text-transform:uppercase}.portal-datos dd{margin:0;font-size:.82rem;font-weight:750;overflow-wrap:anywhere}

/* Portal privado: sin dependencias externas ni medición de comportamiento. */
.cuerpo-portal{min-height:100vh;background:#f3f7f5}.cabecera-portal{position:sticky;top:0;z-index:20;min-height:78px;padding:12px clamp(18px,4vw,54px);display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--borde);background:rgba(255,255,255,.97)}.cabecera-portal nav{display:flex;align-items:center;gap:8px;margin-left:auto}.cabecera-portal nav a{padding:9px 12px;border-radius:9px;color:var(--texto-suave);font-size:.78rem;font-weight:750}.cabecera-portal nav a[aria-current="page"]{color:var(--tinta);background:#edf3f0}.cabecera-portal form{margin:0}.cabecera-portal__usuario{display:flex;min-width:130px;flex-direction:column}.cabecera-portal__usuario span{font-size:.78rem;font-weight:800}.cabecera-portal__usuario small{color:var(--texto-suave);font-size:.65rem}.contenido-portal{width:min(calc(100% - 36px),1180px);margin:0 auto;padding:46px 0 80px}.portal-acceso{min-height:calc(100vh - 170px);display:grid;place-items:center;padding:25px 0}.portal-acceso__tarjeta{width:min(100%,560px);padding:clamp(28px,5vw,46px);border:1px solid var(--borde);border-radius:26px;background:#fff;box-shadow:var(--sombra)}.portal-acceso__tarjeta h1{margin:.45rem 0 1rem;font-size:clamp(2.2rem,6vw,3.4rem)}.portal-acceso__tarjeta>p:not(.sobrelinea){color:var(--texto-suave)}.portal-acceso__pie{text-align:center;font-size:.82rem}.formulario-portal{display:grid;gap:16px;margin:28px 0}.formulario-portal .casilla{margin:0}.portal-cabecera{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:32px}.portal-cabecera h1{margin:.35rem 0 0;font-size:clamp(2.25rem,5vw,4rem)}.portal-cabecera p{max-width:680px;margin:.4rem 0 0;color:var(--texto-suave)}.portal-mensaje{margin-bottom:24px}.portal-resumen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.portal-tarjeta{padding:24px;border:1px solid var(--borde);border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(16,39,35,.05)}.portal-tarjeta h2,.portal-tarjeta h3{margin:.25rem 0 .8rem}.portal-tarjeta>p{color:var(--texto-suave)}.portal-tarjeta__dato{display:block;font-size:2rem;font-weight:900}.portal-acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.portal-grilla{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:22px}.portal-lista{display:grid;gap:12px}.portal-fila{padding:18px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--borde);border-radius:15px;background:#fff}.portal-fila__contenido{min-width:0}.portal-fila h3{margin:0 0 4px;font-size:1rem}.portal-fila p{margin:0;color:var(--texto-suave);font-size:.78rem}.portal-etiqueta{display:inline-flex;padding:5px 9px;border-radius:999px;color:#155c42;background:#e5f7ef;font-size:.66rem;font-weight:850}.portal-etiqueta--aviso{color:#72530a;background:#fff4c8}.portal-etiqueta--inactiva{color:#7e3830;background:#fff0ec}.portal-tabla{width:100%;border-collapse:collapse}.portal-tabla th,.portal-tabla td{padding:12px 9px;border-bottom:1px solid var(--borde);text-align:left;font-size:.76rem}.portal-tabla th{color:var(--texto-suave);font-size:.67rem;text-transform:uppercase;letter-spacing:.05em}.portal-formulario{display:grid;gap:15px;padding:24px;border:1px solid var(--borde);border-radius:20px;background:#fff}.portal-formulario fieldset{margin:0;padding:0;border:0}.portal-formulario legend{margin-bottom:14px;font-weight:850}.portal-formulario__dos{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-ayuda{padding:14px;border-radius:12px;color:#43566a;background:#eef4ff;font-size:.76rem}.portal-consumo{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0}.portal-consumo>div{padding:13px;border-radius:13px;background:#f1f6f3}.portal-consumo small,.portal-consumo span{display:block}.portal-consumo strong{font-size:1.1rem}.portal-vacio{padding:28px;border:1px dashed #b8c8c1;border-radius:16px;color:var(--texto-suave);text-align:center;background:rgba(255,255,255,.6)}
@media(max-width:900px){.cabecera-portal{align-items:flex-start;flex-wrap:wrap}.cabecera-portal nav{order:3;width:100%;margin:0;overflow:auto}.cabecera-portal__usuario{margin-left:auto}.portal-resumen,.portal-grilla{grid-template-columns:1fr}.portal-cabecera{align-items:flex-start;flex-direction:column}.portal-tabla{display:block;overflow:auto}}
@media(max-width:620px){.contenido-portal{width:min(calc(100% - 24px),1180px);padding-top:28px}.cabecera-portal__usuario{display:none}.cabecera-portal nav a{white-space:nowrap}.portal-formulario__dos,.portal-consumo{grid-template-columns:1fr}.portal-fila{align-items:flex-start;flex-direction:column}.portal-acceso__tarjeta{padding:26px 19px}}

/* ===========================================================================
   Servicios automotrices: buscador, estado de apertura y planes del taller.
   =========================================================================== */

.heroe-servicios { padding: clamp(46px,7vw,90px) 0 clamp(28px,4vw,46px); background: radial-gradient(circle at 15% 0, rgba(36,104,232,.09), transparent 45%), var(--fondo); }
.heroe-servicios h1 { margin: .4rem 0 .8rem; font-size: clamp(2.05rem,4.4vw,3.2rem); }
.heroe-servicios h1 em { font-style: normal; color: var(--secundario); }
.heroe-servicios__bajada { max-width: 640px; color: var(--texto-suave); }
.heroe-servicios--emergencia { background: radial-gradient(circle at 15% 0, rgba(236,91,63,.13), transparent 45%), var(--fondo); }
.heroe-servicios--emergencia h1 em { color: var(--primario); }
.sobrelinea--urgente { color: var(--primario); }
.boton--urgente { background: var(--primario); color: #fff; border-color: var(--primario); }
.boton--urgente:hover { background: var(--primario-oscuro); }

.filtros-servicios { margin: 28px 0 18px; }
.filtros-servicios__linea { display: flex; gap: 10px; flex-wrap: wrap; }
.filtros-servicios__campo { flex: 1 1 260px; }
.filtros-servicios__campo--angosto { flex: 0 1 240px; }
.filtros-servicios__campo input, .filtros-servicios__campo select { width: 100%; padding: 14px 16px; border: 1px solid var(--borde); border-radius: 14px; background: var(--superficie); }
.filtros-servicios__interruptores { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 14px; }
.interruptor { display: inline-flex; align-items: center; gap: 8px; color: var(--texto-suave); font-size: .82rem; font-weight: 700; }

.fichas-categoria { display: flex; gap: 8px; flex-wrap: wrap; margin: 6px 0 16px; }
.ficha-categoria { padding: 9px 15px; border: 1px solid var(--borde); border-radius: 999px; background: var(--superficie); font-size: .8rem; font-weight: 750; transition: .15s; }
.ficha-categoria:hover { border-color: var(--secundario); color: var(--secundario); }
.ficha-categoria b { margin-left: 5px; color: var(--texto-suave); font-weight: 800; }
.ficha-categoria--activa { border-color: var(--tinta); background: var(--tinta); color: #fff; }
.ficha-categoria--activa b { color: rgba(255,255,255,.65); }
.ficha-categoria--vacia { opacity: .5; }
.aviso-territorio { max-width: 720px; color: var(--texto-suave); font-size: .82rem; }

.grilla-servicios { display: grid; grid-template-columns: repeat(auto-fill,minmax(305px,1fr)); gap: 16px; }
.tarjeta-servicio { display: flex; flex-direction: column; gap: 12px; padding: 22px; border: 1px solid var(--borde); border-radius: 20px; background: var(--superficie); box-shadow: var(--sombra-suave); }
.tarjeta-servicio--destacada { border-color: var(--oro); box-shadow: 0 16px 42px rgba(227,167,47,.16); }
.tarjeta-servicio__cabecera { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.tarjeta-servicio__cabecera h3 { margin: 0 0 3px; font-size: 1.15rem; letter-spacing: -.02em; }
.tarjeta-servicio__lugar { margin: 0; color: var(--texto-suave); font-size: .8rem; }
.tarjeta-servicio__categorias { display: flex; gap: 6px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.tarjeta-servicio__categorias li { padding: 4px 10px; border-radius: 999px; background: var(--superficie-suave); color: var(--tinta-suave); font-size: .7rem; font-weight: 750; }
.tarjeta-servicio__descripcion { margin: 0; color: var(--texto-suave); font-size: .85rem; }
.tarjeta-servicio__acciones { display: flex; gap: 8px; flex-wrap: wrap; margin-top: auto; padding-top: 6px; }
.marca-emergencia { margin: 0; color: var(--primario); font-size: .78rem; font-weight: 800; }

.estado-local { flex-shrink: 0; padding: 5px 11px; border-radius: 999px; font-size: .68rem; font-weight: 850; white-space: nowrap; }
.estado-local--abierto { background: #e2f7ee; color: #12674f; }
.estado-local--cerrado { background: #f1f3f2; color: #6b7a76; }
.estado-local--sin-dato { background: #fff4d6; color: #7a5a06; }
.estado-local--emergencia { background: #ffeae4; color: #a93a20; }

.lista-categorias { display: flex; gap: 8px; flex-wrap: wrap; padding: 0; list-style: none; }
.lista-categorias li { padding: 6px 13px; border-radius: 999px; background: var(--superficie-suave); font-size: .78rem; font-weight: 700; }
.tabla-horario { width: 100%; border-collapse: collapse; }
.tabla-horario th, .tabla-horario td { padding: 9px 4px; border-bottom: 1px solid var(--borde); text-align: left; font-size: .82rem; }
.tabla-horario th { width: 130px; color: var(--texto-suave); font-weight: 750; }
.perfil-publico-heroe__estado { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }

/* Planes del taller en el registro: la primera decisión, no una lista oculta. */
.planes-taller { display: grid; grid-template-columns: repeat(auto-fit,minmax(215px,1fr)); gap: 12px; margin: 20px 0 14px; }
.plan-taller { position: relative; display: block; cursor: pointer; }
.plan-taller input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.plan-taller__cuerpo { display: flex; flex-direction: column; gap: 3px; height: 100%; padding: 20px; border: 2px solid var(--borde); border-radius: 18px; background: var(--superficie); transition: .15s; }
.plan-taller:hover .plan-taller__cuerpo { border-color: var(--secundario); }
.plan-taller input:checked + .plan-taller__cuerpo { border-color: var(--secundario); background: #f4f8ff; box-shadow: 0 12px 30px rgba(36,104,232,.14); }
.plan-taller input:focus-visible + .plan-taller__cuerpo { outline: 3px solid var(--secundario); outline-offset: 3px; }
.plan-taller__insignia { align-self: flex-start; margin-bottom: 6px; padding: 3px 9px; border-radius: 999px; background: var(--oro); color: #3b2a02; font-size: .62rem; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.plan-taller__nombre { font-size: 1.02rem; }
.plan-taller__precio { font-size: 1.55rem; font-weight: 850; letter-spacing: -.03em; }
.plan-taller__periodo { color: var(--texto-suave); font-size: .74rem; font-weight: 700; }
.plan-taller__resumen { margin-top: 8px; color: var(--texto-suave); font-size: .8rem; }
.plan-taller__incluye { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
.plan-taller__incluye span { position: relative; padding-left: 16px; font-size: .76rem; }
.plan-taller__incluye span::before { content: "·"; position: absolute; left: 4px; color: var(--secundario); font-weight: 900; }
.nota-lanzamiento { max-width: 700px; padding: 12px 16px; border-left: 3px solid var(--oro); border-radius: 0 10px 10px 0; background: #fffaef; color: var(--tinta-suave); font-size: .84rem; }
.nota-pago-taller { max-width: 760px; color: var(--texto-suave); font-size: .78rem; }
.subtitulo-fieldset { margin: 34px 0 6px; font-size: 1.35rem; }

@media (max-width: 760px) {
    .filtros-servicios__campo, .filtros-servicios__campo--angosto { flex: 1 1 100%; }
    .grilla-servicios, .planes-taller { grid-template-columns: 1fr; }
    .tabla-horario th { width: 105px; }
}
.plan-taller__advertencia { margin-top: 10px; padding-top: 9px; border-top: 1px dashed var(--borde); color: var(--texto-suave); font-size: .72rem; line-height: 1.45; }
.directorio-vacio__lanzamiento { max-width: 620px; margin: 0 auto 14px; padding: 14px 18px; border-left: 3px solid var(--oro); border-radius: 0 12px 12px 0; background: #fffaef; color: var(--tinta-suave); text-align: left; font-size: .88rem; }
.aviso-sin-reclamar { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; max-width: 820px; margin: 20px 0; padding: 16px 20px; border-left: 3px solid var(--oro); border-radius: 0 14px 14px 0; background: #fffaef; }
.aviso-sin-reclamar p { margin: 0; max-width: 520px; color: var(--tinta-suave); font-size: .86rem; }
.reclamo-ficha__interior { max-width: 760px; }
.reclamo-ficha__lugar { color: var(--texto-suave); }
.reclamo-ficha__explicacion { margin: 26px 0; padding: 22px; border: 1px solid var(--borde); border-radius: 18px; background: var(--superficie); }
.reclamo-ficha__explicacion h2 { font-size: 1.6rem; }
.reclamo-ficha__explicacion p { color: var(--texto-suave); font-size: .9rem; }
.rejilla-casillas { display: grid; grid-template-columns: repeat(auto-fit,minmax(215px,1fr)); gap: 6px; }
.rejilla-horarios { display: grid; gap: 8px; }
.fila-horario { display: grid; grid-template-columns: 110px 1fr 1fr; gap: 10px; align-items: center; }
.fila-horario input { padding: 9px 12px; border: 1px solid var(--borde); border-radius: 10px; }
@media (max-width: 760px) { .fila-horario { grid-template-columns: 80px 1fr 1fr; } }

/* ===========================================================================
   Cotizador del taller. Pensado primero para el teléfono: el taller cotiza
   parado al lado del auto, no sentado frente a un escritorio.
   =========================================================================== */

.cotizador { display: grid; gap: 20px; }
.cotizador__cabecera { display: grid; gap: 12px; }
.cotizador__cabecera h1 { margin: 0; font-size: clamp(1.9rem,6vw,2.6rem); }
.cotizador__cabecera p { margin: 0; color: var(--texto-suave); font-size: .88rem; }
.boton--ancho-movil { width: 100%; justify-content: center; }

.cotizador__resumen { display: grid; grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); gap: 10px; }
.cotizador__resumen > div { padding: 15px; border: 1px solid var(--borde); border-radius: 16px; background: #fff; }
.cotizador__resumen small { display: block; color: var(--texto-suave); font-size: .7rem; font-weight: 750; }
.cotizador__resumen strong { display: block; margin-top: 3px; font-size: 1.7rem; letter-spacing: -.03em; }
.cotizador__resumen span { color: var(--texto-suave); font-size: .7rem; }

.enlace-listo { padding: 20px; border: 2px solid var(--secundario); border-radius: 20px; background: #f4f8ff; }
.enlace-listo h2 { margin: .2rem 0 .6rem; font-size: 1.4rem; }
.enlace-listo__url { padding: 11px 13px; border: 1px dashed #b6ccf4; border-radius: 11px; background: #fff; color: var(--tinta-suave); font-size: .76rem; word-break: break-all; }
.enlace-listo__acciones { display: flex; gap: 9px; flex-wrap: wrap; align-items: center; margin: 12px 0 8px; }
.enlace-listo__estado { color: var(--exito); font-size: .78rem; font-weight: 750; }
.enlace-listo small { color: var(--texto-suave); font-size: .74rem; }
.boton--whatsapp { background: #128c7e; color: #fff; border-color: #128c7e; }
.boton--whatsapp:hover { background: #0e6f64; }

.aviso-cupo { display: grid; gap: 11px; padding: 15px 18px; border-left: 3px solid var(--oro); border-radius: 0 14px 14px 0; background: #fffaef; }
.aviso-cupo p { margin: 0; color: var(--tinta-suave); font-size: .85rem; }
.aviso-cupo .boton { justify-self: start; }
.aviso-cupo--agotado { border-left-color: var(--primario); background: #fff3ef; }

.lista-cotizaciones { display: grid; gap: 12px; }
.tarjeta-cotizacion { display: grid; gap: 10px; padding: 18px; border: 1px solid var(--borde); border-radius: 18px; background: #fff; }
.tarjeta-cotizacion header { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.tarjeta-cotizacion header strong { display: block; font-size: .95rem; }
.tarjeta-cotizacion header small { color: var(--texto-suave); font-size: .74rem; }
.tarjeta-cotizacion__total { margin: 0; font-size: 1.7rem; font-weight: 850; letter-spacing: -.03em; }
.tarjeta-cotizacion__nota, .tarjeta-cotizacion__nota-privada { margin: 0; color: var(--texto-suave); font-size: .78rem; }
.tarjeta-cotizacion__acciones { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.tarjeta-cotizacion__acciones form { margin: 0; }
.estado-cotizacion { flex-shrink: 0; padding: 5px 10px; border-radius: 999px; font-size: .67rem; font-weight: 850; white-space: nowrap; }
.estado-cotizacion--borrador { background: #f1f3f2; color: #64736f; }
.estado-cotizacion--enviada { background: #fff4d6; color: #7a5a06; }
.estado-cotizacion--aprobada { background: #e2f7ee; color: #12674f; }
.estado-cotizacion--rechazada { background: #ffeae4; color: #a93a20; }
.estado-cotizacion--completada { background: #e8eefc; color: #26509c; }
.evaluar-cliente summary { cursor: pointer; color: var(--secundario); font-size: .8rem; font-weight: 750; }
.evaluar-cliente form { display: grid; gap: 9px; margin-top: 11px; }
.evaluar-cliente small { color: var(--texto-suave); font-size: .72rem; }

.formulario-cotizador { display: grid; gap: 18px; }
.formulario-cotizador fieldset { display: grid; gap: 12px; margin: 0; padding: 18px; border: 1px solid var(--borde); border-radius: 18px; background: #fff; }
.formulario-cotizador legend { padding: 0 7px; font-size: .95rem; font-weight: 850; }
.cotizador__dos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.items-cotizacion { display: grid; gap: 12px; }
.item-cotizacion { display: grid; gap: 9px; padding: 14px; border: 1px solid var(--borde); border-radius: 15px; background: var(--superficie-suave); }
.item-cotizacion__linea { display: grid; grid-template-columns: 1.1fr .6fr 1fr; gap: 8px; }
.item-cotizacion__pie { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.item-cotizacion__pie .campo { flex: 1 1 150px; }
.item-cotizacion__total { font-size: 1.1rem; font-weight: 850; white-space: nowrap; }
.campo--angosto { max-width: 100%; }
.cotizador__totales { display: grid; gap: 7px; padding: 14px; border-radius: 14px; background: var(--superficie-suave); }
.cotizador__totales > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.cotizador__totales--final strong { font-size: 1.8rem; letter-spacing: -.03em; }
.cotizador__acciones { display: grid; gap: 9px; }
.cotizador__acciones .boton { width: 100%; justify-content: center; }

@media (min-width: 720px) {
    .cotizador__cabecera { grid-template-columns: 1fr auto; align-items: end; }
    .boton--ancho-movil { width: auto; }
    .cotizador__acciones { grid-template-columns: auto auto; justify-content: end; }
    .cotizador__acciones .boton { width: auto; }
}
@media (max-width: 480px) {
    .cotizador__dos, .item-cotizacion__linea { grid-template-columns: 1fr; }
}

/* Cotización que ve el cliente. Se abre casi siempre desde WhatsApp, o sea
   desde un teléfono, así que la columna es angosta y las acciones son grandes. */
.cotizacion-cliente__interior { max-width: 620px; display: grid; gap: 18px; }
.cotizacion-cliente__encabezado h1 { margin: .2rem 0 .2rem; font-size: clamp(1.8rem,6vw,2.6rem); }
.cotizacion-cliente__lugar { margin: 0; color: var(--texto-suave); font-size: .85rem; }
.cotizacion-cliente__vehiculo { display: grid; grid-template-columns: repeat(auto-fit,minmax(140px,1fr)); gap: 10px; }
.cotizacion-cliente__vehiculo > div { padding: 13px; border-radius: 14px; background: var(--superficie-suave); }
.cotizacion-cliente__vehiculo small { display: block; color: var(--texto-suave); font-size: .7rem; font-weight: 750; }
.cotizacion-cliente__bloque { padding: 20px; border: 1px solid var(--borde); border-radius: 18px; background: #fff; }
.cotizacion-cliente__bloque h2 { margin: 0 0 .7rem; font-size: 1.3rem; }
.cotizacion-cliente__bloque > p { color: var(--texto-suave); font-size: .88rem; }
.detalle-cotizacion { margin: 0; padding: 0; list-style: none; }
.detalle-cotizacion li { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--borde); }
.detalle-cotizacion strong { display: block; font-size: .92rem; }
.detalle-cotizacion small { color: var(--texto-suave); font-size: .74rem; }
.detalle-cotizacion b { white-space: nowrap; font-size: .95rem; }
.marca-compra { color: var(--primario); font-weight: 800; }
.totales-cotizacion { display: grid; gap: 6px; margin-top: 14px; }
.totales-cotizacion > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; color: var(--texto-suave); font-size: .85rem; }
.totales-cotizacion__final { padding-top: 9px; border-top: 2px solid var(--tinta); color: var(--texto) !important; }
.totales-cotizacion__final b { font-size: 1.8rem; letter-spacing: -.03em; }
.cotizacion-cliente__notas, .cotizacion-cliente__vigencia { margin: 12px 0 0; color: var(--texto-suave); font-size: .82rem; }
.cotizacion-cliente__decision { padding: 22px; border: 2px solid var(--secundario); border-radius: 20px; background: #f4f8ff; }
.cotizacion-cliente__decision h2 { margin: 0 0 .5rem; font-size: 1.45rem; }
.cotizacion-cliente__decision > p { color: var(--tinta-suave); font-size: .84rem; }
.cotizacion-cliente__decision .boton--ancho { width: 100%; justify-content: center; padding: 16px; font-size: 1rem; }
.cotizacion-cliente__rechazo { margin-top: 14px; }
.cotizacion-cliente__rechazo summary { cursor: pointer; color: var(--texto-suave); font-size: .82rem; }
.cotizacion-cliente__rechazo form { display: grid; gap: 10px; margin-top: 11px; }
.cotizacion-cliente__aprobada { padding: 22px; border: 1px solid var(--borde); border-radius: 20px; background: #fff; }
.cotizacion-cliente__aprobada h2 { margin: 1rem 0 .7rem; font-size: 1.3rem; }
.datos-transferencia-taller { display: grid; gap: 1px; margin: 0 0 14px; border: 1px solid var(--borde); border-radius: 14px; background: var(--borde); overflow: hidden; }
.datos-transferencia-taller > div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; background: #fff; }
.datos-transferencia-taller dt { color: var(--texto-suave); font-size: .76rem; font-weight: 750; }
.datos-transferencia-taller dd { margin: 0; font-weight: 800; font-size: .85rem; text-align: right; }
.cotizacion-cliente__aviso-pago { color: var(--texto-suave); font-size: .78rem; }
.formulario-evaluacion { display: grid; gap: 11px; margin-top: 12px; }
.cotizacion-cliente__pie { color: var(--texto-suave); font-size: .78rem; text-align: center; }
.logo-taller { display: block; max-width: 160px; height: auto; margin-bottom: 14px; border-radius: 10px; }
.perfil-publico-heroe__reputacion { display: flex; gap: 16px; flex-wrap: wrap; margin: 10px 0 0; color: var(--texto-suave); font-size: .84rem; }
.perfil-publico-heroe__reputacion strong { color: var(--texto); font-size: 1.05rem; }
.aviso-cupo--regalo { border-left-color: var(--exito); background: #edfaf4; }
.cotizador__cabecera-acciones { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.cotizador__cabecera-acciones .boton--azul { flex: 1 1 auto; justify-content: center; }
@media (min-width: 720px) { .cotizador__cabecera-acciones .boton--azul { flex: 0 0 auto; } }

/* ===========================================================================
   Portada. Sin maquetas de aplicación ni datos inventados: mientras no haya
   fotografías propias, el peso lo lleva la tipografía y un buscador que de
   verdad funciona. Los íconos son SVG de trazo, no caracteres de texto.
   =========================================================================== */

.icono { width: 1.25em; height: 1.25em; fill: none; stroke: currentColor; stroke-width: 1.7;
         stroke-linecap: round; stroke-linejoin: round; vertical-align: -.2em; }
.icono--grande { width: 2.1rem; height: 2.1rem; stroke-width: 1.5; }

.portada-heroe { padding: clamp(50px,9vw,110px) 0 clamp(40px,6vw,80px);
    background: radial-gradient(circle at 12% -10%, rgba(236,91,63,.12), transparent 52%), var(--fondo); }
.portada-heroe__lugar { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 18px;
    padding: 7px 15px 7px 11px; border: 1px solid var(--borde); border-radius: 999px;
    background: var(--superficie); color: var(--tinta-suave); font-size: .78rem; font-weight: 800; }
.portada-heroe h1 { max-width: 14ch; margin: 0 0 .6rem; font-size: clamp(2.5rem,7.2vw,4.2rem); }
.portada-heroe h1 em { font-style: normal; color: var(--primario); }
.portada-heroe__bajada { max-width: 46ch; margin: 0 0 32px; color: var(--texto-suave); font-size: clamp(1rem,2.2vw,1.2rem); }
.portada-heroe__comunas { max-width: 54ch; margin: 22px 0 0; color: var(--texto-suave); font-size: .82rem; }

.busqueda-portada { max-width: 560px; padding: 22px; border: 2px solid var(--tinta); border-radius: 22px; background: var(--superficie); }
.busqueda-portada__titulo { margin: 0 0 12px; font-size: 1.15rem; font-weight: 850; letter-spacing: -.02em; }
.busqueda-portada__linea { display: grid; gap: 10px; }
.busqueda-portada__campo select { width: 100%; padding: 15px 16px; border: 1px solid var(--borde);
    border-radius: 13px; background: var(--fondo); font-size: 1rem; }
.busqueda-portada .boton { width: 100%; justify-content: center; padding: 15px; font-size: 1rem; }
.busqueda-portada__nota { margin: 12px 0 0; color: var(--texto-suave); font-size: .8rem; }

.tarjetas-valor { display: grid; grid-template-columns: repeat(auto-fit,minmax(275px,1fr)); gap: 16px; }
.tarjeta-valor { display: flex; flex-direction: column; gap: 10px; padding: 26px;
    border: 1px solid var(--borde); border-radius: 22px; background: var(--superficie); }
.tarjeta-valor .icono--grande { color: var(--primario); }
.tarjeta-valor h3 { margin: 6px 0 0; font-size: 1.35rem; }
.tarjeta-valor p { margin: 0; color: var(--texto-suave); font-size: .9rem; }
.tarjeta-valor .enlace-flecha { margin-top: auto; padding-top: 10px; font-size: .85rem; font-weight: 800; }

.franja-taller { display: grid; gap: 30px; align-items: start; }
.franja-taller h2 { margin: .3rem 0 1rem; }
.franja-taller > div > p { max-width: 52ch; color: rgba(247,251,248,.78); }
.lista-taller { display: grid; gap: 9px; margin: 22px 0 26px; padding: 0; list-style: none; }
.lista-taller li { position: relative; padding-left: 26px; color: rgba(247,251,248,.9); font-size: .92rem; }
.lista-taller li::before { content: ""; position: absolute; left: 0; top: .45em; width: 13px; height: 7px;
    border-left: 2px solid var(--primario); border-bottom: 2px solid var(--primario); transform: rotate(-45deg); }
.boton--texto-claro { color: #fff; }
.franja-taller__prueba { padding: 28px; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: rgba(255,255,255,.06); }
.franja-taller__numero { margin: 0; font-size: 4.6rem; font-weight: 900; line-height: 1; letter-spacing: -.05em; color: var(--primario); }
.franja-taller__prueba p { margin: .5rem 0 1rem; color: #f7fbf8; font-size: 1.02rem; }
.franja-taller__prueba small { color: rgba(247,251,248,.6); font-size: .78rem; }

.segmentos { display: grid; grid-template-columns: repeat(auto-fit,minmax(275px,1fr)); gap: 16px; }
.segmento { display: flex; flex-direction: column; gap: 9px; padding: 26px; border: 1px solid var(--borde);
    border-radius: 22px; background: var(--superficie); transition: .18s; }
.segmento:hover { transform: translateY(-4px); border-color: var(--primario); box-shadow: var(--sombra-suave); }
.segmento h3 { margin: 0; font-size: 1.25rem; }
.segmento p { margin: 0; color: var(--texto-suave); font-size: .88rem; }
.segmento .enlace-flecha { margin-top: auto; padding-top: 10px; color: var(--primario); font-size: .84rem; font-weight: 800; }

@media (min-width: 760px) {
    .busqueda-portada__linea { grid-template-columns: 1fr auto; }
    .busqueda-portada .boton { width: auto; }
    .franja-taller { grid-template-columns: minmax(0,1.5fr) minmax(260px,.75fr); gap: 46px; }
}
/* Marcas de lista sin caracteres tipográficos prestados: un punto de color
   dice lo mismo que un dingbat y no depende de la fuente del navegador. */
.punto-dato, .beneficio__icono { display: block; width: 14px; height: 14px; border-radius: 5px; background: var(--primario); }
.beneficio__icono--azul { background: var(--secundario); }
.beneficio__icono--verde { background: var(--empresa); }
.beneficio__icono--oro { background: var(--oro); }
.beneficio__icono--violeta { background: #7a5cd6; }

/* Permisos en la portada. Clase propia y no `.privacidad`, que arrastra una
   grilla de tres columnas pensada para un sello que ya no existe. */
.permisos { display: grid; gap: 34px; align-items: start; }
.permisos__texto h2 { margin: .3rem 0 1rem; }
.permisos__texto > p { max-width: 50ch; color: var(--texto-suave); }
.permisos__lista { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none;
    border: 1px solid var(--borde); border-radius: 20px; background: var(--borde); overflow: hidden; }
.permisos__lista li { display: grid; gap: 4px; padding: 18px 22px; background: var(--superficie); }
.permisos__lista strong { font-size: .95rem; }
.permisos__lista span { color: var(--texto-suave); font-size: .84rem; }
.permisos__lista a { color: var(--secundario); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 860px) { .permisos { grid-template-columns: minmax(0,1fr) minmax(340px,.9fr); gap: 56px; } }

/* Explicación del precio de lanzamiento. Repetir la etiqueta en cada tarjeta no
   informaba nada: lo que faltaba era decir de qué lanzamiento se trata, hasta
   cuándo vale y qué pasa cuando cambie. */
.explica-lanzamiento { margin: 0 0 32px; padding: 26px clamp(20px,4vw,34px); border: 1px solid var(--oro);
    border-radius: 22px; background: #fffaef; }
.explica-lanzamiento h3 { margin: 0 0 18px; font-size: 1.3rem; }
.explica-lanzamiento__puntos { display: grid; gap: 18px; }
.explica-lanzamiento__puntos > div { display: grid; gap: 4px; }
.explica-lanzamiento strong { font-size: .92rem; }
.explica-lanzamiento span { color: var(--tinta-suave); font-size: .85rem; }
.resumen-taller__congelado { padding: 12px 14px; border-radius: 12px; background: #fffaef;
    color: var(--tinta-suave); font-size: .84rem; }
@media (min-width: 820px) { .explica-lanzamiento__puntos { grid-template-columns: repeat(3,1fr); gap: 28px; } }

/* Botón de soporte. Va arriba del de privacidad para no taparlo, y en el
   teléfono se encoge a solo el ícono: ocupar media pantalla con un botón
   flotante es peor soporte que no tenerlo. */
.boton-soporte { position: fixed; right: 16px; bottom: 74px; z-index: 40;
    display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px;
    border-radius: 999px; background: #128c7e; color: #fff; font-size: .86rem; font-weight: 800;
    box-shadow: 0 10px 28px rgba(18,140,126,.35); transition: .18s; }
.boton-soporte:hover { background: #0e6f64; transform: translateY(-2px); }
.boton-soporte svg { width: 20px; height: 20px; fill: none; stroke: currentColor;
    stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 560px) {
    .boton-soporte { right: 14px; bottom: 68px; padding: 13px; }
    .boton-soporte span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
}
/* Lo que la persona necesita saber justo antes de aprobar. No va escondido en
   los términos: va donde se toma la decisión. */
.antes-de-aprobar { display: grid; gap: 9px; margin: 14px 0 18px; padding: 0; list-style: none; }
.antes-de-aprobar li { position: relative; padding-left: 20px; color: var(--tinta-suave); font-size: .82rem; line-height: 1.5; }
.antes-de-aprobar li::before { content: ""; position: absolute; left: 3px; top: .55em;
    width: 6px; height: 6px; border-radius: 50%; background: var(--secundario); }
/* Redes en el pie. Íconos de trazo del mismo sistema que el resto: no se cargan
   logotipos de marca porque cada plataforma tiene sus propias reglas de uso. */
.pie__redes { display: flex; gap: 9px; flex-wrap: wrap; margin: 18px 0 0; padding: 0; list-style: none; }
.pie__redes a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px;
    border: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.78); transition: .18s; }
.pie__redes a:hover { border-color: #fff; background: rgba(255,255,255,.1); color: #fff; }
.pie__redes svg { width: 19px; height: 19px; fill: none; stroke: currentColor;
    stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* ===========================================================================
   Correcciones de portada.
   `.permisos` ya existía en esta hoja con otro significado, y su regla
   `.permisos div` convertía el bloque de texto en dos columnas: por eso el
   título aparecía corrido respecto de su propio párrafo. El bloque usa ahora
   un nombre propio.
   =========================================================================== */

.portada-heroe__grilla { display: grid; gap: 38px; align-items: center; }
.portada-heroe__texto h1 { max-width: 12ch; }

.busqueda-portada { display: grid; gap: 14px; max-width: none; padding: 28px;
    border: 2px solid var(--tinta); border-radius: 24px; background: var(--superficie);
    box-shadow: var(--sombra); }
.busqueda-portada__titulo { margin: 0; font-size: 1.45rem; font-weight: 850; letter-spacing: -.03em; }
.busqueda-portada__bajada { margin: -6px 0 0; color: var(--texto-suave); font-size: .88rem; }
.busqueda-portada__campo select { width: 100%; padding: 16px; border: 1px solid var(--borde);
    border-radius: 14px; background: var(--fondo); font-size: 1rem; }
.busqueda-portada .boton { width: 100%; justify-content: center; padding: 16px; font-size: 1rem; }
.busqueda-portada__tipos { display: flex; gap: 7px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.busqueda-portada__tipos li { padding: 6px 12px; border-radius: 999px; background: var(--superficie-suave);
    color: var(--tinta-suave); font-size: .74rem; font-weight: 750; }
.busqueda-portada__nota { margin: 0; color: var(--texto-suave); font-size: .8rem; }
.busqueda-portada__nota a { color: var(--secundario); text-decoration: underline; text-underline-offset: 3px; }

.control-permisos { display: grid; gap: 34px; align-items: start; }
/* El h2 global llega a 4,25rem, que en una columna angosta parte la frase en
   seis líneas. Dentro de este bloque se acota a algo que sí cabe. */
.control-permisos__texto h2 { margin: .4rem 0 1rem; font-size: clamp(1.9rem,3.2vw,2.9rem); max-width: 16ch; }
.control-permisos__texto > p { max-width: 46ch; margin: 0; color: var(--texto-suave); }
.control-permisos__lista { display: grid; gap: 1px; margin: 0; padding: 0; list-style: none;
    border: 1px solid var(--borde); border-radius: 20px; background: var(--borde); overflow: hidden; }
.control-permisos__lista li { display: grid; gap: 4px; padding: 18px 22px; background: var(--superficie); }
.control-permisos__lista strong { font-size: .95rem; }
.control-permisos__lista span { color: var(--texto-suave); font-size: .84rem; }
.control-permisos__lista a { color: var(--secundario); text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 900px) {
    .portada-heroe__grilla { grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr); gap: 60px; }
    .control-permisos { grid-template-columns: minmax(0,1fr) minmax(360px,.85fr); gap: 56px; align-items: center; }
}

/* ===== Mi garage =============================================================
   El portal parte mostrando los autos, no una tabla de números. El piso, la
   sombra y el leve levantar al pasar el cursor son lo que hace que se lea como
   un lugar y no como un listado. */
.icono-menu{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cabecera-portal nav a{display:inline-flex;align-items:center;gap:7px}
.cabecera-portal nav a[aria-current="page"] .icono-menu{stroke:var(--primario)}
.garage-cabecera{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:26px}
.garage-cabecera h1{margin:.3rem 0 0;font-size:clamp(1.95rem,4.4vw,2.9rem)}
.garage-cabecera p{max-width:640px;margin:.4rem 0 0;color:var(--texto-suave)}
.garage{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:18px;margin-bottom:30px}
.garage-puesto{display:flex;flex-direction:column;padding:16px 16px 18px;border:1px solid var(--borde);border-radius:22px;background:linear-gradient(180deg,#fff,#f7faf8);box-shadow:0 12px 32px rgba(16,39,35,.06);transition:transform .16s ease,box-shadow .16s ease}
.garage-puesto:hover,.garage-puesto:focus-visible{transform:translateY(-4px);box-shadow:0 20px 44px rgba(16,39,35,.13)}
.garage-puesto__auto{display:block;padding:4px 2px 2px}
.autito{width:100%;height:auto;display:block}
.autito__piso{fill:rgba(20,45,38,.1)}
.garage-puesto__ficha{display:flex;flex-direction:column;gap:2px;margin-top:6px}
.garage-puesto__ficha strong{font-size:1.05rem;line-height:1.25}
.garage-puesto__ficha small{color:var(--texto-suave);font-size:.76rem}
.garage-puesto__km{margin-top:5px;font-size:.78rem;font-weight:800;color:var(--primario)}
/* La patente se dibuja como una patente: es el dato que la gente reconoce de
   lejos y ayuda a distinguir dos autos del mismo modelo. */
.garage-patente{align-self:flex-start;margin-top:7px;padding:3px 9px;border:1.5px solid #2c3436;border-radius:5px;background:#f4f6f2;font-size:.72rem;font-weight:900;letter-spacing:.12em}
.garage-puesto--sumar{align-items:center;justify-content:center;gap:8px;border-style:dashed;background:rgba(255,255,255,.55);text-align:center}
.garage-puesto__mas{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e8f2ed;color:var(--primario);font-size:1.7rem;font-weight:800}
.garage-puesto--sumar .garage-puesto__ficha{align-items:center}
.garage-vacio{grid-column:1/-1;padding:34px 26px 38px;border:1px dashed #b8c8c1;border-radius:24px;background:rgba(255,255,255,.65);text-align:center}
.garage-vacio__auto{width:min(100%,240px);margin:0 auto 6px;opacity:.65}
.garage-vacio h2{margin:.2rem 0 .5rem}
.garage-vacio p{color:var(--texto-suave)}
.garage-cifras{display:flex;flex-wrap:wrap;gap:12px}
.garage-cifra{display:flex;align-items:baseline;gap:9px;padding:13px 17px;border:1px solid var(--borde);border-radius:14px;background:#fff}
.garage-cifra strong{font-size:1.4rem;font-weight:900}
.garage-cifra span{color:var(--texto-suave);font-size:.76rem;font-weight:750}
.garage-cifra:hover{border-color:var(--primario)}
/* Elegir el auto: carrocería y color. */
.elegir-avatar{display:grid;gap:16px}
.elegir-avatar__vista{display:grid;place-items:center;padding:10px;border-radius:18px;background:#f3f7f5}
.elegir-avatar__vista .autito{max-width:260px}
.elegir-avatar__opciones{display:flex;flex-wrap:wrap;gap:8px}
.elegir-avatar__opciones label{cursor:pointer}
.elegir-avatar__opciones input{position:absolute;opacity:0;width:0;height:0}
.elegir-avatar__opciones span{display:inline-flex;padding:8px 13px;border:1.5px solid var(--borde);border-radius:999px;background:#fff;font-size:.76rem;font-weight:800}
.elegir-avatar__opciones input:checked+span{border-color:var(--primario);color:var(--primario);background:#eaf5ef}
.elegir-avatar__opciones input:focus-visible+span{outline:2px solid var(--primario);outline-offset:2px}
.paleta{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.paleta label{cursor:pointer}
.paleta input{position:absolute;opacity:0;width:0;height:0}
.paleta__muestra{display:block;width:30px;height:30px;transition:transform .12s ease}
.paleta input:checked+.paleta__muestra{transform:scale(1.22)}
.paleta input:checked+.paleta__muestra circle:last-of-type{stroke:#16211f;stroke-width:3.5}
.paleta input:focus-visible+.paleta__muestra{outline:2px solid var(--primario);outline-offset:3px;border-radius:50%}
.paleta__libre{display:inline-flex;align-items:center;gap:8px;padding:5px 11px 5px 6px;border:1.5px dashed var(--borde);border-radius:999px;font-size:.74rem;font-weight:800}
.paleta__libre input[type="color"]{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
@media(max-width:620px){
  .garage{grid-template-columns:1fr 1fr;gap:12px}
  .garage-puesto{padding:11px 11px 13px;border-radius:17px}
  .garage-puesto__ficha strong{font-size:.9rem}
  .garage-cabecera{align-items:flex-start;flex-direction:column}
  .garage-cifra{flex:1 1 44%}
}
.panel-escolar__bajada{margin:.2rem 0 1rem;color:var(--texto-suave);font-size:.86rem}
.lista-escolar{display:grid;gap:9px;margin:0 0 1rem;padding:0;list-style:none}
.lista-escolar li{position:relative;padding-left:26px;font-size:.88rem;font-weight:750}
.lista-escolar li::before{content:"";position:absolute;left:0;top:5px;width:15px;height:15px;border-radius:50%;background:var(--primario) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 13 4 4 10-10'/%3E%3C/svg%3E") center/10px no-repeat}
.panel-escolar__pie{margin:0;color:var(--texto-suave);font-size:.78rem}
.garage-puesto__permiso{align-self:flex-start;margin-top:7px}
.registro-tengo-cuenta{margin:14px 0 0;text-align:center;font-size:.85rem;color:var(--texto-suave)}.registro-tengo-cuenta a{font-weight:800}

/* ===== Menú lateral del equipo ===============================================
   Las ocho secciones del área privada venían apretadas en una fila arriba, a
   0.76rem, y no había forma de saber en cuál estaba uno parado. Al costado caben
   con su nombre entero, se agrupan por el trabajo que resuelven y la abierta
   queda marcada. La columna es fija mientras el panel se desplaza, porque en
   estas pantallas se salta de una sección a otra todo el rato.

   En pantalla angosta no hay ancho para una columna permanente: el mismo menú se
   convierte en un cajón que entra por la izquierda sobre el contenido. Mientras
   está cerrado va con `visibility:hidden`, no solo corrido fuera de la pantalla,
   para que el tabulador no se meta en un menú que nadie ve. */
.cuerpo-equipo--con-menu{display:grid;grid-template-columns:248px minmax(0,1fr)}
.menu-equipo{position:sticky;top:0;display:flex;flex-direction:column;gap:18px;height:100vh;padding:20px 14px;background:#fff;border-right:1px solid #dce5e1;overflow-y:auto}
.menu-equipo__encabezado{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 8px}
.boton-cerrar-menu{display:none}
.menu-equipo nav{display:flex;flex-direction:column;gap:2px}
.menu-equipo__grupo{margin:16px 0 4px;padding:0 10px;color:#8a978f;font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.menu-equipo nav>.menu-equipo__grupo:first-child{margin-top:0}
.menu-equipo nav a{display:flex;align-items:center;gap:10px;padding:.5rem .65rem;border-radius:.65rem;color:#43544e;font-size:.82rem;font-weight:730}
.menu-equipo nav a:hover{background:#eef4f2;color:#17332d}
.menu-equipo nav a[aria-current="page"]{background:#fdeee9;color:var(--primario-oscuro)}
.menu-equipo nav a[aria-current="page"] .icono-menu{stroke:var(--primario)}
.menu-equipo__pie{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding:14px 10px 0;border-top:1px solid #e6ece9}
.menu-equipo__pie strong{display:block;font-size:.84rem;line-height:1.25}
.menu-equipo__pie small{color:#667670;font-size:.72rem;font-weight:700}
.menu-equipo__pie form{margin:0}

/* La barra con la hamburguesa y el velo solo existen en el teléfono. */
.barra-equipo,.velo-equipo{display:none}

@media(max-width:980px){
    .cuerpo-equipo--con-menu{display:block}
    .barra-equipo{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:.7rem 1rem;background:#fff;border-bottom:1px solid #dce5e1}
    .boton-menu-equipo{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid #dce5e1;border-radius:.7rem;background:#fff;color:#17332d;cursor:pointer}
    .boton-menu-equipo svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
    .menu-equipo{position:fixed;top:0;left:0;z-index:50;width:min(282px,84vw);height:100dvh;visibility:hidden;transform:translateX(-102%);border-right:0;box-shadow:0 24px 60px rgba(16,39,35,.24);transition:transform .22s ease,visibility .22s ease}
    .boton-cerrar-menu{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;padding:0;border:1px solid #dce5e1;border-radius:.6rem;background:#fff;color:#43544e;cursor:pointer}
    .boton-cerrar-menu svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
    .velo-equipo{display:block;position:fixed;inset:0;z-index:40;visibility:hidden;opacity:0;background:rgba(16,39,35,.45);transition:opacity .22s ease,visibility .22s ease}
    .menu-equipo-abierto{overflow:hidden}
    .menu-equipo-abierto .menu-equipo{visibility:visible;transform:none}
    .menu-equipo-abierto .velo-equipo{visibility:visible;opacity:1}
}

@media(prefers-reduced-motion:reduce){.menu-equipo,.velo-equipo{transition:none}}

/* ===== Panel de crecimiento ==================================================
   Tablas y gráficos del área privada. Las barras se dibujan en SVG con atributos
   de presentación porque la política de contenido declara `style-src 'self'`, y
   eso también bloquea los estilos escritos en el atributo `style`: una barra con
   el ancho en línea se vería bien en el escritorio de quien la escribió y en
   blanco en producción. */
.titulo-bloque{margin:0 0 .3rem;font-size:1.25rem}
.nota-bloque{margin:0 0 1.1rem;max-width:70ch;color:#667670;font-size:.8rem}
.par-graficos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}
.par-graficos figure{margin:0;padding:1.1rem 1.2rem 1rem;border-radius:1.2rem;background:#fff;box-shadow:0 10px 30px rgba(16,39,35,.06)}
.par-graficos figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.7rem;font-size:.8rem;font-weight:800}
.par-graficos figcaption small{color:#667670;font-weight:600}
.grafico-semanas{display:block;width:100%;height:130px}
.tabla-equipo{overflow-x:auto;border-radius:1.2rem;background:#fff;box-shadow:0 10px 30px rgba(16,39,35,.06)}
.tabla-equipo table{width:100%;border-collapse:collapse;font-size:.82rem}
.tabla-equipo caption{padding:1rem 1.1rem 0;color:#667670;font-size:.76rem;text-align:left}
.tabla-equipo th,.tabla-equipo td{padding:.7rem 1.1rem;text-align:left;border-bottom:1px solid #eef2f0}
.tabla-equipo thead th{color:#667670;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.tabla-equipo tbody th{font-weight:750}
.tabla-equipo tbody tr:last-child th,.tabla-equipo tbody tr:last-child td{border-bottom:0}
.tabla-equipo small{color:#667670;font-weight:600}
.tabla-equipo td:not(:first-child){white-space:nowrap}
.bolita-color{width:11px;height:11px;display:inline-block;margin-right:.4rem;vertical-align:-1px}

@media(max-width:860px){
    .par-graficos{grid-template-columns:1fr}
}

/* ===== Mapa del taller =======================================================
   El marco de Google se crea desde el guion al apretar el botón, así que acá
   solo se reserva el espacio y se da forma al aviso. Un iframe escondido con
   `display:none` no serviría: el navegador igual lo descarga, y con él se iría
   la visita a Google antes de que nadie la autorice. */
.seccion--mapa{padding-top:0}
.mapa-taller{position:relative;overflow:hidden;border:1px solid var(--borde);border-radius:var(--radio-pequeno);background:var(--superficie-suave)}
.mapa-taller__aviso{display:flex;flex-direction:column;gap:10px;align-items:flex-start;padding:28px}
.mapa-taller__aviso h2{margin:0;font-size:1.3rem}
.mapa-taller__aviso p{margin:0;color:var(--texto-suave);font-size:.88rem}
.mapa-taller__advertencia{max-width:62ch;font-size:.8rem}
.mapa-taller__acciones{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:6px}
.mapa-taller__marco{display:block;width:100%;height:clamp(260px,42vw,420px);border:0}
.mapa-taller--abierto .mapa-taller__aviso{padding-bottom:16px}

/* Clave del registro personal: el botón «Mostrar» va dentro del mismo campo
   para que en el teléfono quede al alcance del pulgar. */
.campo > label { font-size:.76rem; font-weight:750; }
.campo-clave { position:relative; }
.campo-clave input { padding-right:92px; }
.campo-clave__ver { position:absolute; top:2px; right:2px; bottom:2px; min-width:44px; padding:0 14px; border:0; border-radius:9px; background:transparent; color:var(--secundario); font:inherit; font-size:.8rem; font-weight:800; cursor:pointer; }
.campo-clave__ver:hover { background:var(--superficie-suave); }

/* Bienvenida al terminar el registro personal. Mobile first. */
.registro--listo { min-height:auto; padding:48px 0 64px; }
.registro-listo { max-width:560px; text-align:center; }
.registro-listo h1 { margin:10px 0 14px; font-size:clamp(2rem,8vw,2.8rem); }
.registro-listo__bajada { color:var(--texto-suave); }
.registro-listo__bajada strong { color:var(--tinta); }
.registro-listo__entrar { width:100%; margin:22px 0 26px; }
.registro-listo__correo { padding:18px; border:1px solid var(--borde); border-radius:18px; background:#fff; text-align:left; }
.registro-listo__correo p { margin:6px 0 0; color:var(--texto-suave); font-size:.86rem; }
@media (min-width:641px) { .registro--listo { padding:90px 0; } .registro-listo__correo { padding:22px 24px; } }

/* Patente y papeles del vehículo, en la ficha del portal. Mobile first: en el
   teléfono todo va en una columna y las acciones de cada papel quedan debajo,
   con objetivos de 44 px. */
.portal-etiqueta--error { color:#8c1d15; background:#ffe1dc; }
.formulario-patente { display:grid; gap:12px; }
.formulario-patente .boton { width:100%; }
.documento-fila { flex-wrap:wrap; }
.documento-fila__acciones { display:flex; gap:8px; width:100%; }
.documento-fila__acciones form { margin:0; }
.documento-fila__acciones .boton { min-height:44px; }
.formulario-documento { margin-top:18px; }
.solo-permiso { display:grid; gap:6px; margin:0; padding:14px; border:1px solid var(--borde); border-radius:14px; }
.solo-permiso[hidden], [data-campo-vencimiento][hidden] { display:none; }
@media (min-width:641px) {
    .formulario-patente { grid-template-columns:1fr 1fr auto; align-items:end; }
    .formulario-patente .boton { width:auto; }
    .documento-fila { flex-wrap:nowrap; }
    .documento-fila__acciones { width:auto; }
}

/* «Mostrar documentos» bajo cada tarjeta del listado de vehículos. */
.garage-grupo { display:flex; flex-direction:column; gap:8px; min-width:0; }
.garage-grupo > .garage-puesto { flex:1; }
.garage-grupo__papeles { display:flex; align-items:center; justify-content:center; gap:5px; min-height:44px; padding:0 8px; border:1px solid var(--borde); border-radius:999px; background:#fff; color:var(--tinta); font-size:.76rem; white-space:nowrap; font-weight:800; text-align:center; }
.garage-grupo__papeles:hover { border-color:var(--primario); color:var(--primario); }
.garage-grupo__papeles svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }

/* Papeles para fiscalización. Mobile first y de alto contraste: se muestra en
   la calle, a pleno sol, a alguien que no conoce la aplicación. */
.papeles { max-width:760px; margin:0 auto; }
.papeles__volver { margin:0 0 12px; font-size:.85rem; }
.papeles__cabecera { text-align:center; margin-bottom:18px; }
.papeles__cabecera .papeles__placa { display:inline-block; margin:0 0 12px; padding:8px 18px; border:3px solid #111; border-radius:10px; background:#fff; color:#111; font-size:clamp(2.2rem,11vw,3.4rem); font-weight:900; letter-spacing:.06em; line-height:1.1; }
.papeles__cabecera h1 { margin:0; font-size:clamp(1.3rem,5.5vw,1.9rem); }
.papeles__cabecera p { margin:4px 0 0; color:var(--texto-suave); }
.papeles__resumen { display:grid; gap:8px; margin:0 0 26px; padding:0; list-style:none; }
.papeles__resumen li > a, .papeles__resumen li > span { display:flex; flex-direction:column; gap:4px; padding:14px 16px; border:1px solid var(--borde); border-radius:14px; background:#fff; color:var(--tinta); }
.papeles__resumen strong { font-size:1rem; }
.papel-estado { align-self:flex-start; padding:4px 10px; border-radius:999px; font-size:.85rem; font-weight:800; }
.papel-estado--ok { color:#0c5a2a; background:#d9f5df; }
.papel-estado--aviso { color:#6b4e00; background:#fff0bd; }
.papel-estado--vencido { color:#8c1d15; background:#ffe1dc; }
.papel-estado--falta { color:#4a5754; background:#edf1ef; }
.papel { display:grid; gap:12px; margin-bottom:30px; padding-top:8px; border-top:1px solid var(--borde); scroll-margin-top:90px; }
.papel__cabecera { display:grid; gap:6px; justify-items:start; }
.papel__cabecera h2 { margin:8px 0 0; font-size:1.35rem; }
.papel__cabecera p { margin:0; color:var(--texto-suave); }
.papel__visor { overflow:hidden; border:1px solid var(--borde); border-radius:12px; background:#fff; }
.papel__visor img, .visor-pdf__pagina { display:block; width:100%; height:auto; }
.visor-pdf__pagina + .visor-pdf__pagina { border-top:1px solid var(--borde); }
.visor-pdf__cargando { margin:0; padding:40px 16px; color:var(--texto-suave); text-align:center; }
.papeles__nota { margin:10px 0 0; color:var(--texto-suave); font-size:.75rem; text-align:center; }
@media (min-width:641px) {
    .papeles__resumen { grid-template-columns:1fr 1fr; }
}
