  :root {
    --rojo: #E31E24;
    --rojo-osc: #B8151A;
    --oscuro: #202226;
    --gris-osc: #3F3F41;
    --gris: #5B5B5E;
    --gris-claro: #F1F2F4;
    --texto: #26282C;
    --texto-suave: #5F636B;
    --blanco: #FFFFFF;
    --radio: 14px;
    --ancho: 1180px;
  }
  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; scroll-padding-top: 76px; }
  body { font-family: "Inter", Arial, sans-serif; color: var(--texto); background: var(--blanco); line-height: 1.6; -webkit-font-smoothing: antialiased; }
  img { max-width: 100%; display: block; }
  a { color: inherit; text-decoration: none; }
  .contenedor { max-width: var(--ancho); margin: 0 auto; padding: 0 24px; }
  section { padding: 96px 0; }
  .etiqueta { color: var(--rojo); font-weight: 700; font-size: 13px; letter-spacing: .28em; text-transform: uppercase; margin-bottom: 12px; }
  h1, h2, h3 { line-height: 1.15; letter-spacing: -.01em; }
  h2 { font-size: clamp(28px, 4vw, 44px); font-weight: 800; margin-bottom: 20px; }
  .oscuro { background: var(--oscuro); color: var(--blanco); }
  .gris-osc { background: var(--gris-osc); color: var(--blanco); }
  .claro { background: var(--gris-claro); }
  .btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 26px; border-radius: 999px; font-weight: 600; font-size: 15px; transition: background .2s, transform .2s; }
  .btn-rojo { background: var(--rojo); color: var(--blanco); }
  .btn-rojo:hover { background: var(--rojo-osc); transform: translateY(-1px); }
  .btn-borde { border: 1.5px solid rgba(255,255,255,.5); color: var(--blanco); }
  .btn-borde:hover { background: rgba(255,255,255,.08); }

  /* Encabezado */
  header { position: sticky; top: 0; z-index: 50; background: var(--blanco); box-shadow: 0 1px 0 rgba(0,0,0,.08); }
  .nav { display: flex; align-items: center; justify-content: space-between; height: 72px; }
  .nav img { height: 44px; width: auto; }
  .nav ul { list-style: none; display: flex; gap: 28px; align-items: center; }
  .nav ul a { font-size: 15px; font-weight: 500; color: var(--texto); }
  .nav ul a:hover { color: var(--rojo); }
  .nav .btn { padding: 10px 20px; color: var(--blanco); }
  .menu-btn { display: none; background: none; border: 0; cursor: pointer; padding: 8px; }
  .menu-btn span { display: block; width: 24px; height: 2px; background: var(--texto); margin: 5px 0; }

  /* Portada */
  /* FOTO TEMPORAL (stock). Cambiar img/stock-portada.jpg por una foto propia de CORTECH. */
  .hero { padding: 110px 0 120px; background: linear-gradient(90deg, rgba(32,34,38,.96) 0%, rgba(32,34,38,.88) 45%, rgba(32,34,38,.72) 100%), url("../img/stock-portada.jpg") center / cover no-repeat, var(--oscuro); }
  .hero-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; align-items: center; }
  .hero h1 { font-size: clamp(36px, 5.4vw, 60px); font-weight: 800; margin-bottom: 22px; }
  .hero p { font-size: 19px; color: #C9CBD0; max-width: 520px; margin-bottom: 10px; }
  .hero .ciudad { color: var(--rojo); font-weight: 700; letter-spacing: .3em; font-size: 14px; margin-bottom: 36px; }
  .hero .acciones { display: flex; gap: 14px; flex-wrap: wrap; }
  .hero-lineas { display: grid; grid-template-columns: repeat(2, 1fr); gap: 34px 20px; }
  .hero-lineas a { text-align: center; font-size: 14px; color: #D5D7DB; }
  .hero-lineas img { width: 104px; height: 104px; border-radius: 50%; margin: 0 auto 10px; transition: transform .2s; }
  .hero-lineas a:hover img { transform: scale(1.06); }

  /* Nosotros */
  .nosotros-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; margin-top: 40px; }
  .tarjeta-mv { display: flex; gap: 22px; background: var(--gris-claro); color: var(--texto); border-radius: var(--radio); padding: 30px; margin-bottom: 24px; }
  .tarjeta-mv .circulo { flex: none; width: 64px; height: 64px; border-radius: 50%; background: var(--rojo); display: grid; place-items: center; }
  .tarjeta-mv h3 { font-size: 22px; margin-bottom: 8px; }
  .tarjeta-mv p { color: var(--texto-suave); }
  .politica h3 { font-size: 18px; letter-spacing: .04em; margin-bottom: 12px; }
  .politica p { color: #D8DADE; font-size: 17px; margin-bottom: 30px; }
  .iso { display: flex; align-items: center; gap: 20px; background: rgba(255,255,255,.06); border-radius: var(--radio); padding: 20px 24px; }
  .iso img { flex: none; width: 96px; height: 96px; border-radius: 50%; background: #fff; }
  .iso .iso-datos { display: block; color: #C9CBD0; font-size: 13.5px; line-height: 1.5; margin-top: 6px; }
  .iso-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 12px; }
  .iso-btn { display: inline-block; background: var(--rojo); color: #fff; font-weight: 700; font-size: 14.5px; padding: 9px 18px; border-radius: 999px; text-decoration: none; }
  .iso-btn:hover { filter: brightness(1.1); }
  .iso-link { color: #fff; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
  @media (max-width: 560px) { .iso { flex-direction: column; align-items: flex-start; } }
  .iso strong { display: block; font-size: 18px; }
  .iso span { color: #C9CBD0; font-size: 15px; }

  /* Quiénes somos */
  .quienes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
  .quienes-grid > div > p { font-size: 18px; color: var(--texto-suave); margin-bottom: 16px; }
  .quienes-grid strong { color: var(--texto); }
  .quienes-foto { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radio); margin-top: 28px; box-shadow: 0 2px 12px rgba(0,0,0,.08); }
  .beneficio { display: flex; align-items: center; gap: 22px; background: var(--blanco); border-radius: var(--radio); padding: 24px 28px; margin-bottom: 18px; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
  .beneficio .circulo { flex: none; width: 64px; height: 64px; border-radius: 50%; background: var(--rojo); display: grid; place-items: center; }
  .beneficio h3 { font-size: 20px; margin-bottom: 4px; }
  .beneficio p { color: var(--texto-suave); }

  /* Líneas */
  .lineas-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 44px; }
  .linea { background: var(--blanco); border-radius: var(--radio); padding: 0 30px 30px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.05); transition: box-shadow .2s, transform .2s; }
  .linea-foto { display: block; width: calc(100% + 60px); max-width: none; margin: 0 -30px; aspect-ratio: 5 / 2; object-fit: cover; }
  .linea-top { margin-top: -36px; position: relative; }
  .linea-top img { border: 4px solid var(--blanco); box-sizing: content-box; }
  .linea-top h3 { padding-top: 36px; }
  .linea:hover { box-shadow: 0 10px 30px rgba(0,0,0,.1); transform: translateY(-3px); }
  .linea-top { display: flex; align-items: center; gap: 18px; margin-bottom: 14px; }
  .linea-top img { width: 72px; height: 72px; border-radius: 50%; flex: none; }
  .linea h3 { font-size: 22px; }
  .linea .lema { font-style: italic; color: var(--texto-suave); margin-bottom: 18px; }
  .chips { display: flex; flex-wrap: wrap; gap: 8px; }
  .linea { display: flex; flex-direction: column; }
  .linea .chips { margin-bottom: 22px; }
  .btn-cat { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 18px; border: 1.5px solid var(--rojo); color: var(--rojo); border-radius: 999px; font-weight: 600; font-size: 14px; transition: background .2s, color .2s; }
  .btn-cat:hover { background: var(--rojo); color: var(--blanco); }
  .btn-cat svg { width: 16px; height: 16px; flex: none; }
  .btn-cat small { font-weight: 500; opacity: .75; }
  .descargas { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 8px; }
  .descarga { flex: 1 1 320px; display: flex; align-items: center; gap: 18px; background: var(--oscuro); color: var(--blanco); border-radius: var(--radio); padding: 20px 24px; transition: transform .2s; }
  .descarga:hover { transform: translateY(-2px); }
  .descarga .circulo { flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--rojo); display: grid; place-items: center; }
  .descarga strong { display: block; font-size: 17px; }
  .descarga span { font-size: 14px; color: #C9CBD0; }
  .chips span { background: var(--gris); color: var(--blanco); font-size: 13px; font-weight: 600; padding: 6px 14px; border-radius: 999px; }

  /* Por qué */
  .porque-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 44px; }
  .porque { background: var(--gris-claro); color: var(--texto); border-radius: var(--radio); padding: 30px 24px; }
  .porque img { width: 72px; height: 72px; border-radius: 50%; margin-bottom: 22px; }
  .porque h3 { font-size: 20px; margin-bottom: 10px; }
  .porque p { font-size: 15px; color: var(--texto-suave); }

  /* Marcas */
  .marcas { text-align: center; }
  .marcas img { margin: 40px auto 28px; width: 100%; max-width: 1100px; }
  .marcas .mas { display: inline-block; background: var(--gris); color: var(--blanco); font-weight: 700; padding: 12px 30px; border-radius: 10px; }

  /* Contacto */
  .contacto-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
  .contacto h2 { font-size: clamp(32px, 4.6vw, 52px); }
  .contacto .intro { color: #C9CBD0; font-size: 18px; margin-bottom: 32px; }
  .dato { display: flex; align-items: center; gap: 20px; margin-bottom: 22px; font-size: 18px; }
  .dato img { width: 60px; height: 60px; border-radius: 50%; flex: none; }
  .dato a:hover { color: var(--rojo); }
  .redes { display: flex; gap: 14px; margin-top: 34px; align-items: center; flex-wrap: wrap; }
  .redes .txt { color: #C9CBD0; font-size: 15px; margin-right: 6px; }
  .redes a { width: 48px; height: 48px; border-radius: 50%; background: var(--rojo); display: grid; place-items: center; transition: background .2s, transform .2s; }
  .redes a:hover { background: var(--rojo-osc); transform: translateY(-2px); }
  .redes svg { width: 22px; height: 22px; fill: #fff; }
  footer .redes-pie { display: flex; gap: 18px; }
  footer .redes-pie a:hover { color: var(--blanco); }
  .mapa { border-radius: var(--radio); overflow: hidden; height: 100%; min-height: 360px; }
  .mapa iframe { width: 100%; height: 100%; min-height: 360px; border: 0; filter: grayscale(.3); }

  footer { background: #16171A; color: #8C9097; font-size: 14px; padding: 28px 0; }
  footer .contenedor { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

  /* ===== NUEVO: Selector de idioma ===== */
  .nav ul { margin-left: auto; }
  .idioma { display: flex; gap: 4px; margin-left: 22px; background: var(--gris-claro); border-radius: 999px; padding: 4px; }
  .idioma button { display: flex; align-items: center; gap: 6px; border: 0; background: none; cursor: pointer; font: 600 13px "Inter", Arial, sans-serif; color: var(--texto-suave); padding: 6px 10px; border-radius: 999px; transition: background .2s, color .2s; }
  .idioma button svg { width: 22px; height: 15px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.12); flex: none; }
  .idioma button[aria-pressed="true"] { background: var(--blanco); color: var(--texto); box-shadow: 0 1px 4px rgba(0,0,0,.12); }
  .idioma button:hover { color: var(--texto); }

  /* ===== NUEVO: Banner de marcas en movimiento ===== */
  .cx-marcas { background: #fff; border-bottom: 1px solid #E4E5E8; overflow: hidden; position: relative; padding: 14px 0; }
  .cx-marcas::before, .cx-marcas::after { content: ""; position: absolute; top: 0; bottom: 0; width: 70px; z-index: 2; pointer-events: none; }
  .cx-marcas::before { left: 0; background: linear-gradient(90deg, #fff, rgba(255,255,255,0)); }
  .cx-marcas::after { right: 0; background: linear-gradient(270deg, #fff, rgba(255,255,255,0)); }
  .cx-pista { display: flex; width: max-content; animation: cx-mover 45s linear infinite; }
  .cx-marcas:hover .cx-pista { animation-play-state: paused; }
  .cx-grupo { display: flex; align-items: center; gap: 56px; padding-right: 56px; }
  .cx-logo { display: block; flex: none; background-image: url(../img/marcas.png); background-repeat: no-repeat; }
  @keyframes cx-mover { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  @media (prefers-reduced-motion: reduce) { .cx-pista { animation: none; } }

  /* ===== NUEVO: Formulario de contacto ===== */
  .form-contacto { background: var(--blanco); color: var(--texto); border-radius: var(--radio); padding: 40px; margin-top: 64px; max-width: 760px; }
  .form-contacto h3 { font-size: 30px; font-weight: 800; margin-bottom: 26px; }
  .form-contacto label.campo, .form-contacto legend { display: block; font-weight: 600; font-size: 16px; margin-bottom: 8px; }
  .form-fila { display: grid; grid-template-columns: 1fr 1fr; column-gap: 18px; }
  @media (max-width: 600px) { .form-fila { grid-template-columns: 1fr; } }
  .form-contacto input[type=email], .form-contacto input[type=text]:not(.oculto), .form-contacto input[type=tel], .form-contacto textarea { width: 100%; font: 400 16px "Inter", Arial, sans-serif; color: var(--texto); border: 1px solid #D5D7DB; border-radius: 8px; padding: 12px 14px; margin-bottom: 22px; background: #fff; }
  .form-contacto textarea { min-height: 150px; resize: vertical; }
  .form-contacto input:focus, .form-contacto textarea:focus { outline: 2px solid var(--rojo); outline-offset: 1px; border-color: transparent; }
  .form-contacto fieldset { border: 0; margin-bottom: 22px; }
  .form-contacto .opcion { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--texto-suave); margin: 6px 0; cursor: pointer; }
  .form-contacto .opcion input { width: 18px; height: 18px; accent-color: var(--rojo); }
  .form-contacto .enviar { width: 100%; border: 0; cursor: pointer; background: var(--rojo); color: #fff; font: 600 17px "Inter", Arial, sans-serif; padding: 15px; border-radius: 8px; transition: background .2s; }
  .form-contacto .enviar:hover { background: var(--rojo-osc); }
  .form-contacto .oculto { position: absolute; left: -9999px; }
  .form-gracias { display: none; background: #E8F6EC; color: #1E6B35; border-radius: 8px; padding: 14px 16px; margin-bottom: 22px; font-weight: 600; }
  .form-gracias.visible { display: block; }

  @media (max-width: 860px) {
    .idioma { margin-left: auto; order: 1; }
    .menu-btn { order: 2; margin-left: 6px; }
    .idioma button { padding: 6px 8px; }
  }
  @media (max-width: 600px) {
    .cx-marcas { padding: 10px 0; }
    .cx-grupo { gap: 36px; padding-right: 36px; }
    .cx-logo { zoom: .8; }
    .form-contacto { padding: 26px 20px; }
    .form-contacto h3 { font-size: 24px; }
  }

  @media (max-width: 1024px) {
    .porque-grid { grid-template-columns: repeat(3, 1fr); }
    .lineas-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 860px) {
    section { padding: 72px 0; }
    .hero { padding: 72px 0 80px; }
    .hero-grid, .nosotros-grid, .quienes-grid, .contacto-grid { grid-template-columns: 1fr; gap: 44px; }
    .hero-lineas { grid-template-columns: repeat(3, 1fr); }
    .hero-lineas img { width: 84px; height: 84px; }
    .menu-btn { display: block; }
    .nav ul { display: none; position: absolute; top: 72px; left: 0; right: 0; flex-direction: column; gap: 0; background: var(--blanco); box-shadow: 0 8px 20px rgba(0,0,0,.1); padding: 8px 0 16px; }
    .nav ul.abierto { display: flex; }
    .nav ul li { width: 100%; text-align: center; }
    .nav ul a { display: block; padding: 12px; }
  }
  @media (max-width: 600px) {
    .contenedor { padding: 0 16px; }
    .lineas-grid { grid-template-columns: 1fr; }
    .porque-grid { grid-template-columns: 1fr 1fr; }
    .hero-lineas { grid-template-columns: repeat(2, 1fr); }
    .tarjeta-mv { flex-direction: column; }
    .dato { font-size: 16px; }
  }

  /* ===== Selector de idioma con enlaces ===== */
  .idioma a { display: flex; align-items: center; gap: 6px; font: 600 13px "Inter", Arial, sans-serif; color: var(--texto-suave); padding: 6px 10px; border-radius: 999px; transition: background .2s, color .2s; }
  .idioma a svg { width: 22px; height: 15px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.12); flex: none; }
  .idioma a[aria-current="true"] { background: var(--blanco); color: var(--texto); box-shadow: 0 1px 4px rgba(0,0,0,.12); }
  .idioma a:hover { color: var(--texto); }
  @media (max-width: 860px) { .idioma a { padding: 6px 8px; } }
  /* ===== Menú: nunca partir textos en dos renglones; hamburguesa desde 1140 px (antes 860) ===== */
  .nav > a { flex: none; }
  .nav ul a { white-space: nowrap; }
  @media (max-width: 1280px) and (min-width: 1141px) { .nav ul { gap: 18px; } .nav ul a { font-size: 14.5px; } .idioma { margin-left: 14px; } }
  @media (max-width: 1140px) {
    .idioma { margin-left: auto; order: 1; }
    .menu-btn { display: block; order: 2; margin-left: 6px; }
    .nav ul { display: none; position: absolute; top: 72px; left: 0; right: 0; flex-direction: column; gap: 0; margin-left: 0; background: var(--blanco); box-shadow: 0 8px 20px rgba(0,0,0,.1); padding: 8px 0 16px; }
    .nav ul.abierto { display: flex; }
    .nav ul li { width: 100%; text-align: center; }
    .nav ul a { display: block; padding: 12px; }
  }
  /* ===== Guía: equivalencias de grados Ingersoll ===== */
  .xr-intro { max-width: 840px; }
  .xr-intro p { font-size: 17px; color: var(--texto-suave); margin-bottom: 14px; }
  .xr-intro strong { color: var(--texto); }
  .xr-intro h2 { font-size: 28px; margin: 36px 0 14px; }
  .xr-intro a, .xr-nada a { color: var(--rojo); font-weight: 600; }
  .xr-buscar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 22px 0 16px; }
  .xr-buscar label { font-weight: 700; }
  .xr-buscar input { flex: 1 1 260px; max-width: 380px; font: 500 16px "Inter", Arial, sans-serif; padding: 12px 16px; border: 1.5px solid #D5D7DB; border-radius: 999px; outline: none; }
  .xr-buscar input:focus { border-color: var(--rojo); }
  .xr-scroll { border-radius: var(--radio); box-shadow: 0 2px 12px rgba(0,0,0,.05); }
  .xr-t { width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; font-size: 13.5px; }
  .xr-t th, .xr-t td { padding: 8px 7px; border-bottom: 1px solid #E8EAED; text-align: center; vertical-align: middle; white-space: nowrap; }
  .xr-t thead th { background: var(--oscuro); color: #fff; font-size: 14px; font-weight: 700; }
  .xr-t thead th small { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #FFB3B5; }
  .xr-t thead th.xr-ing { background: var(--rojo); }
  .xr-t thead th.xr-ing small { color: #fff; }
  .xr-t td span { display: block; line-height: 1.5; }
  .xr-t td.xr-ing { background: #FFF1F1; font-weight: 700; color: var(--texto); }
  .xr-t td.xr-surt { background: #FAFAFB; font-weight: 600; }
  .xr-t td.xr-vacio { color: #C3C6CB; }
  .xr-t tr.xr-g1 > * { border-top: 2px solid #C9CDD3; }
  .xr-t .xr-iso { position: sticky; left: 0; z-index: 1; background: #fff; text-align: left; min-width: 138px; box-shadow: 1px 0 0 #E8EAED; }
  .xr-t thead .xr-iso { background: var(--oscuro); z-index: 2; }
  .xr-t tbody .xr-iso strong { display: inline-block; vertical-align: middle; font-size: 13.5px; }
  .xr-t tbody .xr-iso small { display: block; font-size: 11.5px; font-weight: 500; color: var(--texto-suave); margin-top: 2px; }
  .xr-letra { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 6px; font-weight: 800; font-size: 14px; margin-right: 8px; vertical-align: middle; }
  .xr-t .xr-hit { background: #FFE27A; border-radius: 4px; padding: 0 4px; }
  .xr-nada { margin: 14px 0; padding: 14px 18px; background: #FFF6D6; border-radius: var(--radio); }
  .xr-ley { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 6px; font-size: 13.5px; color: var(--texto-suave); }
  .xr-ley i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
  /* Guía grados ISCAR por operación */
  .io-h2 { font-size: 28px; margin: 40px 0 14px; }
  .io-sub, .io-nota { color: var(--texto-suave); font-size: 15px; margin: 0 0 16px; max-width: 840px; }
  .io-nota { font-size: 13.5px; margin-top: 8px; }
  .io-scroll { border-radius: var(--radio); box-shadow: 0 2px 12px rgba(0,0,0,.05); }
  .io-t { width: 100%; min-width: 980px; border-collapse: separate; border-spacing: 0; background: #fff; font-size: 13.5px; table-layout: fixed; }
  .io-t th, .io-t td { padding: 10px 8px; border-bottom: 1px solid #E8EAED; border-left: 1px solid #F0F1F3; vertical-align: top; text-align: left; }
  .io-t thead th { background: var(--oscuro); color: #fff; text-align: center; vertical-align: bottom; font-size: 14px; }
  .io-t thead th .op-ic { width: 58px; height: 46px; margin-bottom: 6px; }
  .io-t thead th span { display: block; }
  .io-t .io-sit { width: 170px; position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 0 #E8EAED; }
  .io-t thead .io-sit { background: var(--oscuro); z-index: 2; text-align: left; }
  .io-t tbody .io-sit strong { vertical-align: middle; font-size: 14px; }
  .io-t tbody .io-sit small { display: block; font-size: 11.5px; font-weight: 500; color: var(--texto-suave); margin-top: 3px; }
  .io-t tbody tr:nth-child(even) td { background: #FAFAFB; }
  .io-g { display: inline-flex; flex-direction: column; align-items: flex-start; margin: 0 6px 6px 0; vertical-align: top; border-radius: 6px; }
  .io-g small { font-size: 10.5px; line-height: 1.25; color: var(--texto-suave); margin-top: 2px; max-width: 92px; }
  .io-c { display: inline-block; min-width: 14px; min-height: 14px; padding: 2px 7px; border-radius: 5px; font-size: 12.5px; font-weight: 700; line-height: 1.4; font-style: normal; }
  .io-pvd { background: #2B2F36; color: #fff; }
  .io-cvd { background: var(--rojo); color: #fff; }
  .io-sin { background: #fff; color: var(--texto); box-shadow: inset 0 0 0 1.5px #9AA0A8; }
  .io-cer { background: #F5C518; color: #26282C; }
  .io-cera { background: #6E4AA8; color: #fff; }
  .io-sd { background: #0E8A7E; color: #fff; }
  .io-nd { background: #C9CDD3; color: #26282C; }
  .io-vacio { color: #A8ADB4; font-size: 12.5px; font-style: italic; }
  .io-g.io-hit { box-shadow: 0 0 0 3px #FFE27A; background: #FFE27A; }
  .io-ley { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 14px 0 0; font-size: 13.5px; color: var(--texto-suave); }
  .io-ley .io-c { padding: 0; width: 14px; height: 14px; margin-right: 6px; vertical-align: -2px; }
  .io-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
  .io-tab { font: 600 14.5px "Inter", Arial, sans-serif; padding: 9px 16px; border-radius: 999px; border: 1.5px solid #D5D7DB; background: #fff; color: var(--texto); cursor: pointer; }
  .io-tab:hover { border-color: var(--rojo); }
  .io-tab.on { background: var(--rojo); border-color: var(--rojo); color: #fff; }
  .io-qs { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
  .io-q { position: relative; background: #fff; border-radius: var(--radio); padding: 20px 20px 18px 22px; box-shadow: 0 2px 12px rgba(0,0,0,.05); border-left: 4px solid var(--rojo); }
  .io-q[hidden] { display: none; }
  .io-op { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rojo); margin-bottom: 6px; }
  .io-q h3 { font-size: 17px; line-height: 1.3; margin: 0 0 8px; }
  .io-q p { font-size: 15px; color: var(--texto-suave); margin: 0; }
  .io-k { color: var(--texto); font-weight: 700; white-space: nowrap; }
  .io-k.io-hit { background: #FFE27A; border-radius: 4px; padding: 0 3px; }
  .io-bs { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
  .io-b { display: flex; gap: 14px; align-items: flex-start; background: #fff; border-radius: var(--radio); padding: 18px; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
  .io-b > .io-c { flex: none; width: 52px; text-align: center; padding: 8px 0; font-size: 13px; }
  .io-b h3 { font-size: 16px; margin: 0 0 4px; }
  .io-b p { font-size: 14.5px; color: var(--texto-suave); margin: 0; }
  @media (max-width: 700px) {
    .io-t { min-width: 700px; font-size: 12.5px; }
    .io-t th, .io-t td { padding: 8px 6px; }
    .io-t .io-sit { width: 104px; }
    .io-t tbody .io-sit strong { font-size: 12.5px; display: block; margin-top: 4px; }
    .io-t tbody .io-sit small { font-size: 10.5px; }
    .io-t .xr-letra { width: 20px; height: 20px; font-size: 12px; }
    .io-t thead th .op-ic { width: 44px; height: 35px; }
    .io-t thead th { font-size: 12.5px; }
    .io-c { font-size: 11.5px; padding: 2px 5px; }
    .io-g { margin: 0 4px 5px 0; }
    .io-g small { max-width: 80px; font-size: 10px; }
    .io-h2 { font-size: 24px; }
  }
  /* ===== v2: páginas internas ===== */
  .nav ul a.activo { color: var(--rojo); }
  .pagina-hero { padding: 72px 0 64px; }
  .migas { font-size: 14px; color: #9AA0A8; margin-bottom: 18px; }
  .migas a:hover { color: #fff; }
  .pagina-hero h1 { font-size: clamp(32px, 4.6vw, 50px); font-weight: 800; margin-bottom: 18px; }
  .pagina-hero p { color: #C9CBD0; font-size: 19px; max-width: 780px; }
  .pagina-hero .acciones { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 30px; }
  .contenido { padding: 72px 0; }
  .contenido h2 { font-size: clamp(26px, 3.2vw, 36px); }
  .tipos-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 28px; }
  .tipo { background: var(--blanco); border-radius: var(--radio); padding: 26px 28px; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
  .tipo h3 { font-size: 20px; margin-bottom: 8px; }
  .tipo p { color: var(--texto-suave); }
  .marcas-linea { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
  .marcas-linea a { background: var(--oscuro); color: #fff; padding: 9px 18px; border-radius: 999px; font-weight: 600; font-size: 14px; transition: background .2s; }
  .marcas-linea a:hover { background: var(--rojo); }
  .nota { margin-top: 32px; font-size: 17px; color: var(--texto-suave); max-width: 820px; }
  .nota a, .texto-largo a { color: var(--rojo); font-weight: 600; }
  .texto-largo { max-width: 840px; }
  .texto-largo h2 { font-size: 28px; margin: 40px 0 14px; }
  .texto-largo p { font-size: 17px; color: var(--texto-suave); margin-bottom: 14px; }
  .texto-largo strong { color: var(--texto); }
  .tabla { width: 100%; border-collapse: collapse; margin: 14px 0 26px; font-size: 15px; background: #fff; }
  .tabla th, .tabla td { border: 1px solid #DDE0E4; padding: 10px 12px; text-align: left; vertical-align: top; }
  .tabla th { background: var(--gris-claro); }
  .tabla-scroll { overflow-x: auto; }
  .tabla-chica { font-size: 13.5px; }
  .tabla-chica th, .tabla-chica td { padding: 8px 9px; white-space: nowrap; }
  .mapa-caja { background: #fff; border-radius: var(--radio); padding: 18px; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
  .mapa-rv { width: 100%; height: auto; font-family: "Inter", Arial, sans-serif; }
  .pie-fig { font-size: 14px !important; margin-top: 10px; }
  .rv { position: relative; padding-top: 22px; }
  .rv-cod { display: inline-block; background: var(--rojo); color: #fff; font-weight: 800; font-size: 18px; padding: 4px 14px; border-radius: 8px; margin-bottom: 12px; }
  .rv-grados { font-size: 14px; margin-top: 10px; }
  .pulgadas { margin: 6px 0 22px; }
  .pulgadas summary { cursor: pointer; font-weight: 600; color: var(--rojo); margin-bottom: 10px; }
  .fuente { font-size: 14px !important; border-top: 1px solid #DDE0E4; padding-top: 16px; margin-top: 30px; }
  .texto-largo .tipos-grid { margin-bottom: 10px; }
  /* ===== Guía tablero tabloide ===== */
  .spread-barra { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 22px; }
  .spread-barra p { color: var(--texto-suave); font-size: 17px; margin: 0; max-width: 760px; }
  .spread-barra .btn { border: 0; cursor: pointer; font-family: inherit; }
  .tablero { width: 1600px; background: #fff; border-radius: 10px; box-shadow: 0 6px 30px rgba(0,0,0,.08); padding: 18px 22px 12px; color: var(--texto); }
  .tb-cab { display: flex; align-items: center; gap: 18px; border-bottom: 3px solid var(--rojo); padding-bottom: 8px; margin-bottom: 12px; }
  .tb-cab img { height: 38px; width: auto; }
  .tb-cab h2 { font-size: 28px; font-weight: 700; letter-spacing: .02em; margin: 0; }
  .tb-cab .der { margin-left: auto; }
  .tb-cab small { font-size: 13px; color: var(--rojo); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-left: 8px; }
  .tb-fila { display: flex; gap: 12px; align-items: stretch; }
  .tc { display: flex; flex-direction: column; border: 1px solid #DDE0E4; border-radius: 6px; overflow: hidden; background: #fff; }
  .tc-cu { padding: 6px 7px; flex: 1; }
  .tc-tab { background: var(--oscuro); color: #fff; font-weight: 700; font-size: 14px; padding: 5px 9px; display: flex; align-items: center; gap: 7px; }
  .tc-sub { background: var(--gris-osc); color: #fff; font-weight: 700; font-size: 13px; padding: 4px 8px; display: flex; align-items: center; gap: 6px; margin: 8px -7px 5px; }
  .tc .num { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--rojo); color: #fff; font-size: 12px; font-weight: 800; }
  section.tc { padding: 0; }
  .tc .num:empty { display: none; }
  .tc h4 { font-size: 12.5px; margin: 2px 0 4px; }
  .tt { width: 100%; border-collapse: collapse; font-size: 11.5px; line-height: 1.25; }
  .tt th { background: var(--gris-claro); color: var(--texto); font-weight: 700; padding: 3px 5px; text-align: left; border: 1px solid #fff; }
  .tt td { padding: 2.5px 5px; border-bottom: 1px solid #ECEDEF; vertical-align: middle; }
  .tt td:first-child { background: #F7F7F8; text-align: center; }
  .tt b { color: var(--texto); font-size: 12.5px; }
  .tn { font-size: 10.5px; color: var(--texto-suave); margin: 5px 0 0; line-height: 1.35; }
  .forma { width: 19px; height: 19px; display: block; }
  .forma polygon, .forma circle, .nota-svg .cuerpo, .mano .cuerpo, .secc .cuerpo { fill: #DDE0E4; stroke: var(--gris); stroke-width: 1.4; }
  .secc { width: 46px; height: 16px; display: block; }
  .secc .hueco { fill: #fff; stroke: var(--gris); stroke-width: 1; }
  .nota-svg { width: 100%; max-width: 250px; max-height: 110px; height: auto; margin: 6px auto 0; display: block; }
  .nota-svg text { font-size: 11px; fill: var(--texto); font-weight: 700; }
  .nota-svg .peq { font-weight: 400; fill: var(--texto-suave); font-size: 10px; }
  .nota-svg .cota { stroke: var(--texto); stroke-width: 1; }
  .nota-svg .circ { fill: none; stroke: var(--texto-suave); stroke-dasharray: 3 2; }
  .manos { display: flex; justify-content: space-around; margin-top: 6px; }
  .manos div { text-align: center; font-size: 10.5px; font-weight: 600; }
  .mano { width: 46px; height: 40px; display: block; margin: 0 auto 2px; }
  .mano .cb { fill: none; stroke: var(--oscuro); stroke-width: 2; }
  .tb-banda { display: grid; grid-template-columns: 90px auto; justify-content: center; align-items: center; column-gap: 10px; row-gap: 4px; margin: 12px 0; position: relative; }
  .bl { font-size: 12px; color: var(--texto-suave); text-align: right; line-height: 1.2; }
  .bg { display: grid; grid-template-columns: repeat(9, 104px) 150px; gap: 4px 8px; }
  .bn { justify-self: center; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--rojo); color: #fff; font-size: 12px; font-weight: 800; }
  .bx { display: grid; place-items: center; height: 74px; background: var(--gris-claro); color: var(--oscuro); font-size: 60px; font-weight: 800; border-radius: 4px; border-top: 6px solid var(--gris-osc); letter-spacing: -.02em; }
  .bx-v { background: transparent; border-top: 0; }
  .bx-op { background: #fff; border: 2px dashed var(--gris); border-top: 6px solid var(--gris-osc); }
  .bop { position: absolute; right: 0; bottom: 4px; font-size: 11px; color: var(--texto-suave); }
  .tb-pie { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: var(--texto-suave); border-top: 1px solid #E4E5E8; margin-top: 10px; padding-top: 6px; }
  .tt-long { font-size: 10.5px; }
  .tt-long th, .tt-long td { padding: 2px 3px; text-align: center; }
  .tt-long th.c { text-align: center; }
  .tt-long th.c .forma { margin: 0 auto; width: 16px; height: 16px; }
  .tt-long th.c span { display: block; font-size: 10px; }
  .tt-long td:first-child { background: transparent; }
  .tt-long td:nth-child(4n+1), .tt-long td:nth-child(4n+2) { background: #F7F7F8; }
  .tt-long td.v { color: #B8BBC1; }
  .tt-long td.icc { background: var(--gris-claro) !important; font-weight: 700; }
  .tt-rv { font-size: 10.5px; }
  .tt-rv td { padding: 2px 4px; }
  .tt-rv td:nth-child(3) { background: #F7F7F8; text-align: center; white-space: nowrap; }
  .tt-rv td:first-child { white-space: nowrap; }
  .spread-art .fuente { font-size: 13px; color: var(--texto-suave); margin-top: 18px; }
  @media print {
    @page tabloide { size: 17in 11in; margin: 6mm; }
    @page tabloidev { size: 11in 17in; margin: 8mm; }
    .tablero { page: tabloide; }
    .tablero-iscar { page: tabloidev; zoom: .78 !important; }
    body:has(.tablero) > header, body:has(.tablero) .cx-marcas, body:has(.tablero) .pagina-hero, body:has(.tablero) .cta-banda,
    body:has(.tablero) footer, body:has(.tablero) .wa-flotante, body:has(.tablero) .spread-barra { display: none !important; }
    body:has(.tablero) .contenido { padding: 0; background: #fff; }
    body:has(.tablero) .contenedor { max-width: none; padding: 0; }
    .tablero { box-shadow: none; border-radius: 0; zoom: .9; }
    .tablero-iso { zoom: .82; }
    .tablero * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  }
  /* ===== TABLA-MACHUELOS ===== */
  .tbm-lead { background: #fff; border-left: 4px solid var(--rojo); border-radius: 8px; padding: 16px 20px; font-size: 17px !important; color: var(--texto) !important; }
  .tbm-ej { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 18px 0 30px; }
  .tbm-ej div { background: #fff; border-radius: 10px; padding: 14px; box-shadow: 0 2px 10px rgba(0,0,0,.05); }
  .tbm-ej span { display: block; font-weight: 800; color: var(--texto); }
  .tbm-ej small { display: block; color: var(--texto-suave); font-size: 13px; }
  .tbm-ej b { display: block; font-size: 22px; color: var(--rojo); margin-top: 6px; }
  .tbm-tabla { background: #fff; border-radius: 12px; padding: 18px; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
  .tbm-ctrl { display: flex; gap: 12px; justify-content: space-between; flex-wrap: wrap; margin-bottom: 12px; }
  .tbm-tabs { display: inline-flex; background: var(--gris-claro); border-radius: 999px; padding: 4px; gap: 4px; }
  .tbm-tabs button { border: 0; background: none; font: 700 14px "Inter", Arial, sans-serif; color: var(--texto-suave); padding: 8px 18px; border-radius: 999px; cursor: pointer; }
  .tbm-tabs button[aria-selected="true"] { background: var(--oscuro); color: #fff; }
  #tbm-q { flex: 1 1 260px; max-width: 380px; font: 15px "Inter", Arial, sans-serif; border: 1px solid #D5D7DB; border-radius: 999px; padding: 9px 16px; }
  #tbm-q:focus { outline: 2px solid var(--rojo); border-color: transparent; }
  .tbm-t thead th { background: var(--oscuro); color: #fff; position: sticky; top: 0; }
  .tbm-t tbody tr:nth-child(even) td { background: #F7F7F8; }
  .tbm-t td.br { font-weight: 800; color: var(--rojo); }
  .tbm-n { font-size: 13px !important; color: var(--texto-suave); margin: 8px 0 0 !important; }
  .tbm-vacio { font-weight: 600; color: var(--rojo); }
  .tbm-faq { background: #fff; border-radius: 8px; padding: 12px 16px; margin-bottom: 8px; }
  .tbm-faq summary { cursor: pointer; font-weight: 700; color: var(--texto); }
  .tbm-faq p { margin: 8px 0 0 !important; }
  .texto-largo .tbm, .tbm { max-width: none; }
  @media (max-width: 860px) { .tbm-ej { grid-template-columns: repeat(2, 1fr); } }
  /* ===== BROCAS-ANGULO ===== */
  .br-conc { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 16px 0 10px; }
  .br-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
  .br-card { display: flex; gap: 14px; background: #fff; border-radius: 12px; padding: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05); border-top: 4px solid var(--oscuro); }
  .br-card h3 { font-size: 17px; margin: 0 0 8px; }
  .br-card p { font-size: 14px !important; margin: 8px 0 0 !important; }
  .br-svg { width: 96px; height: 112px; flex: none; }
  .br-cu { fill: #C9CCD1; stroke: #5B5B5E; stroke-width: 1.2; }
  .br-fl { stroke: #8E9196; stroke-width: 2; }
  .br-sp { stroke: #3F3F41; stroke-width: 1.5; fill: none; }
  .br-ln { stroke: var(--oscuro); stroke-width: 1; fill: none; stroke-dasharray: 3 2; }
  .br-arc { stroke: var(--rojo); stroke-width: 2; fill: none; }
  .br-tx { font: 800 15px "Inter", Arial, sans-serif; fill: var(--rojo); }
  .br-lado { width: 100%; max-width: 260px; display: block; margin: 4px 0; }
  .br-dat { display: flex; gap: 8px; }
  .br-dat span { background: var(--gris-claro); border-radius: 8px; padding: 5px 10px; }
  .br-dat small { display: block; font-size: 11px; color: var(--texto-suave); }
  .br-dat b { font-size: 17px; color: var(--rojo); }
  .br-inf { display: grid; grid-template-columns: 96px 1fr; gap: 3px 10px; margin: 10px 0 0; font-size: 13px; border-top: 1px solid #E4E5E8; padding-top: 8px; }
  .br-inf dt { font-weight: 700; color: var(--texto); }
  .br-inf dd { margin: 0; color: var(--texto-suave); }
  .br-sub { font-size: 13px !important; color: var(--rojo) !important; font-weight: 600; margin: -4px 0 6px !important; }
  .br-apl { grid-template-columns: repeat(3, 1fr); }
  @media (max-width: 960px) { .br-apl { grid-template-columns: 1fr 1fr; } }
  .br-res thead th { background: var(--oscuro); color: #fff; }
  .br-guia .tipo h3 { margin-top: 0; }
  @media (max-width: 760px) { .br-conc, .br-grid { grid-template-columns: 1fr; } }
  @media print {
    body:has(.br-guia) > header, body:has(.br-guia) .cx-marcas, body:has(.br-guia) .cta-banda, body:has(.br-guia) footer,
    body:has(.br-guia) .wa-flotante, body:has(.br-guia) .spread-barra { display: none !important; }
    .br-card { break-inside: avoid; box-shadow: none; border: 1px solid #DDE0E4; }
    .br-guia * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  }
  /* ===== FRACCIONES ===== */
  .tablero-fr .tt-fr { font-size: 11.5px; }
  .tablero-fr .tt-fr td { padding: 1.5px 6px; text-align: center; }
  .tablero-fr .tt-fr td:first-child { text-align: left; }
  .tablero-fr .tt-fr tr.fq td { background: #E4E5E8 !important; font-weight: 700; }
  .tablero-fr .tc-tab { justify-content: center; min-height: 34px; white-space: nowrap; font-size: 13.5px; }
  .fr-form { margin-top: 10px; background: var(--gris-claro); border-radius: 6px; padding: 8px 9px; font-size: 11px; line-height: 1.35; }
  .fr-form h4 { margin: 0 0 4px; font-size: 12px; color: var(--rojo); }
  .fr-form p { margin: 0 0 3px; color: var(--texto); }
  .fr-conv { background: #fff; border-radius: 12px; padding: 14px 18px; margin-bottom: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05); display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
  .fr-conv label { font-weight: 700; display: flex; gap: 10px; align-items: center; flex: 1 1 340px; }
  .fr-conv input { flex: 1; font: 16px "Inter", Arial, sans-serif; border: 1px solid #D5D7DB; border-radius: 999px; padding: 9px 16px; }
  .fr-conv input:focus { outline: 2px solid var(--rojo); border-color: transparent; }
  #fr-out { flex: 2 1 380px; color: var(--texto-suave); }
  #fr-out b { color: var(--rojo); }
  @media print { .fr-conv { display: none !important; } }
  /* ===== ANSI-ISO ===== */
  .ai-chips { display: flex; flex-wrap: wrap; gap: 6px; }
  .ai-chips button { border: 0; background: var(--gris-claro); color: var(--texto-suave); font: 700 13px "Inter", Arial, sans-serif; padding: 7px 13px; border-radius: 999px; cursor: pointer; }
  .ai-chips button[aria-pressed="true"] { background: var(--oscuro); color: #fff; }
  .ai-q { flex: 1 1 240px; max-width: 340px; font: 15px "Inter", Arial, sans-serif; border: 1px solid #D5D7DB; border-radius: 999px; padding: 9px 16px; }
  .ai-q:focus { outline: 2px solid var(--rojo); border-color: transparent; }
  .ai-t thead th { background: var(--oscuro); color: #fff; text-align: center; }
  .ai-t thead tr.ai-sub th { background: var(--gris-osc); font-size: 12px; padding: 4px 8px; }
  .ai-t td { text-align: center; }
  .ai-t td:first-child, .ai-t td:nth-child(2) { text-align: left; }
  .ai-t tr.ai-g td { background: var(--gris-claro) !important; color: var(--texto); font-weight: 800; text-align: left; border-left: 4px solid var(--rojo); }
  .ai-iso { color: var(--rojo); }
  .ai-esq { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 10px 0 24px; }
  .ai-esq figure { margin: 0; background: #fff; border-radius: 12px; padding: 14px; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
  .ai-esq svg { width: 100%; height: auto; display: block; background: var(--gris-claro); border-radius: 8px; }
  .ai-esq figcaption { font-size: 14px; color: var(--texto-suave); margin-top: 10px; line-height: 1.5; }
  .ai-esq figcaption > b:first-child { display: block; color: var(--texto); font-size: 16px; margin-bottom: 4px; }
  .ai-esq strong { color: var(--texto); }
  .ai-ins { fill: #C9CCD1; stroke: #5B5B5E; stroke-width: 1.5; stroke-linejoin: round; }
  .ai-ic { fill: none; stroke: var(--oscuro); stroke-width: 1.5; stroke-dasharray: 5 4; }
  .ai-hole { fill: #fff; stroke: #5B5B5E; stroke-width: 1.2; }
  .ai-dim { stroke: var(--rojo); stroke-width: 2; }
  .ai-ar { fill: var(--rojo); }
  .ai-ext { stroke: #8E9196; stroke-width: 1; stroke-dasharray: 3 2; }
  .ai-re { fill: none; stroke: var(--rojo); stroke-width: 4; }
  .ai-ctr { fill: var(--rojo); }
  .ai-lb { font: 800 11px "Inter", Arial, sans-serif; fill: #fff; text-anchor: middle; }
  .ai-lbb { fill: var(--rojo); }
  .ai-lb2 { font: 800 16px "Inter", Arial, sans-serif; fill: var(--rojo); }
  .ai-lb3 { font: 600 11px "Inter", Arial, sans-serif; fill: var(--texto-suave); }
  .ai-l { color: var(--rojo); }
  @media (max-width: 860px) { .ai-esq { grid-template-columns: 1fr; } }
  /* ===== FRESAS ===== */
  .em-pbox { background: #fff; border-radius: 12px; padding: 16px 18px; box-shadow: 0 2px 12px rgba(0,0,0,.05); }
  .em-pbox p { font-size: 14px; color: var(--texto-suave); margin: 8px 0 0; }
  .em-partes { width: 100%; height: auto; background: var(--gris-claro); border-radius: 8px; }
  .em-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 14px; }
  .em-card { display: flex; gap: 14px; background: #fff; border-radius: 12px; padding: 16px; box-shadow: 0 2px 12px rgba(0,0,0,.05); border-top: 4px solid var(--oscuro); }
  .em-card h3 { font-size: 17px; margin: 0 0 6px; }
  .em-card p { font-size: 14px; margin: 0 0 5px; color: var(--texto-suave); }
  .em-card p b { color: var(--texto); }
  .em-card .em-v b { color: #1E7D3A; } .em-card .em-c b { color: var(--rojo); }
  .em-svg { width: 62px; height: 150px; flex: none; background: var(--gris-claro); border-radius: 8px; }
  .em-sh { fill: #C9CCD1; stroke: #5B5B5E; stroke-width: 1.2; }
  .em-fl { fill: #9AA0A8; stroke: #3F3F41; stroke-width: 1.2; stroke-linejoin: round; }
  .em-hx { stroke: #E4E5E8; stroke-width: 1.6; }
  .em-ed { stroke: var(--rojo); stroke-width: 3; fill: none; stroke-linecap: round; }
  .em-ang { stroke: var(--rojo); stroke-width: 2; fill: none; }
  .em-dim { stroke: var(--rojo); stroke-width: 1.6; }
  .em-ext { stroke: #8E9196; stroke-width: 1; stroke-dasharray: 3 2; }
  .em-tx { font: 700 12px "Inter", Arial, sans-serif; fill: var(--texto); }
  .em-t thead th { background: var(--oscuro); color: #fff; }
  @media (max-width: 860px) { .em-grid { grid-template-columns: 1fr; } }
  @media print {
    body:has(.em-guia) > header, body:has(.em-guia) .cx-marcas, body:has(.em-guia) .cta-banda, body:has(.em-guia) footer,
    body:has(.em-guia) .wa-flotante, body:has(.em-guia) .spread-barra { display: none !important; }
    .em-card { break-inside: avoid; box-shadow: none; border: 1px solid #DDE0E4; }
    .em-guia * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  }
  /* ===== ZOOM ===== */
  .zoom-bar { display: inline-flex; align-items: center; gap: 4px; background: var(--gris-claro); border-radius: 999px; padding: 4px; }
  .zoom-bar button { border: 0; background: #fff; color: var(--texto); font: 700 15px "Inter", Arial, sans-serif; min-width: 36px; height: 34px; padding: 0 10px; border-radius: 999px; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.1); }
  .zoom-bar button:hover { color: var(--rojo); }
  .zoom-bar span { min-width: 52px; text-align: center; font-weight: 700; font-size: 14px; }
  .spread-barra .acc { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
  .tablero-wrap { overflow: auto !important; max-height: 82vh; background: #E9EBEE; border-radius: 12px; padding: 12px; overscroll-behavior: contain; }
  .tablero-wrap .tablero { margin: 0 auto; }
  @media print { .tablero-wrap { overflow: visible !important; max-height: none; padding: 0; background: none; } }
  /* ===== ISCAR-POSTER ===== */
  .tablero-iscar { width: 1240px; }
  .is-ley { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
  .ley-i { display: inline-flex; align-items: center; gap: 8px; background: var(--gris-claro); border-radius: 999px; padding: 5px 14px; font-size: 12.5px; color: var(--texto-suave); }
  .ley-i b { color: var(--texto); }
  .is-grid { display: grid; grid-template-columns: 1fr 292px; gap: 14px; align-items: start; }
  .is-t { width: 100%; border-collapse: separate; border-spacing: 3px; table-layout: fixed; }
  .is-t thead th { background: var(--oscuro); color: #fff; font-size: 11.5px; font-weight: 700; padding: 6px 3px 7px; text-align: center; border-radius: 6px; line-height: 1.2; vertical-align: bottom; }
  .is-t thead th.mat-h { width: 104px; vertical-align: middle; font-size: 13px; }
  .is-t thead th span { display: block; margin-top: 4px; }
  .op-ic { width: 76px; height: 61px; display: block; margin: 0 auto; }
  .op-ic .bgi { fill: #fff; stroke: #C9CCD1; }
  .op-ic .pz { fill: #C9D3DC; stroke: #8E9AA6; stroke-width: .8; }
  .op-ic .hr { fill: #3F3F41; }
  .op-ic .ct { fill: #F2C200; stroke: #8A6D00; stroke-width: .6; }
  .op-ic .ln { stroke: #8E9196; stroke-width: 1.5; fill: none; }
  .op-ic .rl { stroke: var(--rojo); stroke-width: 2.5; fill: none; stroke-linejoin: round; }
  .op-ic .ar { stroke: var(--rojo); stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }
  .is-t th.mat { border-radius: 8px; padding: 10px 4px; text-align: center; vertical-align: middle; }
  .mb { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto; border-radius: 10px; font-size: 32px; font-weight: 800; }
  .is-t th.mat strong { display: block; font-size: 13.5px; margin-top: 8px; color: var(--texto); }
  .is-t th.mat small { display: block; font-size: 11px; color: var(--texto-suave); font-weight: 500; margin-top: 4px; line-height: 1.3; }
  .is-t td { border-radius: 6px; vertical-align: top; padding: 0; }
  .gl { display: flex; flex-direction: column; align-items: stretch; height: 100%; padding: 4px 0 4px; position: relative; }
  .gl::before, .gl::after { content: ""; position: absolute; top: 18px; bottom: 18px; width: 2px; background: linear-gradient(var(--rojo), var(--rojo)); opacity: .55; }
  .gl::before { left: 5px; } .gl::after { right: 5px; }
  .gl em { font-style: normal; font-size: 10px; font-weight: 700; color: var(--rojo); text-transform: uppercase; letter-spacing: .08em; text-align: center; }
  .gl em:last-child { margin-top: auto; }
  .gi { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 4px 12px 6px; }
  .gi span { display: block; width: 100%; text-align: center; font-size: 12.5px; color: var(--texto); padding: 1px 2px; border-radius: 3px; white-space: nowrap; }
  .pc { background: var(--oscuro) !important; color: #fff !important; font-weight: 700; padding: 1px 6px; border-radius: 3px; }
  .is-app { border: 1px solid #DDE0E4; border-radius: 8px; overflow: hidden; }
  .is-app .tc-tab { display: block; text-align: center; font-size: 14px; padding: 8px; line-height: 1.25; }
  .is-app .tc-tab small { font-weight: 500; opacity: .8; }
  .is-a { font-size: 11.5px; }
  .is-a th { text-align: center !important; }
  .is-a td { text-align: center; padding: 2.5px 4px !important; }
  .is-a td:first-child { background: transparent !important; text-align: left; }
  .is-a tr.sec td { background: var(--gris-osc) !important; color: #fff; font-weight: 700; text-align: left; padding: 4px 8px !important; font-size: 11.5px; }
  .chs { white-space: nowrap; }
  .ch { display: inline-grid; place-items: center; width: 16px; height: 16px; border-radius: 4px; font-style: normal; font-size: 10px; font-weight: 800; margin: 0 .5px; }
  .ch-off { background: #E9EAEC; }
  /* ===== Guía grupos de materiales ===== */
  .mg-hoja { background: #fff; border-radius: 10px; box-shadow: 0 6px 30px rgba(0,0,0,.08); padding: 22px 26px 12px; max-width: 1100px; }
  .mg-tabla { width: 100%; border-collapse: collapse; font-size: 15px; }
  .mg-tabla th { background: var(--oscuro); color: #fff; text-align: left; padding: 10px 12px; font-size: 14px; }
  .mg-tabla td { padding: 12px; border-bottom: 1px solid #E4E5E8; vertical-align: middle; color: var(--texto-suave); }
  .mg-tabla tr:nth-child(odd) td { background: #F7F7F8; }
  .mg-tabla strong { color: var(--texto); font-size: 16px; }
  .mg-s { width: 72px; }
  .mg-b { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 8px; font-size: 30px; font-weight: 800; }
  .mg-m { width: 170px; }
  .mg-e { width: 200px; color: var(--texto) !important; font-weight: 600; font-size: 14px; }
  .mg-t { width: 250px; font-size: 14px; }
  .mg-info { display: flex; gap: 14px; align-items: center; background: var(--gris-claro); border-radius: 10px; padding: 14px 18px; margin-top: 18px; }
  .mg-info span { flex: none; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--oscuro); color: #fff; font-weight: 800; font-style: italic; font-family: Georgia, serif; font-size: 18px; }
  .mg-info p { margin: 0; font-size: 15px; color: var(--texto); }
  .mg-info a { color: var(--rojo); font-weight: 600; }
  .mg-nota { font-size: 12.5px; color: var(--texto-suave); margin: 12px 0 0; }
  @media (max-width: 760px) { .mg-tabla { min-width: 760px; } .mg-hoja { padding: 16px; } }
  @media print {
    @page { margin: 10mm; }
    body:has(.mat-guia) > header, body:has(.mat-guia) .cx-marcas, body:has(.mat-guia) .pagina-hero, body:has(.mat-guia) .cta-banda,
    body:has(.mat-guia) footer, body:has(.mat-guia) .wa-flotante, body:has(.mat-guia) .spread-barra { display: none !important; }
    body:has(.mat-guia) .contenido { padding: 0; background: #fff; }
    body:has(.mat-guia) .contenedor { padding: 0; }
    .mg-hoja { box-shadow: none; max-width: none; padding: 0; }
    .mat-guia * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  }
  .cta-banda { background: var(--rojo); color: #fff; padding: 56px 0; }
  .cta-banda .contenedor { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
  .cta-banda h2 { font-size: clamp(24px, 3vw, 34px); margin: 0; }
  .cta-banda p { color: #FFE3E4; margin-top: 6px; }
  .btn-blanco { background: #fff; color: var(--rojo); }
  .btn-blanco:hover { background: #F3F3F3; }
  .ver-linea { display: inline-block; font-weight: 600; color: var(--rojo); margin-bottom: 14px; }
  .ver-linea:hover { text-decoration: underline; }
  .linea h3 a:hover { color: var(--rojo); }
  /* Celular: "Nuestras líneas" compacta (ícono + nombre en 2 columnas; el detalle está en la página de cada línea) */
  @media (max-width: 600px) {
    #lineas .lineas-grid { grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
    #lineas .linea { position: relative; padding: 18px 10px 16px; align-items: center; text-align: center; }
    #lineas .linea-foto, #lineas .linea .lema, #lineas .linea .chips, #lineas .linea .ver-linea, #lineas .linea .btn-cat { display: none; }
    #lineas .linea-top { position: static; flex-direction: column; gap: 10px; margin: 0; }
    #lineas .linea-top img { width: 64px; height: 64px; border: 0; }
    #lineas .linea-top h3 { padding-top: 0; font-size: 16px; line-height: 1.25; }
    #lineas .linea h3 a::after { content: ""; position: absolute; inset: 0; }
    #lineas .linea h3::after { content: "Ver productos →"; display: block; margin-top: 6px; font-size: 12.5px; font-weight: 600; color: var(--rojo); }
    #lineas .descargas { margin-top: 18px; }
  }
  @media (max-width: 600px) { html[lang="en"] #lineas .linea h3::after { content: "See products →"; } }
  .marcas-texto { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 1000px; margin: 0 auto 28px; }
  .marcas-texto a { border: 1.5px solid #D5D7DB; padding: 8px 16px; border-radius: 999px; font-weight: 600; font-size: 14px; transition: border-color .2s, color .2s; }
  .marcas-texto a:hover { border-color: var(--rojo); color: var(--rojo); }
  .industrias-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 36px; }
  .intro-ind { font-size: 18px; color: var(--texto-suave); max-width: 760px; }
  /* Tarjeta híbrida: ícono rojo + foto de fondo opcional muy tenue (--velo) + ícono grande de marca de agua (--marca) */
  .industria { --velo: .86; position: relative; overflow: hidden; min-height: 200px; background-color: var(--blanco); background-image: linear-gradient(rgba(255,255,255,var(--velo)), rgba(255,255,255,calc(var(--velo) + .06))), var(--foto, none); background-size: cover; background-position: center; border-radius: var(--radio); padding: 22px 22px 20px; box-shadow: 0 2px 12px rgba(0,0,0,.05); border-top: 4px solid var(--rojo); transition: transform .2s, box-shadow .2s; }
  .industria::after { content: ""; position: absolute; right: -18px; bottom: -18px; width: 120px; height: 120px; background: var(--marca) center / contain no-repeat; opacity: .06; pointer-events: none; }
  .industria:hover { --velo: .78; transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0,0,0,.1); }
  .industria-ico { width: 46px; height: 46px; border-radius: 10px; display: grid; place-items: center; background: rgba(227,30,36,.1); color: var(--rojo); margin-bottom: 14px; }
  .industria-ico svg { width: 24px; height: 24px; }
  .industria h3 { position: relative; font-size: 17px; line-height: 1.25; margin-bottom: 8px; }
  .industria p { position: relative; color: var(--texto-suave); font-size: 14.5px; line-height: 1.55; }
  .marcas-lista { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 28px; }
  .marca-bloque { background: var(--blanco); border-radius: var(--radio); padding: 26px 28px; box-shadow: 0 2px 12px rgba(0,0,0,.05); scroll-margin-top: 150px; }
  .marca-bloque { display: flex; flex-direction: column; }
  .marca-bloque .marca-logo { margin-bottom: 14px; }
  .marca-pie { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
  .marca-pie h2 { font-size: 22px; margin: 0 0 0 auto; }
  .marca-bloque p { color: var(--texto-suave); margin-bottom: 14px; }
  .marca-bloque .lineas-de { display: flex; flex-wrap: wrap; gap: 8px; }
  .marca-bloque .lineas-de a { background: var(--gris-claro); padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; }
  .marca-bloque .lineas-de a:hover { color: var(--rojo); }
  .guias-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-top: 28px; }
  .guia { display: block; background: var(--blanco); border-radius: var(--radio); padding: 28px 30px; box-shadow: 0 2px 12px rgba(0,0,0,.05); transition: box-shadow .2s, transform .2s; }
  .guia:hover { box-shadow: 0 10px 30px rgba(0,0,0,.1); transform: translateY(-3px); }
  .guia h3 { font-size: 21px; margin-bottom: 10px; }
  .guia p { color: var(--texto-suave); margin-bottom: 14px; }
  .guia span { color: var(--rojo); font-weight: 600; }
  .guias-grupo { grid-column: 1 / -1; font-size: 15px !important; text-transform: uppercase; letter-spacing: .12em; color: var(--rojo); margin: 22px 0 -4px !important; display: flex; align-items: center; gap: 12px; }
  .guias-grupo::after { content: ""; flex: 1; height: 1px; background: #DDE0E4; }
  .guias-grid > .guias-grupo:first-child { margin-top: 0 !important; }
  .guia-full { grid-column: 1 / -1; }
  .guia-c { display: flex; gap: 20px; align-items: flex-start; }
  .guia-ico { flex: none; width: 76px; height: 76px; border-radius: 14px; background: var(--oscuro); display: grid; place-items: center; box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); transition: background .2s, box-shadow .2s; }
  .guia-ico svg { width: 58px; height: 58px; }
  .guia-ico .gi-p { fill: #F5C518; stroke: #FFE27A; stroke-width: 1.5; stroke-linejoin: round; }
  .guia-ico .gi-g { fill: #7FA3C7; stroke: #B9D2EA; }
  .guia-ico .gi-d { fill: #FF4D4D; }
  .guia-ico .gi-h { fill: var(--oscuro); stroke: #FFE27A; stroke-width: 1.5; }
  .guia-ico .gi-s { stroke: #9A7400; stroke-width: 2; fill: none; }
  .guia-ico .gi-r { stroke: #FF4D4D; stroke-width: 3; fill: none; stroke-linecap: round; stroke-linejoin: round; }
  .guia-ico .gi-t { font: 800 11px "Inter", Arial, sans-serif; fill: #FF6B6B; text-anchor: middle; }
  .guia-ico .gi-l { font: 800 12px "Inter", Arial, sans-serif; fill: #fff; text-anchor: middle; }
  .guia-ico .gi-hole { fill: var(--oscuro); }
  .guia:hover .guia-ico { background: #2B2D33; box-shadow: inset 0 0 0 2px var(--rojo); }
  .wa-flotante { position: fixed; right: 20px; bottom: 20px; width: 60px; height: 60px; border-radius: 50%; background: #25D366; display: grid; place-items: center; box-shadow: 0 6px 18px rgba(0,0,0,.25); z-index: 60; transition: transform .2s; }
  .wa-flotante:hover { transform: scale(1.07); }
  .wa-flotante svg { width: 32px; height: 32px; fill: #fff; }
  @media (max-width: 860px) {
    .tipos-grid, .marcas-lista, .guias-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 1024px) and (min-width: 861px) {
    .industrias-grid { grid-template-columns: repeat(3, 1fr); }
    .industrias-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 600px) {
    .industrias-grid { grid-template-columns: 1fr; }
    .wa-flotante { right: 14px; bottom: 14px; width: 54px; height: 54px; }
  }

/* ===== Portada: cifras, cotización, pagos y preguntas frecuentes ===== */
.cifras{background:var(--rojo);color:#fff;padding:26px 0}
.cifras-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;text-align:center}
.cifra strong{display:block;white-space:nowrap;font-size:clamp(24px,3vw,34px);font-weight:800;line-height:1.1}
.cifra span{display:block;font-size:13.5px;line-height:1.35;opacity:.92;margin-top:4px}
@media(max-width:760px){.cifras-grid{grid-template-columns:repeat(2,1fr);row-gap:18px}.cifra:last-child{grid-column:1/-1}}
.cotiza .sub{color:var(--texto-suave);max-width:720px;margin-bottom:26px}
.cot-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:-1px;position:relative}
.cot-tab{font:600 15px "Inter",Arial,sans-serif;padding:12px 18px;border:1px solid #D5D7DB;border-bottom:none;border-radius:10px 10px 0 0;background:#E6E7EA;color:var(--texto);cursor:pointer}
.cot-tab[aria-selected=true]{background:#fff;color:var(--rojo)}
.cot-panel{background:#fff;border:1px solid #D5D7DB;border-radius:0 var(--radio) var(--radio) var(--radio);padding:28px}
.cot-panel[hidden]{display:none}
.cot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 18px}
.cot-panel label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
.cot-panel select,.cot-panel input,.cot-panel textarea{width:100%;font:400 16px "Inter",Arial,sans-serif;color:var(--texto);border:1px solid #D5D7DB;border-radius:8px;padding:11px 12px;background:#fff}
.cot-panel textarea{min-height:150px;resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:15px}
.cot-panel select:focus,.cot-panel input:focus,.cot-panel textarea:focus{outline:2px solid var(--rojo);outline-offset:1px;border-color:transparent}
.cot-msg{margin:20px 0 16px;background:#F1F2F4;border-left:4px solid var(--rojo);border-radius:8px;padding:12px 14px;font-size:15px;white-space:pre-wrap}
.cot-msg b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-suave);margin-bottom:4px}
.cot-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn-wa{background:#1FA855;color:#fff}.btn-wa:hover{background:#178A45}
.btn-gris{background:#fff;color:var(--texto);border:1px solid #C9CBD0}
.cot-nota{font-size:13.5px;color:var(--texto-suave);margin-top:12px}
@media(max-width:860px){.cot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cot-grid{grid-template-columns:1fr 1fr;gap:12px 10px}.cot-grid>div:nth-child(n+5){grid-column:1/-1}.cot-panel select{padding:10px 8px;font-size:15px}.cot-panel{padding:20px 16px}.cot-tab{flex:1;padding:11px 10px;font-size:14px}}
.pagos{margin-top:30px}
.pagos .txt{display:block;color:#C9CBD0;font-size:13px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px}
.pagos-chips{display:flex;flex-wrap:wrap;gap:8px}
.pagos-chips span{border:1px solid #55585E;border-radius:999px;padding:6px 12px;font-size:14px;color:#E4E5E8}
.faq-lista{max-width:860px}
.faq-lista details{background:#fff;border:1px solid #DCDEE2;border-radius:10px;margin-bottom:10px}
.faq-lista summary{cursor:pointer;font-weight:700;padding:16px 46px 16px 18px;position:relative;list-style:none}
.faq-lista summary::-webkit-details-marker{display:none}
.faq-lista summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--rojo);font-weight:600}
.faq-lista details[open] summary::after{content:"−"}
.faq-lista details p{padding:0 18px 16px;color:var(--texto-suave)}
.faq-lista a{color:var(--rojo);font-weight:600}

/* ===== Buscador de productos ===== */
#menu .ico-bus{vertical-align:-4px}
#menu a:has(.ico-bus){display:inline-flex;align-items:center;gap:8px}
@media(min-width:1141px){#menu .ico-bus+span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
.bus-caja{display:flex;gap:10px;margin-top:26px;max-width:820px}
.bus-caja input{flex:1;min-width:0;font:500 18px "Inter",Arial,sans-serif;padding:16px 18px;border-radius:12px;border:2px solid transparent;background:#fff;color:var(--texto)}
.bus-caja input:focus{outline:none;border-color:var(--rojo)}
.bus-caja button{border:0;cursor:pointer;font-family:inherit}
.bus-ayuda{color:#9AA0A8!important;font-size:14.5px!important;margin-top:12px}
.bus-ayuda b{color:#C9CBD0;font-weight:600}
.bus-marcas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.bus-marcas button{font:600 14px "Inter",Arial,sans-serif;border:1px solid #D5D7DB;background:#fff;border-radius:999px;padding:7px 13px;cursor:pointer;color:var(--texto)}
.bus-marcas button small{color:var(--texto-suave);font-weight:500;margin-left:4px}
.bus-marcas button[aria-pressed=true]{background:var(--rojo);border-color:var(--rojo);color:#fff}
.bus-marcas button[aria-pressed=true] small{color:#fff;opacity:.85}
.bus-estado{color:var(--texto-suave);font-size:15px;margin:6px 0 16px;min-height:22px}
.bus-res{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.bus-item{background:#fff;border:1px solid #DCDEE2;border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.bus-item h3{font-size:17px;font-weight:700;line-height:1.35;word-break:break-word}
.bus-item h3 mark{background:#FFE3E4;color:inherit;border-radius:3px;padding:0 1px}
.bus-meta{font-size:13.5px;color:var(--texto-suave)}
.bus-meta b{color:var(--texto);font-weight:600}
.bus-acc{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.bus-acc a,.bus-acc button{font:600 14px "Inter",Arial,sans-serif;border-radius:999px;padding:8px 14px;cursor:pointer;border:1px solid transparent}
.bus-wa{background:#1FA855;color:#fff}.bus-wa:hover{background:#178A45}
.bus-add{background:#fff;border-color:#C9CBD0!important;color:var(--texto)}
.bus-add.en-lista{background:#F1F2F4;color:var(--texto-suave)}
.bus-vacio{background:#fff;border:1px dashed #C9CBD0;border-radius:14px;padding:28px;text-align:center;grid-column:1/-1}
.bus-vacio h3{font-size:20px;margin-bottom:6px}
.bus-vacio p{color:var(--texto-suave);margin-bottom:16px}
.bus-mas{grid-column:1/-1;text-align:center;color:var(--texto-suave);font-size:14.5px;padding:8px}
.bus-inicio{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.bus-inicio div{background:#fff;border:1px solid #DCDEE2;border-radius:12px;padding:18px}
.bus-inicio b{display:block;margin-bottom:4px}
.bus-inicio span{color:var(--texto-suave);font-size:14.5px}
.bus-inicio code{background:#F1F2F4;border-radius:5px;padding:1px 6px;font-size:13.5px;cursor:pointer}
.lista-barra{position:fixed;left:50%;transform:translateX(-50%);bottom:18px;z-index:60;background:var(--oscuro);color:#fff;border-radius:999px;padding:10px 12px 10px 20px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 28px rgba(0,0,0,.28);font-weight:600}
.lista-barra[hidden],.lista-panel[hidden]{display:none}
.lista-barra button{font:600 14px "Inter",Arial,sans-serif;border:0;border-radius:999px;padding:9px 16px;cursor:pointer;background:var(--rojo);color:#fff}
.lista-panel{position:fixed;right:18px;bottom:84px;z-index:61;width:min(440px,calc(100vw - 24px));max-height:70vh;display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.3);color:var(--texto)}
.lista-cab{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #E4E5E8}
.lista-cab h3{font-size:18px}
.lista-cab button{border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--texto-suave)}
.lista-items{overflow:auto;padding:6px 18px;flex:1}
.lista-items div{display:grid;grid-template-columns:1fr 64px 28px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #F0F1F3;font-size:14px}
.lista-items small{display:block;color:var(--texto-suave)}
.lista-items input{width:100%;font:500 14px "Inter",Arial,sans-serif;padding:6px;border:1px solid #D5D7DB;border-radius:6px;text-align:center}
.lista-items button{border:0;background:none;font-size:20px;cursor:pointer;color:#9AA0A8}
.lista-pie{padding:14px 18px;display:flex;flex-direction:column;gap:8px;border-top:1px solid #E4E5E8}
.lista-pie a,.lista-pie button{justify-content:center;font-size:15px;padding:11px 18px;cursor:pointer;border:0;font-family:inherit}
.lista-pie .vaciar{background:none;color:var(--texto-suave);font-weight:500;padding:4px}
@media(max-width:900px){.bus-res{grid-template-columns:1fr}.bus-inicio{grid-template-columns:1fr}}
@media(max-width:600px){.bus-caja{flex-direction:column}.bus-caja button{justify-content:center}.bus-marcas{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 14px;padding:0 16px 6px;scrollbar-width:none}.bus-marcas::-webkit-scrollbar{display:none}.bus-marcas button{flex:none}.bus-acc{flex-wrap:nowrap}.bus-acc a,.bus-acc button{flex:1;text-align:center;padding:9px 6px;font-size:13.5px;white-space:nowrap}.bus-item{padding:14px}.pagina-hero .bus-ayuda{font-size:13.5px!important}.bus-caja input{font-size:17px;padding:14px}.lista-barra{bottom:12px;left:12px;transform:none;right:92px;justify-content:space-between}.lista-panel{right:12px;bottom:76px}}
.hero-busca{display:flex;gap:8px;margin-top:22px;max-width:560px;background:#fff;border-radius:999px;padding:6px}
.hero-busca input{flex:1;min-width:0;border:0;font:500 16px "Inter",Arial,sans-serif;padding:10px 16px;border-radius:999px;color:var(--texto)}
.hero-busca input:focus{outline:none}
.hero-busca button{border:0;cursor:pointer;font-family:inherit;padding:11px 20px}
.hero .hero-busca-nota,.hero-busca-nota{color:#9AA0A8;font-size:13.5px;margin-top:8px}

/* ===== Fase 1 rediseño: tipografía, portada, etiquetas y tarjetas ===== */
h1,h2,.pagina-hero h1,.cifra strong{font-family:"Barlow Condensed","Inter",Arial,sans-serif;letter-spacing:0;line-height:1.05}
h1{font-weight:800}
h2{font-weight:700;font-size:clamp(32px,4.4vw,50px)}
h3{letter-spacing:-.005em}
.linea h3,.porque h3,.tarjeta-mv h3,.beneficio h3,.tipo h3,.bus-vacio h3,.faq-lista summary{font-family:"Barlow Condensed","Inter",Arial,sans-serif;font-weight:700;letter-spacing:0}
.linea h3{font-size:26px}.porque h3,.beneficio h3{font-size:23px}.tarjeta-mv h3{font-size:26px}
.faq-lista summary{font-size:19px}
.pagina-hero h1{font-size:clamp(38px,5.4vw,62px)}
h1 em,h2 em{font-style:italic;color:var(--rojo)}
.cifra strong{font-size:clamp(30px,3.6vw,42px);font-weight:800}

/* etiquetas de sección en píldora */
.etiqueta{display:inline-block;padding:6px 14px;border:1px solid rgba(227,30,36,.35);background:rgba(227,30,36,.06);border-radius:999px;font-size:12.5px;letter-spacing:.14em;margin-bottom:16px}
.oscuro .etiqueta,.gris-osc .etiqueta{background:rgba(227,30,36,.14);border-color:rgba(227,30,36,.5);color:#FF6B6F}

/* portada clara + mosaico */
.hero.hero-v3{color:var(--texto);padding:84px 0 92px;background:linear-gradient(90deg,rgba(244,245,247,.98) 0%,rgba(244,245,247,.94) 46%,rgba(244,245,247,.80) 100%),url("../img/stock-portada.jpg") center/cover no-repeat,#F4F5F7}
.hero-v3 .hero-grid{grid-template-columns:1fr 1.05fr;gap:56px}
.hero-v3 h1{font-size:clamp(44px,6.2vw,76px);color:#14161A;margin-bottom:20px}
.hero-v3 p{color:var(--texto-suave);font-size:19px}
.hero-v3 .ciudad{display:inline-block;color:var(--rojo);border:1px solid rgba(227,30,36,.35);background:rgba(255,255,255,.7);border-radius:999px;padding:6px 14px;font-size:12.5px;letter-spacing:.16em;margin:0 0 18px}
.hero-v3 .acciones{margin-top:28px}
.hero-v3 .btn-rojo{box-shadow:0 10px 24px rgba(227,30,36,.28)}
.hero-v3 .btn-borde{border-color:#26282C;color:#26282C}
.hero-v3 .btn-borde:hover{background:#26282C;color:#fff}
.hero-v3 .hero-busca{border:1px solid #D5D7DB;box-shadow:0 8px 24px rgba(20,22,26,.08)}
.hero-v3 .hero-busca-nota{color:var(--texto-suave)}
.mosaico{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mosaico a{position:relative;display:block;height:150px;border-radius:14px;overflow:hidden;background:#202226;box-shadow:0 10px 26px rgba(20,22,26,.16);transition:transform .2s,box-shadow .2s}
.mosaico a:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(20,22,26,.24)}
.mosaico img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.mosaico a:hover img{transform:scale(1.05)}
.mosaico a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,16,0) 30%,rgba(10,12,16,.86) 100%)}
.mosaico span{position:absolute;left:16px;right:14px;bottom:12px;z-index:1;color:#fff;line-height:1.2}
.mosaico b{display:block;font:700 22px "Barlow Condensed","Inter",Arial,sans-serif}
.mosaico small{display:block;font-size:13px;color:#D5D7DB;margin-top:2px}
@media(max-width:1140px){.hero-v3 .hero-grid{grid-template-columns:1fr;gap:40px}}
@media(max-width:600px){.hero.hero-v3{padding:44px 0 52px}.hero-v3 h1{font-size:44px}.mosaico{gap:10px}.mosaico a{height:112px;border-radius:12px}.mosaico b{font-size:19px}.mosaico small{display:none}.mosaico span{left:12px;bottom:10px}}

/* cintilla de marcas: franja oscura con cada logo en su "tarjeta" blanca (el sprite marcas.png tiene fondo blanco) */
.cx-marcas{background:#1B1D21;border-bottom:2px solid var(--rojo);padding:14px 0}
.cx-marcas::before{background:linear-gradient(90deg,#1B1D21,rgba(27,29,33,0))}
.cx-marcas::after{background:linear-gradient(270deg,#1B1D21,rgba(27,29,33,0))}
.cx-logo{zoom:.72;background-color:#fff;border-radius:5px;box-shadow:0 0 0 8px #fff}
.cx-grupo{gap:46px;padding-right:46px}
@media(max-width:600px){.cx-marcas{padding:12px 0}.cx-logo{zoom:.6}.cx-grupo{gap:34px;padding-right:34px}}

/* tarjetas de línea: botón rojo a todo lo ancho abajo */
.linea{box-shadow:0 6px 22px rgba(20,22,26,.07);border:1px solid #E6E7EA}
.btn-cat{background:var(--rojo);color:#fff;border-color:var(--rojo);border-radius:10px;width:100%;padding:12px 18px}
.btn-cat:hover{background:var(--rojo-osc);border-color:var(--rojo-osc)}
.porque,.tarjeta-mv{border-radius:16px}

/* ===== Fase 2 rediseño: problemas en piso y cómo trabajamos ===== */
.problemas .sub,.como .sub{color:var(--texto-suave);max-width:720px;margin:-6px 0 30px;font-size:17px}
.como .sub{color:#C9CBD0}
.prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.prob{display:flex;flex-direction:column;gap:8px;background:#E9EBEE;border:1px solid #D3D6DB;border-top:4px solid var(--rojo);border-radius:16px;padding:20px 22px 18px;box-shadow:0 8px 24px rgba(20,22,26,.10);transition:transform .2s,box-shadow .2s,background .2s;color:var(--texto)}
.prob:hover{transform:translateY(-3px);background:#fff;box-shadow:0 16px 34px rgba(20,22,26,.16)}
.prob .tag{background:#fff!important}
.prob p{color:#4A4E55!important}
.prob .tag{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--rojo);background:rgba(227,30,36,.07);border-radius:999px;padding:4px 10px}
.prob h3{font:700 25px "Barlow Condensed","Inter",Arial,sans-serif;line-height:1.1}
.prob p{color:var(--texto-suave);font-size:15px;line-height:1.5}
.prob p b{color:var(--texto);font-weight:600}
.prob .ir{margin-top:auto;padding-top:6px;color:var(--rojo);font-weight:700;font-size:15px}
.prob-otro{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid #E6E7EA;border-left:5px solid var(--rojo);border-radius:14px;padding:18px 22px}
.prob-otro p{font-size:16px;flex:1;min-width:240px}
.prob-otro b{font-family:"Barlow Condensed","Inter",Arial,sans-serif;font-size:22px;display:block}
.pasos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.paso{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:26px}
.paso .num{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--rojo);color:#fff;font:800 22px "Barlow Condensed","Inter",Arial,sans-serif;margin-bottom:16px}
.paso h3{font:700 26px "Barlow Condensed","Inter",Arial,sans-serif;margin-bottom:8px;color:#fff}
.paso p{color:#C9CBD0;font-size:15.5px}
.paso ul{list-style:none;margin-top:14px;display:flex;flex-wrap:wrap;gap:6px;padding:0}
.paso li{font-size:13px;font-weight:600;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:4px 10px;color:#E4E5E8}
.como .acciones{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.como .nota{color:#9AA0A8;font-size:13.5px}
@media(max-width:900px){.prob-grid{grid-template-columns:1fr 1fr}.pasos{grid-template-columns:1fr}}
@media(max-width:600px){.prob-grid{gap:10px}.prob{padding:16px 14px 14px}.prob h3{font-size:21px}.prob p{display:none}.prob .ir{font-size:14px}.problemas .sub,.como .sub{font-size:15.5px;margin-bottom:22px}.paso{padding:18px;display:grid;grid-template-columns:40px 1fr;gap:6px 12px}.paso .num{width:40px;height:40px;font-size:19px;margin:0}.paso h3{font-size:23px;align-self:center;margin:0}.paso p,.paso ul{grid-column:1/-1}.paso ul{margin-top:6px}.prob-otro .btn{width:100%;justify-content:center}}

/* ===== Fase 3: asistente paso a paso ===== */
.asis-top{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.asis-top span{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rojo);white-space:nowrap}
.asis-barra{flex:1;height:6px;border-radius:9px;background:#ECEDEF;overflow:hidden}
.asis-barra i{display:block;height:100%;width:25%;background:var(--rojo);border-radius:9px;transition:width .3s}
.asis-q h3{font:700 clamp(26px,3vw,34px) "Barlow Condensed","Inter",Arial,sans-serif;margin-bottom:16px}
.asis-q[hidden],.asis-fin[hidden]{display:none}
.asis-ops{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.asis-ops button{font:600 15.5px "Inter",Arial,sans-serif;text-align:left;padding:15px 16px;border:1.5px solid #D5D7DB;border-radius:12px;background:#fff;color:var(--texto);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.asis-ops button:hover{border-color:var(--rojo);transform:translateY(-1px)}
.asis-ops button[aria-pressed=true]{border-color:var(--rojo);background:rgba(227,30,36,.06);color:var(--rojo)}
.asis-nav{display:flex;gap:16px;margin-top:14px}
.asis-nav button{border:0;background:none;font:600 14.5px "Inter",Arial,sans-serif;color:var(--texto-suave);cursor:pointer;padding:6px 0}
.asis-nav button:hover{color:var(--rojo)}
.asis-nav button[hidden]{display:none}
.asis-fin h3{font:700 clamp(26px,3vw,34px) "Barlow Condensed","Inter",Arial,sans-serif;margin-bottom:6px}
.asis-fin .resumen{color:var(--texto-suave);margin-bottom:16px}
.asis-iso{display:inline-flex;align-items:center;gap:10px;font-weight:600;margin-bottom:14px}
.asis-iso b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:8px;color:#fff;font:800 20px "Barlow Condensed","Inter",Arial,sans-serif}
.asis-guias{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.asis-guias a{display:block;border:1px solid #E6E7EA;border-radius:12px;padding:12px 14px;background:#F7F7F8;font-weight:600;font-size:15px;color:var(--texto)}
.asis-guias a small{display:block;color:var(--rojo);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
.asis-guias a:hover{border-color:var(--rojo)}
.asis-extra{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:4px}
@media(max-width:860px){.asis-ops{grid-template-columns:repeat(2,1fr)}.asis-guias{grid-template-columns:1fr}}
@media(max-width:560px){.asis-ops button{padding:12px;font-size:14.5px}.asis-extra{grid-template-columns:1fr}}
