/* MultiAceros — estilos del tema (componentes y secciones). Versión 2.3.2.
   Se carga después de tokens.css. Clases con prefijo ma-. Sin dependencias.
   Puntos de quiebre: móvil hasta 734px · tableta 735–1068px · escritorio desde 1069px.
   .ma-foto es solo para maquetas: marca dónde va cada foto actual.
   Cambios 2.3.1 (carrusel apilado en tableta) y 2.3.2 (controles del carrusel, bajada compacta a 1200–1279 px,
   pie en tableta): ver las notas «2.3.1» y «2.3.2» en "Carrusel con corte diagonal" y en "Pie". */

/* ===== Movimiento ===== */
:root {
  color-scheme: light;
  --ma-curva: cubic-bezier(.25, .1, .25, 1);
  --ma-curva-salida: cubic-bezier(.16, 1, .3, 1);
  --ma-rapido: 180ms;
  --ma-medio: 320ms;
  --ma-lento: 700ms;
}
@media (prefers-reduced-motion: reduce) {
  :root { --ma-rapido: 1ms; --ma-medio: 1ms; --ma-lento: 1ms; }
}

/* ===== Base ===== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--nav-alto) + 16px); }
body {
  margin: 0; background: var(--blanco); color: var(--tinta);
  font-family: var(--font-texto); font-size: 17px; line-height: 26px; font-weight: 400;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
[hidden] { display: none !important; }
h1, h2, h3, p, ul, figure { margin: 0; }
.ma-solo-lector { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ma-sin-scroll { overflow: hidden; }
.ma-saltar { position: absolute; left: 16px; top: -60px; z-index: 300; padding: 10px 16px; border-radius: var(--radio-pildora); background: var(--tinta); color: var(--tinta-inversa); font-size: 14px; text-decoration: none; }
.ma-saltar:focus { top: 12px; outline: none; box-shadow: var(--foco); }

/* ===== Tipografía ===== */
.ma-t-hero, .ma-t-1, .ma-t-2, .ma-t-3 { font-family: var(--font-display); font-weight: 600; color: inherit; text-wrap: balance; }
.ma-t-hero { font-size: 64px; line-height: 68px; letter-spacing: -.02em; }
.ma-t-1 { font-size: 48px; line-height: 52px; letter-spacing: -.018em; }
.ma-t-2 { font-size: 40px; line-height: 44px; letter-spacing: -.015em; }
.ma-t-3 { font-size: 28px; line-height: 34px; letter-spacing: -.01em; }
.ma-t-4 { font-family: var(--font-texto); font-weight: 600; font-size: 21px; line-height: 26px; letter-spacing: -.005em; text-wrap: pretty; }
.ma-entradilla { font-size: 24px; line-height: 32px; letter-spacing: -.005em; text-wrap: pretty; }
.ma-cuerpo { font-size: 17px; line-height: 26px; text-wrap: pretty; }
.ma-suave { color: var(--tinta-suave); }
@media (max-width: 1068px) {
  .ma-t-hero { font-size: 52px; line-height: 56px; }
  .ma-t-1 { font-size: 40px; line-height: 44px; }
}
@media (max-width: 734px) {
  .ma-t-hero { font-size: 40px; line-height: 44px; letter-spacing: -.015em; }
  .ma-t-1 { font-size: 32px; line-height: 36px; letter-spacing: -.012em; }
  .ma-t-2 { font-size: 28px; line-height: 32px; letter-spacing: -.01em; }
  .ma-t-3 { font-size: 24px; line-height: 28px; letter-spacing: -.008em; }
  .ma-entradilla { font-size: 19px; line-height: 27px; letter-spacing: 0; }
}

/* ===== Retícula ===== */
.ma-contenedor { width: 100%; max-width: calc(var(--contenedor) + 2 * var(--margen-escritorio)); margin-inline: auto; padding-inline: var(--margen-escritorio); }
.ma-seccion { padding-block: var(--espacio-32); }
.ma-seccion--gris { background: var(--gris-claro); }
.ma-seccion--oscura { background: var(--gris-azulado); color: var(--tinta-inversa); }
.ma-centro { max-width: var(--contenedor-texto); margin-inline: auto; text-align: center; }
.ma-rejilla { display: grid; gap: var(--espacio-6); }
.ma-rejilla--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ma-rejilla--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ma-rejilla--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1068px) {
  .ma-rejilla--3, .ma-rejilla--4, .ma-rejilla--5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 734px) {
  .ma-contenedor { padding-inline: var(--margen-movil); }
  .ma-seccion { padding-block: var(--espacio-16); }
  .ma-rejilla { gap: var(--espacio-5); }
  .ma-rejilla--3, .ma-rejilla--4 { grid-template-columns: minmax(0, 1fr); }
  /* Filas que se deslizan de lado en móvil */
  .ma-desliza {
    display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%;
    gap: var(--espacio-4); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(-1 * var(--margen-movil)); padding: var(--espacio-2) var(--margen-movil) var(--espacio-4);
    scroll-padding-inline: var(--margen-movil);
  }
  .ma-desliza::-webkit-scrollbar { display: none; }
  .ma-desliza > * { scroll-snap-align: start; }
  .ma-desliza--estrecha { grid-auto-columns: 58%; }
}

/* ===== Botón ===== */
.ma-boton {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--espacio-2);
  min-height: var(--control-alto); padding: 0 26px;
  border: 1.5px solid transparent; border-radius: var(--radio-pildora);
  font-family: var(--font-texto); font-size: 17px; line-height: 24px; font-weight: 500; letter-spacing: -.005em;
  text-decoration: none; white-space: nowrap; cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: background-color var(--ma-rapido) var(--ma-curva), color var(--ma-rapido) var(--ma-curva), border-color var(--ma-rapido) var(--ma-curva), transform var(--ma-rapido) var(--ma-curva);
}
.ma-boton:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-boton:active { transform: scale(.97); }
.ma-boton--primario { background: var(--rojo); color: var(--tinta-inversa); }
.ma-boton--primario:hover { background: var(--rojo-presionado); }
.ma-boton--secundario { background: transparent; color: var(--tinta); border-color: var(--tinta); }
.ma-boton--secundario:hover { background: var(--tinta); color: var(--tinta-inversa); }
.ma-boton--claro { background: var(--blanco); color: var(--tinta); }
.ma-boton--claro:hover { background: var(--gris-claro); }
.ma-boton--pequeno { min-height: var(--control-alto-sm); padding: 0 16px; font-size: 14px; line-height: 20px; }
.ma-boton--ancho { width: 100%; }
.ma-boton .ma-ico { width: 18px; height: 18px; }
.ma-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espacio-3); }

/* ===== Enlace “Ver más ›” ===== */
.ma-enlace { display: inline-flex; align-items: center; color: var(--enlace); font-size: 17px; line-height: 24px; font-weight: 400; text-decoration: none; border-radius: 4px; cursor: pointer; }
.ma-enlace::after { content: "\203A"; content: "\203A" / ""; margin-left: var(--espacio-1); font-size: 1.2em; line-height: 1; transform: translateY(-.04em); transition: transform var(--ma-rapido) var(--ma-curva); }
.ma-enlace:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.ma-enlace:hover::after { transform: translate(3px, -.04em); }
.ma-enlace:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-enlace--inverso { color: var(--tinta-inversa); }
.ma-enlace--pequeno { font-size: 14px; line-height: 20px; }

/* ===== Insignia ===== */
.ma-insignia { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: var(--radio-pildora); background: var(--rojo-suave); color: var(--rojo-texto); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .01em; white-space: nowrap; }

/* ===== Íconos lineales ===== */
.ma-ico { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* ===== Marcador de foto (la foto actual, rotulada con su archivo) ===== */
.ma-foto {
  position: relative; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
  background-color: var(--gris-claro);
  background-image: repeating-linear-gradient(135deg, var(--linea) 0 1px, transparent 1px 14px);
}
.ma-foto--oscura { background-color: var(--gris-azulado); background-image: repeating-linear-gradient(135deg, var(--linea-inversa) 0 1px, transparent 1px 14px); }
.ma-foto--blanca { background-color: var(--blanco); }
.ma-foto__rotulo {
  display: inline-flex; align-items: center; gap: 8px; max-width: calc(100% - 24px); padding: 6px 12px;
  border-radius: var(--radio-pildora); background: var(--blanco); color: var(--tinta-suave);
  box-shadow: var(--sombra-reposo);
  font-size: 13px; line-height: 18px; font-weight: 500; text-align: left;
  font-feature-settings: "calt" 0; /* los nombres de archivo se ven tal cual (5x5, no 5×5) */
}
.ma-foto__rotulo .ma-ico { width: 15px; height: 15px; }
.ma-foto__rotulo span { min-width: 0; overflow-wrap: anywhere; }
.ma-foto__rotulo small { display: block; margin-top: 2px; color: var(--tinta-suave); font-size: 11px; line-height: 15px; font-weight: 400; }
/* Rótulo chico, para logos y fotos pequeñas */
.ma-foto--mini .ma-foto__rotulo { max-width: calc(100% - 12px); padding: 3px 8px; border-radius: var(--radio-sm); font-size: 11px; line-height: 14px; }
.ma-foto--mini .ma-foto__rotulo .ma-ico { display: none; }
/* Rótulo en la esquina, para fotos de fondo con texto encima */
.ma-foto--esquina { align-items: flex-end; justify-content: flex-end; padding: var(--espacio-4); }

/* ===== Medio y tarjetas ===== */
.ma-medio { position: relative; overflow: hidden; aspect-ratio: var(--aspecto, 4 / 3); border-radius: var(--radio-md); background: var(--gris-claro); }
.ma-medio .ma-foto { transition: transform var(--ma-lento) var(--ma-curva-salida); }
.ma-tarjeta {
  position: relative; display: flex; flex-direction: column; min-width: 0;
  background: var(--blanco); border-radius: var(--radio-lg); box-shadow: var(--sombra-reposo);
  transition: transform var(--ma-medio) var(--ma-curva-salida), box-shadow var(--ma-medio) var(--ma-curva-salida);
}
.ma-tarjeta--gris { background: var(--gris-claro); box-shadow: none; }
.ma-tarjeta--gris .ma-foto { background-color: var(--blanco); }
.ma-tarjeta:hover { transform: translateY(-4px); box-shadow: var(--sombra-elevada); }
.ma-tarjeta:hover .ma-medio .ma-foto { transform: scale(1.04); }
.ma-tarjeta:has(.ma-tarjeta__total:focus-visible) { box-shadow: var(--sombra-elevada), var(--foco); }
.ma-tarjeta__medio { margin: var(--espacio-2) var(--espacio-2) 0; border-radius: calc(var(--radio-lg) - var(--espacio-2)); }
.ma-tarjeta__cuerpo { display: flex; flex-direction: column; gap: var(--espacio-2); flex: 1; padding: var(--espacio-6) var(--espacio-8) var(--espacio-8); }
.ma-tarjeta__texto { color: var(--tinta-suave); text-wrap: pretty; }
.ma-tarjeta__accion { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espacio-2) var(--espacio-6); margin-top: auto; padding-top: var(--espacio-4); }
.ma-tarjeta__accion .ma-enlace:not(.ma-tarjeta__total) { position: relative; z-index: 2; }
.ma-tarjeta__total { color: inherit; text-decoration: none; }
.ma-tarjeta__total.ma-enlace { color: var(--enlace); }
.ma-tarjeta__total:focus-visible { box-shadow: none; }
.ma-tarjeta__total::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.ma-tarjeta--horizontal { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.ma-tarjeta--horizontal .ma-tarjeta__medio { margin: var(--espacio-2); aspect-ratio: auto; min-height: 380px; }
.ma-tarjeta--horizontal .ma-tarjeta__cuerpo { justify-content: center; padding: var(--espacio-12); }
.ma-tarjeta--horizontal .ma-tarjeta__accion { margin-top: 0; }
.ma-tarjeta--compacta .ma-tarjeta__cuerpo { padding: var(--espacio-5) var(--espacio-6) var(--espacio-6); }
@media (max-width: 734px) {
  .ma-tarjeta__cuerpo { padding: var(--espacio-5) var(--espacio-6) var(--espacio-6); }
  .ma-tarjeta--horizontal { grid-template-columns: minmax(0, 1fr); }
  .ma-tarjeta--horizontal .ma-tarjeta__medio { min-height: 0; aspect-ratio: 4 / 3; margin-bottom: 0; }
  .ma-tarjeta--horizontal .ma-tarjeta__cuerpo { padding: var(--espacio-5) var(--espacio-6) var(--espacio-6); }
}
.ma-encabezado { display: flex; align-items: baseline; justify-content: space-between; gap: var(--espacio-6); margin-bottom: var(--espacio-12); }
.ma-encabezado--centro { flex-direction: column; align-items: center; gap: var(--espacio-3); text-align: center; }
@media (max-width: 734px) {
  .ma-encabezado { flex-direction: column; align-items: flex-start; gap: var(--espacio-2); margin-bottom: var(--espacio-6); }
  .ma-encabezado--centro { align-items: center; }
}

/* ===== Cabecera ===== */
.ma-cab { position: sticky; top: calc(env(safe-area-inset-top, 0px) - var(--barra-superior-alto) - var(--cabecera-alto)); z-index: 100; }
/* Barra superior */
.ma-cab__sup { height: var(--barra-superior-alto); background: var(--gris-oscuro); color: var(--tinta-inversa-suave); }
.ma-cab__sup-fila { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--espacio-6); }
.ma-cab__sup-grupo { display: flex; align-items: center; gap: var(--espacio-6); padding: 0; list-style: none; }
.ma-cab__sup-enlace { display: inline-flex; align-items: center; gap: 8px; color: var(--tinta-inversa-suave); font-size: 13px; line-height: 18px; font-weight: 500; text-decoration: none; border-radius: 4px; transition: color var(--ma-rapido) var(--ma-curva); }
.ma-cab__sup-enlace:hover { color: var(--tinta-inversa); }
.ma-cab__sup-enlace:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-cab__sup-enlace .ma-ico { width: 15px; height: 15px; }
/* Fila de marca */
.ma-cab__marca { height: var(--cabecera-alto); background: var(--blanco); }
.ma-cab__marca-fila { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: var(--espacio-6); }
.ma-logo { display: inline-flex; flex: none; border-radius: var(--radio-sm); }
.ma-logo img { height: var(--logo-alto); width: auto; }
.ma-logo:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-cab__botones { gap: var(--espacio-2); }
.ma-cab__botones .ma-boton--secundario[aria-current="page"] { background: var(--tinta); color: var(--tinta-inversa); }
/* Fila de navegación */
.ma-cab__nav {
  position: relative; height: calc(var(--nav-alto) + var(--linea-roja));
  background: var(--blanco);
  border-top: 1px solid var(--linea);
  box-shadow: inset 0 calc(-1 * var(--linea-roja)) 0 var(--rojo);
}
.ma-cab.is-menu .ma-cab__nav { background: var(--blanco); }
.ma-cab__nav-fila { height: var(--nav-alto); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--espacio-4); }
.ma-cab__nav-fila > nav { grid-column: 2; }
.ma-cab__mini, .ma-cab__mini-accion { opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity var(--ma-medio) var(--ma-curva), transform var(--ma-medio) var(--ma-curva), visibility 0s linear var(--ma-medio); }
.ma-cab__mini { grid-column: 1; justify-self: start; display: inline-flex; border-radius: var(--radio-sm); }
.ma-cab__mini img { height: 26px; width: auto; }
.ma-cab__mini-accion { grid-column: 3; justify-self: end; }
.ma-cab.is-fija .ma-cab__mini, .ma-cab.is-fija .ma-cab__mini-accion { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.ma-cab.is-fija .ma-cab__nav { border-top-color: transparent; }
@media (max-width: 1299px) { .ma-cab__mini-accion { display: none; } }
@media (max-width: 1149px) { .ma-cab__mini { display: none; } }
.ma-nav__lista { display: flex; align-items: stretch; height: var(--nav-alto); padding: 0; list-style: none; }
.ma-nav__item { display: flex; }
.ma-nav__enlace {
  position: relative; display: inline-flex; align-items: center; gap: 7px; height: 100%; padding: 0 13px;
  border: 0; background: transparent; color: var(--tinta);
  font-family: var(--font-texto); font-size: 15px; line-height: 20px; font-weight: 500;
  text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: color var(--ma-rapido) var(--ma-curva);
}
.ma-nav__enlace::after {
  content: ""; position: absolute; left: 13px; right: 13px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0;
  background: var(--rojo); transform: scaleX(0); transform-origin: center; transition: transform var(--ma-medio) var(--ma-curva-salida);
}
.ma-nav__enlace:hover::after, .ma-nav__enlace[aria-expanded="true"]::after { transform: scaleX(1); background: var(--linea-control); }
.ma-nav__enlace[aria-current="page"]::after, .ma-nav__enlace.is-actual::after { transform: scaleX(1); background: var(--rojo); }
.ma-nav__enlace:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--rojo); border-radius: var(--radio-sm); }
.ma-flecha { flex: none; width: 6px; height: 6px; opacity: .55; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform var(--ma-medio) var(--ma-curva); }
[aria-expanded="true"] > .ma-flecha { transform: translateY(1px) rotate(225deg); }
.ma-velo { position: fixed; inset: 0; z-index: 90; background: var(--velo); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); opacity: 0; visibility: hidden; transition: opacity var(--ma-medio) var(--ma-curva), visibility 0s linear var(--ma-medio); }
.ma-velo.is-visible { opacity: 1; visibility: visible; transition-delay: 0s; }

/* Megamenú */
.ma-mega {
  position: absolute; left: 0; right: 0; top: 100%; display: none;
  padding: var(--espacio-10) 0 var(--espacio-12); background: var(--blanco); box-shadow: var(--sombra-menu);
  opacity: 0; transform: translateY(-6px); transition: opacity var(--ma-medio) var(--ma-curva), transform var(--ma-medio) var(--ma-curva-salida);
}
.ma-mega.is-abierto { display: block; }
.ma-mega.is-visible { opacity: 1; transform: none; }
.ma-mega__rotulo { display: block; margin: 0 0 var(--espacio-3); color: var(--tinta-suave); font-size: 12px; line-height: 16px; font-weight: 600; letter-spacing: .01em; }
/* El rótulo lleva a la portada de la sección */
.ma-mega__rotulo--enlace { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; border-radius: 4px; transition: color var(--ma-rapido) var(--ma-curva); }
.ma-mega__rotulo--enlace::after { content: "\203A"; content: "\203A" / ""; font-size: 15px; line-height: 1; transform: translateY(-1px); }
.ma-mega__rotulo--enlace:hover, .ma-mega__rotulo--enlace[aria-current="page"] { color: var(--rojo-texto); }
.ma-mega__rotulo--enlace:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-mega__grande[aria-current="page"] { color: var(--rojo-texto); }
/* Productos (Opción A): ceja, pestañas con las 11 líneas y, debajo, la línea activa con su foto */
.ma-mega--productos { padding: var(--espacio-8) 0 var(--espacio-12); }
.ma-mega--productos .ma-mega__rotulo { margin-bottom: 10px; }
.ma-mega__pestanas {
  display: flex; gap: 26px; border-bottom: 1px solid var(--linea);
  overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none;
}
.ma-mega__pestanas::-webkit-scrollbar { display: none; }
/* Si las pestañas no caben (escritorio angosto), el borde que sigue se desvanece */
.ma-mega__pestanas.is-desborde-fin { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); }
.ma-mega__pestanas.is-desborde-inicio { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px); mask-image: linear-gradient(90deg, transparent, #000 56px); }
.ma-mega__pestanas.is-desborde-inicio.is-desborde-fin { -webkit-mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, transparent, #000 56px, #000 calc(100% - 56px), transparent); }
.ma-mega__pestana {
  position: relative; flex: none; display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  height: 46px; padding: 0; border: 0; background: none; cursor: pointer;
  color: var(--tinta-suave); font-family: var(--font-texto); font-size: 15px; line-height: 20px; font-weight: 500; letter-spacing: -.005em; white-space: nowrap;
  transition: color var(--ma-rapido) var(--ma-curva);
}
/* Reserva el ancho del texto en negrita: la fila no salta al cambiar de pestaña */
.ma-mega__pestana::before { content: attr(data-texto); height: 0; overflow: hidden; visibility: hidden; font-weight: 600; }
/* Las 11 pestañas caben siempre en una fila: bajo unos 1250 px, la letra baja de 15 a 13,5 px y el espacio de 26 a 16 px,
   en proporción al ancho real del contenedor (sin contar la barra de desplazamiento). El deslizamiento queda de respaldo. */
.ma-mega--productos > .ma-contenedor { container-type: inline-size; }
.ma-mega__pestanas { gap: clamp(16px, calc(16px + (100cqi - 985px) * 10 / 185), 26px); }
.ma-mega__pestana { font-size: clamp(13.5px, calc(13.5px + (100cqi - 985px) * 1.5 / 185), 15px); }
.ma-mega__pestana::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: var(--linea-roja); border-radius: var(--linea-roja);
  background: var(--rojo); transform: scaleX(0); transform-origin: center; transition: transform var(--ma-medio) var(--ma-curva);
}
.ma-mega__pestana:hover { color: var(--tinta); }
.ma-mega__pestana[aria-selected="true"] { color: var(--tinta); font-weight: 600; }
.ma-mega__pestana[aria-selected="true"]::after { transform: scaleX(1); }
.ma-mega__pestana:focus-visible { outline: none; box-shadow: inset 0 0 0 2px var(--rojo); border-radius: var(--radio-sm); }
.ma-mega__panel { display: none; }
.ma-mega__panel.is-activo { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: calc(var(--espacio-16) + var(--espacio-2)); align-items: start; padding-top: 34px; }
.ma-mega__texto { display: grid; gap: 22px; justify-items: start; min-width: 0; }
.ma-mega__titulo { display: inline-flex; align-items: center; color: var(--tinta); text-decoration: none; border-radius: var(--radio-sm); }
.ma-mega__titulo:hover { color: var(--tinta); }
.ma-mega__titulo::after { content: "\203A"; content: "\203A" / ""; margin-left: 10px; color: var(--rojo-texto); font-weight: 500; transition: transform var(--ma-rapido) var(--ma-curva); }
.ma-mega__titulo:hover::after { transform: translateX(4px); }
.ma-mega__titulo:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-mega__subs { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espacio-1) var(--espacio-12); padding: 0; list-style: none; }
.ma-mega__sub {
  display: inline-flex; align-items: center; gap: 10px; min-height: 44px;
  color: var(--tinta); font-size: 19px; line-height: 26px; font-weight: 600; letter-spacing: -.01em; text-decoration: none;
  border-radius: 4px; transition: color var(--ma-rapido) var(--ma-curva);
}
.ma-mega__sub:hover { color: var(--rojo-texto); }
.ma-mega__sub:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-mega__foto { position: relative; height: 300px; overflow: hidden; border-radius: var(--radio-lg); background: var(--gris-claro); box-shadow: var(--sombra-reposo); }
/* Al mostrarse una línea: el nombre, sus sublíneas (escalonadas) y la foto entran con un fundido */
@keyframes ma-mega-entra { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.ma-mega__panel.is-activo .ma-mega__titulo,
.ma-mega__panel.is-activo .ma-mega__subs > li,
.ma-mega__panel.is-activo .ma-mega__foto { animation: ma-mega-entra 460ms var(--ma-curva) both; }
.ma-mega__panel.is-activo .ma-mega__subs > li { animation-delay: calc(60ms + var(--i, 0) * 35ms); }
.ma-mega__panel.is-activo .ma-mega__foto { animation-delay: 80ms; }
@media (prefers-reduced-motion: reduce) {
  .ma-mega__panel.is-activo .ma-mega__titulo,
  .ma-mega__panel.is-activo .ma-mega__subs > li,
  .ma-mega__panel.is-activo .ma-mega__foto { animation: none; }
}
.ma-mega__grandes { display: grid; grid-auto-flow: column; grid-template-rows: repeat(var(--filas, 5), auto); justify-content: start; gap: var(--espacio-2) var(--espacio-16); padding: 0; list-style: none; }
.ma-mega__grande { display: inline-block; padding: 2px 0; color: var(--tinta); font-family: var(--font-display); font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -.01em; text-decoration: none; border-radius: 4px; transition: color var(--ma-rapido) var(--ma-curva); }
.ma-mega__grande:hover { color: var(--rojo-texto); }
.ma-mega__grande:focus-visible { outline: none; box-shadow: var(--foco); }

/* Botón de menú (móvil) */
.ma-hamburguesa { display: none; position: relative; width: 44px; height: 44px; margin-right: -10px; padding: 0; border: 0; border-radius: var(--radio-pildora); background: transparent; color: var(--tinta); cursor: pointer; }
.ma-hamburguesa span { position: absolute; left: 12px; right: 12px; height: 1.5px; border-radius: 1px; background: currentColor; transition: transform var(--ma-medio) var(--ma-curva); }
.ma-hamburguesa span:first-child { top: 18px; }
.ma-hamburguesa span:last-child { top: 25px; }
.ma-hamburguesa[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.ma-hamburguesa[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.ma-hamburguesa:focus-visible { outline: none; box-shadow: var(--foco); }

/* Menú móvil */
.ma-menu-movil {
  position: fixed; left: 0; right: 0; top: calc(env(safe-area-inset-top, 0px) + var(--cabecera-alto-movil) + var(--linea-roja)); bottom: 0; z-index: 99;
  display: none; overflow-y: auto; overscroll-behavior: contain;
  padding: var(--espacio-2) var(--margen-movil) calc(var(--espacio-12) + env(safe-area-inset-bottom, 0px)); background: var(--blanco);
}
.ma-menu-movil.is-abierto { display: block; animation: ma-entra var(--ma-medio) var(--ma-curva-salida); }
@keyframes ma-entra { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.ma-menu-movil__lista { padding: 0; list-style: none; }
.ma-menu-movil__lista > li { border-bottom: 1px solid var(--linea); }
.ma-menu-movil__fila { display: flex; align-items: center; justify-content: space-between; }
.ma-menu-movil__item {
  display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 56px; padding: 0;
  border: 0; background: none; color: var(--tinta); text-align: left; text-decoration: none; cursor: pointer;
  font-family: var(--font-display); font-size: 24px; line-height: 28px; font-weight: 600; letter-spacing: -.008em;
}
.ma-menu-movil__item[aria-current="page"] { color: var(--rojo-texto); }
.ma-menu-movil__item .ma-flecha { width: 9px; height: 9px; margin-right: 6px; }
.ma-menu-movil__item:focus-visible, .ma-menu-movil__sub a:focus-visible, .ma-menu-movil__toggle:focus-visible { outline: none; box-shadow: var(--foco); border-radius: var(--radio-sm); }
.ma-menu-movil__sub { display: none; padding: 0 0 var(--espacio-4); list-style: none; }
.ma-menu-movil__sub.is-abierto { display: block; }
.ma-menu-movil__sub a[aria-current="page"] { color: var(--rojo-texto) !important; }
.ma-menu-movil__sub a { display: flex; align-items: center; gap: var(--espacio-2); min-height: 44px; color: var(--tinta-suave); font-size: 17px; line-height: 24px; text-decoration: none; }
.ma-menu-movil__linea { display: flex; align-items: center; justify-content: space-between; }
.ma-menu-movil__linea > a { flex: 1; color: var(--tinta) !important; font-weight: 600; }
.ma-menu-movil__toggle { display: grid; place-items: center; width: 44px; height: 44px; margin-right: -6px; border: 0; background: none; color: var(--tinta-suave); cursor: pointer; }
.ma-menu-movil__subsub { display: none; padding: 0 0 var(--espacio-3) var(--espacio-4); list-style: none; border-left: 1px solid var(--linea); margin-left: 2px; }
.ma-menu-movil__subsub.is-abierto { display: block; }
.ma-menu-movil__subsub a { min-height: 40px; font-size: 15px; }
.ma-menu-movil__acciones { display: grid; gap: var(--espacio-3); margin-top: var(--espacio-8); }
.ma-menu-movil__contacto { display: grid; gap: var(--espacio-3); margin-top: var(--espacio-8); padding: var(--espacio-5); border-radius: var(--radio-lg); background: var(--gris-claro); list-style: none; }
.ma-menu-movil__contacto a { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; color: var(--tinta); font-size: 15px; line-height: 20px; text-decoration: none; }
.ma-menu-movil__contacto .ma-ico { color: var(--tinta-suave); }

@media (max-width: 1068px) {
  .ma-cab { top: env(safe-area-inset-top, 0px); }
  .ma-cab__sup, .ma-cab__nav, .ma-cab__botones { display: none; }
  .ma-cab__marca {
    height: calc(var(--cabecera-alto-movil) + var(--linea-roja));
    background: var(--blanco);
    box-shadow: inset 0 calc(-1 * var(--linea-roja)) 0 var(--rojo);
  }
  .ma-cab__marca-fila { height: var(--cabecera-alto-movil); }
  .ma-logo img { height: var(--logo-alto-movil); }
  .ma-hamburguesa { display: block; }
}

/* ===== Carrusel con corte diagonal =====
   2.3.1 — Carrusel en tableta (735–1068 px). Antes, el corte diagonal seguía hasta 734 px con la foto a
   calc(50% + 40px) y el texto hasta 440 px: entre 735 y ~1010 px las líneas largas quedaban sobre la
   franja roja o la foto (hasta 118 px de más a 735 px). Ahora el formato apilado del móvil (foto arriba
   con corte horizontal, controles entre la foto y el texto) rige hasta 1068 px:
   · Las reglas estructurales del apilado pasan de @media (max-width: 734px) a @media (max-width: 1068px):
     .ma-anuncio, .ma-anuncio__foto, .ma-anuncio__img, .ma-anuncio__franja, .ma-anuncio__triangulo,
     .ma-anuncio__cuerpo, .ma-anuncio--banner, .ma-anuncio__banner, .ma-carrusel__controles-fila,
     .ma-carrusel__controles, .ma-carrusel__contador, .ma-redondo--ant/--sig/--pausa, .ma-carrusel.
   · Nuevas variables del apilado: --ma-foto-alto (alto de la foto y posición de los controles) y
     --ma-corte-v (corte horizontal). Tableta: clamp(256px, 30vw, 320px) y 72px. Móvil: 248px y 44px, como antes.
   · Tableta: titular 44/48, bajada 19/28 (compacta 17/26), texto hasta 640 px, botones en línea, triángulo 64×88.
   · Se eliminan las reglas de tableta del corte diagonal (--corte-diagonal: 110px, min-height 540px,
     triángulo 80×110, banner right: 120px). Móvil (hasta 734 px) no cambia.
   2.3.2 — Controles del carrusel. La fila (flechas, puntos, contador, pausa) medía 492 px y la pausa
   entraba en la franja roja entre 1069 y ~1180 px, entre 1200 y ~1270 px y quedaba 3 px dentro desde 1280 px.
   Ahora ningún control queda a menos de 24 px de la franja en ningún ancho:
   · .ma-punto 18 px de paso (antes 20), activo 36 px con barra de 24 px (antes 40 y 28);
     .ma-carrusel__contador min-width 52 px (antes 64): la fila mide 454 px y queda a 35 px de la franja desde 1280 px.
   · .ma-carrusel__puntos se oculta hasta 1279 px (antes hasta 1068): entre 1069 y 1279 px van flechas,
     contador y pausa (208 px).
   2.3.2 — Bajada compacta (Metalworking) entre 1200 y 1279 px: 17/25 como entre 1069 y 1199 (antes 18/27 desde 1200),
   para que su primera línea quede a 24 px o más de la franja (a 1200 px quedaba a 21 px). Desde 1280 px sigue en 18/27. */
.ma-carrusel { position: relative; overflow: hidden; background: var(--gris-claro); }
.ma-carrusel__pista { display: grid; }
.ma-anuncio {
  grid-area: 1 / 1; position: relative; min-height: var(--carrusel-alto);
  opacity: 0; visibility: hidden; transition: opacity var(--ma-lento) var(--ma-curva), visibility 0s linear var(--ma-lento);
}
.ma-anuncio.is-activo { opacity: 1; visibility: visible; transition-delay: 0s; }
.ma-anuncio__foto { position: absolute; top: 0; right: 0; bottom: 0; width: calc(50% + 96px); }
.ma-anuncio__img { position: absolute; inset: 0; clip-path: polygon(var(--corte-diagonal) 0, 100% 0, 100% 100%, 0 100%); }
.ma-anuncio__franja {
  position: absolute; top: 0; bottom: 0; left: calc(-1 * (var(--franja-diagonal) + var(--hueco-diagonal))); width: calc(var(--corte-diagonal) + var(--franja-diagonal));
  background: var(--rojo);
  clip-path: polygon(var(--corte-diagonal) 0, calc(var(--corte-diagonal) + var(--franja-diagonal)) 0, var(--franja-diagonal) 100%, 0 100%);
}
.ma-anuncio__triangulo { position: absolute; right: 64px; bottom: 0; width: 104px; height: 142px; background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.ma-anuncio__cuerpo { position: relative; z-index: 1; display: flex; align-items: center; min-height: var(--carrusel-alto); padding-block: 56px 128px; }
.ma-anuncio__texto { max-width: 500px; display: grid; gap: var(--espacio-4); }
.ma-anuncio.is-activo .ma-anuncio__texto { animation: ma-sube var(--ma-lento) var(--ma-curva-salida); }
@keyframes ma-sube { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
.ma-rotulo { display: flex; align-items: center; gap: 12px; color: var(--tinta); font-size: 15px; line-height: 20px; font-weight: 600; }
.ma-rotulo::before { content: ""; flex: none; width: 32px; height: 2px; background: var(--rojo); }
.ma-anuncio__titular { font-family: var(--font-display); font-size: 60px; line-height: 64px; font-weight: 600; letter-spacing: -.02em; text-wrap: balance; }
.ma-anuncio__bajada { color: var(--tinta-suave); font-size: 21px; line-height: 30px; }
.ma-anuncio__texto .ma-acciones { margin-top: var(--espacio-4); }
/* Bajada larga en dos líneas (Metalworking): un poco más chica y columna más ancha */
.ma-anuncio__bajada--compacta { font-size: 18px; line-height: 27px; }
/* Variante: banner que ya trae texto incrustado */
.ma-anuncio--banner .ma-anuncio__foto { width: auto; left: calc(max(var(--margen-escritorio), (100% - var(--contenedor)) / 2) - 24px); bottom: 112px; }
.ma-anuncio--banner .ma-anuncio__img { background: var(--gris-azulado); }
.ma-anuncio__banner { position: absolute; top: 32px; bottom: 32px; left: calc(var(--corte-diagonal) + 32px); right: 200px; border-radius: var(--radio-md); overflow: hidden; }
.ma-anuncio--banner .ma-anuncio__cuerpo { align-items: flex-end; justify-content: flex-end; padding-block: 0 32px; }
.ma-anuncio--banner .ma-anuncio__texto { max-width: none; }
.ma-anuncio--banner .ma-anuncio__texto .ma-acciones { margin-top: 0; }
/* Controles */
.ma-carrusel__controles-fila { position: absolute; left: 0; right: 0; bottom: 34px; z-index: 2; pointer-events: none; }
.ma-carrusel__controles { display: flex; align-items: center; gap: var(--espacio-3); width: max-content; pointer-events: auto; }
.ma-redondo {
  display: grid; place-items: center; width: 40px; height: 40px; padding: 0; flex: none;
  border: 1.5px solid var(--tinta); border-radius: 50%; background: var(--blanco); color: var(--tinta); cursor: pointer;
  transition: background-color var(--ma-rapido) var(--ma-curva), color var(--ma-rapido) var(--ma-curva);
}
.ma-redondo:hover { background: var(--tinta); color: var(--tinta-inversa); }
.ma-redondo:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-redondo .ma-ico { width: 18px; height: 18px; stroke-width: 2; }
.ma-redondo--pausa { border-color: transparent; background: transparent; }
.ma-redondo--pausa:hover { background: var(--blanco); color: var(--tinta); }
.ma-redondo--pausa .ma-ico-play { display: none; }
.ma-redondo--pausa[aria-pressed="true"] .ma-ico-pausa { display: none; }
.ma-redondo--pausa[aria-pressed="true"] .ma-ico-play { display: block; }
.ma-carrusel__puntos { display: flex; align-items: center; }
.ma-punto { position: relative; width: 18px; height: 24px; padding: 0; border: 0; background: none; cursor: pointer; border-radius: var(--radio-pildora); transition: width var(--ma-medio) var(--ma-curva); }
.ma-punto::before { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: var(--radio-pildora); background: var(--linea-control); transition: width var(--ma-medio) var(--ma-curva), margin var(--ma-medio) var(--ma-curva), background-color var(--ma-medio) var(--ma-curva); }
.ma-punto[aria-current="true"] { width: 36px; }
.ma-punto[aria-current="true"]::before { width: 24px; margin-left: -12px; background: var(--rojo); }
.ma-punto:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-carrusel__contador { min-width: 52px; color: var(--tinta); font-size: 14px; line-height: 20px; font-weight: 600; font-variant-numeric: tabular-nums; letter-spacing: .02em; }
.ma-carrusel__contador span { color: var(--tinta-suave); font-weight: 500; }
@media (max-width: 1199px) {
  .ma-anuncio__foto { width: calc(50% + 40px); }
  .ma-anuncio__titular { font-size: 52px; line-height: 56px; }
  .ma-anuncio__texto { max-width: 440px; }
}
@media (min-width: 1200px) { .ma-anuncio__texto--ancho { max-width: 520px; } }
/* Los puntos solo caben desde 1280 px sin acercarse a la franja; antes van flechas, contador y pausa */
@media (max-width: 1279px) { .ma-carrusel__puntos { display: none; } }
@media (min-width: 1200px) and (max-width: 1279px) { .ma-anuncio__bajada--compacta { font-size: 17px; line-height: 25px; } }
@media (min-width: 1069px) and (max-width: 1199px) {
  .ma-anuncio__texto--ancho { max-width: 490px; }
  .ma-anuncio__bajada--compacta { font-size: 17px; line-height: 25px; }
}
/* Tableta y móvil: apilado. La foto arriba con el corte horizontal y la franja roja debajo; los controles
   entre la foto y el texto, a la misma altura en todos los anuncios (--ma-foto-alto); el texto abajo. */
@media (max-width: 1068px) {
  :root { --ma-corte-v: 72px; --ma-foto-alto: clamp(256px, 30vw, 320px); }
  .ma-anuncio, .ma-anuncio__cuerpo { min-height: 0; }
  .ma-anuncio { display: flex; flex-direction: column; }
  .ma-anuncio__foto { position: relative; width: auto; height: var(--ma-foto-alto); margin-bottom: calc(var(--franja-diagonal) + var(--hueco-diagonal)); }
  .ma-anuncio__img { clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--ma-corte-v)), 0 100%); }
  .ma-anuncio__franja {
    top: calc(100% - var(--ma-corte-v) + var(--hueco-diagonal)); bottom: auto; left: 0; right: 0; width: auto; height: calc(var(--ma-corte-v) + var(--franja-diagonal));
    clip-path: polygon(0 var(--ma-corte-v), 100% 0, 100% var(--franja-diagonal), 0 calc(var(--ma-corte-v) + var(--franja-diagonal)));
  }
  /* El triángulo apoya su base en la franja: a corte-v − hueco del borde inferior de la foto */
  .ma-anuncio__triangulo { right: 40px; bottom: calc(var(--ma-corte-v) - var(--hueco-diagonal)); width: 64px; height: 88px; }
  .ma-anuncio__cuerpo { display: block; padding-block: 68px var(--espacio-10); }
  .ma-anuncio__texto { max-width: 640px; gap: var(--espacio-4); }
  .ma-anuncio__titular { font-size: 44px; line-height: 48px; letter-spacing: -.02em; }
  .ma-anuncio__bajada { font-size: 19px; line-height: 28px; }
  .ma-anuncio__bajada--compacta { font-size: 17px; line-height: 26px; }
  .ma-anuncio--banner .ma-anuncio__foto { left: auto; bottom: auto; height: var(--ma-foto-alto); }
  .ma-anuncio__banner { top: 24px; bottom: calc(var(--ma-corte-v) + 16px); left: 24px; right: 24px; }
  .ma-anuncio--banner .ma-anuncio__triangulo { display: none; }
  .ma-carrusel__controles-fila { top: calc(var(--ma-foto-alto) + var(--franja-diagonal) + var(--hueco-diagonal) + 8px); bottom: auto; }
  .ma-carrusel__controles { width: auto; gap: var(--espacio-3); }
  .ma-carrusel__contador { order: 2; min-width: 0; padding-inline: 4px; }
  .ma-redondo--ant { order: 1; }
  .ma-redondo--sig { order: 3; }
  .ma-redondo--pausa { order: 4; margin-left: auto; }
  .ma-carrusel { padding-bottom: var(--espacio-4); }
}
@media (max-width: 734px) {
  :root { --ma-corte-v: 44px; --ma-foto-alto: 248px; }
  .ma-anuncio__triangulo { right: 28px; width: 46px; height: 63px; }
  .ma-anuncio__cuerpo { padding-block: 68px var(--espacio-6); }
  .ma-anuncio__texto { max-width: none; gap: var(--espacio-3); }
  .ma-rotulo { font-size: 14px; }
  .ma-anuncio__titular { font-size: 36px; line-height: 40px; letter-spacing: -.015em; }
  .ma-anuncio__bajada { font-size: 17px; line-height: 24px; }
  .ma-anuncio__bajada--compacta { font-size: 16px; line-height: 23px; }
  .ma-anuncio__texto .ma-acciones { display: grid; gap: var(--espacio-3); margin-top: var(--espacio-2); }
  .ma-anuncio__texto .ma-acciones .ma-boton { width: 100%; }
  .ma-anuncio__banner { top: 20px; bottom: calc(var(--ma-corte-v) + 12px); left: 20px; right: 20px; }
}

/* ===== Franja de la tienda ===== */
.ma-franja-tienda { display: flex; align-items: center; justify-content: space-between; gap: var(--espacio-8); padding: var(--espacio-12) var(--espacio-16); border-radius: var(--radio-xl); background: var(--gris-claro); }
.ma-franja-tienda__texto { display: grid; gap: var(--espacio-2); }
.ma-franja-tienda__texto p { color: var(--tinta-suave); }
.ma-seccion--franja { padding-block: var(--espacio-16); }
@media (max-width: 734px) {
  .ma-franja-tienda { flex-direction: column; padding: var(--espacio-10) var(--espacio-6); text-align: center; border-radius: var(--radio-lg); }
  .ma-franja-tienda .ma-boton { width: 100%; }
  .ma-seccion--franja { padding-block: var(--espacio-10); }
}

/* ===== Líneas de productos y servicios ===== */
.ma-productos { display: grid; gap: var(--espacio-6); }
.ma-medio--producto { aspect-ratio: 601 / 338; }
.ma-medio--noticia { aspect-ratio: 472 / 241; }

/* ===== División de Proyectos ===== */
.ma-proyectos__rejilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: var(--espacio-16); align-items: center; }
.ma-proyectos__texto { display: grid; gap: var(--espacio-6); }
.ma-proyectos__texto .ma-cuerpo { color: var(--tinta-inversa-suave); }
.ma-proyectos__texto .ma-acciones { margin-top: var(--espacio-2); }
.ma-proyectos__foto { position: relative; aspect-ratio: 730 / 480; }
.ma-proyectos__img { position: absolute; inset: 0; border-radius: 0 var(--radio-xl) var(--radio-xl) 0; overflow: hidden; clip-path: polygon(96px 0, 100% 0, 100% 100%, 0 100%); }
.ma-proyectos__franja { position: absolute; top: 0; bottom: 0; left: -24px; width: 110px; background: var(--rojo); clip-path: polygon(96px 0, 110px 0, 14px 100%, 0 100%); }
@media (max-width: 1068px) {
  .ma-proyectos__rejilla { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-10); }
  .ma-proyectos__foto { margin-left: 24px; }
}
@media (max-width: 734px) {
  .ma-proyectos__img { clip-path: polygon(56px 0, 100% 0, 100% 100%, 0 100%); border-radius: 0 var(--radio-lg) var(--radio-lg) 0; }
  .ma-proyectos__franja { width: 66px; clip-path: polygon(56px 0, 66px 0, 10px 100%, 0 100%); left: -20px; }
  .ma-proyectos__texto .ma-boton { width: 100%; }
}

/* ===== Catálogos ===== */
.ma-catalogo { position: relative; display: flex; flex-direction: column; gap: var(--espacio-3); color: inherit; text-decoration: none; border-radius: var(--radio-md); }
.ma-catalogo__portada { display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: var(--radio-md); box-shadow: var(--sombra-reposo); transition: transform var(--ma-medio) var(--ma-curva-salida), box-shadow var(--ma-medio) var(--ma-curva-salida); }
.ma-catalogo:hover .ma-catalogo__portada { transform: translateY(-6px); box-shadow: var(--sombra-elevada); }
.ma-catalogo:focus-visible { outline: none; }
.ma-catalogo:focus-visible .ma-catalogo__portada { box-shadow: var(--sombra-elevada), var(--foco); }
.ma-catalogo__titulo { color: var(--tinta); font-size: 14px; line-height: 20px; font-weight: 600; text-align: center; text-wrap: balance; }

/* ===== Suscripción ===== */
.ma-campo { width: 100%; min-height: var(--control-alto); padding: 0 22px; border: 1px solid var(--linea-control); border-radius: var(--radio-pildora); background: var(--blanco); color: var(--tinta); font-family: var(--font-texto); font-size: 17px; line-height: 24px; transition: border-color var(--ma-rapido) var(--ma-curva), box-shadow var(--ma-rapido) var(--ma-curva); }
.ma-campo::placeholder { color: var(--tinta-suave); opacity: 1; }
.ma-campo:hover { border-color: var(--tinta-suave); }
.ma-campo:focus { outline: none; border-color: var(--tinta); box-shadow: var(--foco); }
.ma-suscripcion > .ma-cuerpo { margin-top: var(--espacio-3); }
.ma-suscripcion__mensaje { display: none; max-width: 520px; margin: var(--espacio-8) auto 0; padding: var(--espacio-4) var(--espacio-6); border-radius: var(--radio-lg); background: var(--gris-claro); color: var(--tinta); font-weight: 600; }
.ma-suscripcion.is-enviada .ma-suscripcion__form { display: none; }
.ma-suscripcion.is-enviada .ma-suscripcion__mensaje { display: block; }
.ma-suscripcion__form { display: flex; gap: var(--espacio-2); max-width: 520px; margin: var(--espacio-8) auto 0; }
.ma-suscripcion__form .ma-campo { flex: 1; }
@media (max-width: 734px) { .ma-suscripcion__form { flex-direction: column; gap: var(--espacio-3); } }

/* ===== Cabeza de página y plantilla B base (Cañerías) ===== */
.ma-pag-cabeza { padding-block: var(--espacio-20) var(--espacio-12); text-align: center; }
.ma-pag-cabeza .ma-entradilla { margin-top: var(--espacio-3); color: var(--tinta-suave); }
.ma-pag-cabeza__nav { margin-top: var(--espacio-10); }
.ma-pag-cabeza__rotulo { justify-content: center; margin-bottom: var(--espacio-4); }
.ma-sublineas { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--espacio-2); padding: 0; list-style: none; }
.ma-chip { display: inline-flex; align-items: center; min-height: var(--control-alto-sm); padding: 0 16px; border-radius: var(--radio-pildora); background: var(--gris-claro); color: var(--tinta); font-size: 14px; line-height: 20px; font-weight: 500; white-space: nowrap; text-decoration: none; transition: background-color var(--ma-rapido) var(--ma-curva), color var(--ma-rapido) var(--ma-curva); }
.ma-chip:hover { background: var(--linea); }
.ma-chip[aria-current="page"] { background: var(--tinta); color: var(--tinta-inversa); }
.ma-chip:focus-visible { outline: none; box-shadow: var(--foco); }
/* Grupo de chips sin página propia (p. ej. «Válvulas» en MultiFireNet) */
.ma-sublineas__grupo { display: inline-flex; align-items: center; gap: 4px; padding: 3px 3px 3px 14px; border: 1px solid var(--linea); border-radius: var(--radio-pildora); }
.ma-sublineas__etiqueta { margin-right: 6px; color: var(--tinta-suave); font-size: 14px; line-height: 20px; font-weight: 600; white-space: nowrap; }
.ma-sublineas__hijos { display: flex; gap: 4px; padding: 0; list-style: none; }
.ma-sublineas__grupo .ma-chip { min-height: 28px; padding: 0 12px; }
.ma-producto { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--espacio-20); align-items: start; padding-bottom: var(--espacio-32); }
.ma-producto__texto { display: grid; gap: var(--espacio-6); max-width: var(--contenedor-texto); }
.ma-producto__texto .ma-lista-tecnica { margin-top: var(--espacio-6); }
.ma-producto__antes-lista { color: var(--tinta); font-weight: 600; }
.ma-producto__texto .ma-producto__antes-lista + .ma-lista-tecnica { margin-top: 0; }
.ma-producto__lateral { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--nav-alto) + var(--linea-roja) + 24px); display: grid; gap: var(--espacio-6); }
.ma-producto__foto { position: relative; aspect-ratio: 3 / 4; border-radius: var(--radio-xl); overflow: hidden; }
.ma-producto__foto::after { content: ""; position: absolute; right: 28px; bottom: 0; width: 56px; height: 77px; background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.ma-producto__acciones { display: grid; gap: var(--espacio-3); }
.ma-producto__acciones .ma-enlace { justify-self: center; margin-top: var(--espacio-2); }
.ma-lista-tecnica { padding: 0; list-style: none; border-top: 1px solid var(--linea); }
.ma-lista-tecnica li { display: flex; align-items: baseline; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--linea); }
.ma-lista-tecnica li::before { content: ""; flex: none; width: 8px; height: 7px; background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); transform: translateY(-2px); }
.ma-acero__rejilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: var(--espacio-16); align-items: start; }
.ma-acero__texto { display: grid; gap: var(--espacio-5); }
.ma-acero__texto p:first-child { font-size: 21px; line-height: 30px; color: var(--tinta); }
.ma-acero__texto p { color: var(--tinta-suave); }
@media (max-width: 1068px) {
  .ma-producto { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--espacio-12); }
}
@media (max-width: 734px) {
  .ma-pag-cabeza { padding-block: var(--espacio-10) var(--espacio-8); }
  .ma-pag-cabeza__nav { margin-top: var(--espacio-6); }
  .ma-sublineas { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--margen-movil)); padding: var(--espacio-1) var(--margen-movil); }
  .ma-sublineas::-webkit-scrollbar { display: none; }
  .ma-producto { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-10); padding-bottom: var(--espacio-16); }
  .ma-producto__lateral { position: static; }
  .ma-producto__foto { aspect-ratio: 4 / 5; max-height: 440px; border-radius: var(--radio-lg); }
  .ma-acero__rejilla { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-6); }
  .ma-acero__texto p:first-child { font-size: 19px; line-height: 27px; }
}

/* =====================================================================
   PLANTILLAS DE PÁGINA
   A · Portada de sección   B · Línea o subpágina   C · Páginas únicas
   Todas parten con .ma-pag-cabeza (título + chips del menú lateral).
   ===================================================================== */
.ma-seccion--sin-arriba { padding-top: 0; }
.ma-encabezado__frase { max-width: 760px; text-wrap: balance; }
.ma-subtitulo { margin: 0 0 var(--espacio-6); color: var(--tinta); font-size: 21px; line-height: 28px; font-weight: 600; letter-spacing: -.005em; }
.ma-enlace-texto { color: var(--enlace); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .18em; overflow-wrap: anywhere; border-radius: 3px; }
.ma-enlace-texto:hover { text-decoration-thickness: 2px; }
.ma-enlace-texto:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-rotulo--inverso { color: var(--tinta-inversa); }
.ma-rotulo--inverso::before { background: var(--rojo); }

/* ----- A · Intro: texto con foto, logo o video al lado ----- */
.ma-intro { padding-bottom: var(--espacio-32); }
.ma-intro__rejilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--espacio-16) var(--espacio-20); align-items: center; }
.ma-intro__texto { display: grid; gap: var(--espacio-5); align-content: start; }
.ma-intro__texto .ma-cuerpo { color: var(--tinta-suave); }
.ma-intro__texto .ma-cuerpo strong { color: var(--tinta); font-weight: 600; }
.ma-intro__texto .ma-acciones { margin-top: var(--espacio-4); }
.ma-intro__destacado { margin-bottom: var(--espacio-2); color: var(--tinta); font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 600; letter-spacing: -.01em; text-wrap: balance; }
.ma-intro__medio { min-width: 0; }
.ma-intro__imagen { border-radius: var(--radio-xl); }
.ma-intro__logo { border-radius: var(--radio-xl); border: 1px solid var(--linea); background: var(--blanco); }
.ma-intro__acciones { display: grid; gap: var(--espacio-3); align-self: start; padding: var(--espacio-8); border-radius: var(--radio-xl); background: var(--gris-claro); }
.ma-intro--centro .ma-intro__rejilla { grid-template-columns: minmax(0, 1fr); max-width: var(--contenedor-texto); margin-inline: auto; text-align: center; }
.ma-intro--centro .ma-intro__texto .ma-cuerpo { font-size: 21px; line-height: 31px; }
.ma-intro--centro .ma-acciones { justify-content: center; }
/* Video (YouTube): marcador con botón de reproducir */
.ma-video { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: var(--radio-xl); overflow: hidden; color: inherit; text-decoration: none; }
.ma-video .ma-foto { align-items: flex-end; justify-content: flex-start; padding: var(--espacio-4); }
.ma-video__play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%; background: var(--blanco); box-shadow: var(--sombra-elevada); transition: transform var(--ma-medio) var(--ma-curva-salida); }
.ma-video__play::after { content: ""; position: absolute; left: 31px; top: 25px; border-style: solid; border-width: 13px 0 13px 21px; border-color: transparent transparent transparent var(--rojo); }
.ma-video:hover .ma-video__play { transform: scale(1.06); }
.ma-video:focus-visible { outline: none; box-shadow: var(--foco); }
/* Frase sobre foto de fondo */
.ma-declaracion { padding-bottom: var(--espacio-32); }
.ma-declaracion__panel { position: relative; overflow: hidden; border-radius: var(--radio-xl); background: var(--gris-oscuro); color: var(--tinta-inversa); }
.ma-declaracion__fondo { position: absolute; inset: 0; }
.ma-declaracion__fondo .ma-foto--oscura { background-color: var(--gris-oscuro); }
.ma-declaracion__cuerpo { position: relative; display: grid; justify-items: center; gap: var(--espacio-8); padding: var(--espacio-20) var(--espacio-10) var(--espacio-20); text-align: center; }
.ma-declaracion__marca { width: 30px; height: 41px; background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.ma-declaracion__texto { max-width: 980px; font-family: var(--font-display); font-size: 40px; line-height: 48px; font-weight: 600; letter-spacing: -.015em; text-wrap: balance; }
/* Bloques de texto con título al lado */
.ma-temas .ma-temas__fila + .ma-temas__fila { margin-top: var(--espacio-20); padding-top: var(--espacio-20); border-top: 1px solid var(--linea); }
/* Rejilla de tarjetas de portada: filas de cuatro, la última centrada */
.ma-rejilla-centrada { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--espacio-6); }
.ma-rejilla-centrada > * { flex: 0 1 calc((100% - 3 * var(--espacio-6)) / 4); }
.ma-rejilla-centrada .ma-t-3 { font-size: 24px; line-height: 30px; }
.ma-rejilla-centrada .ma-tarjeta__cuerpo { padding: var(--espacio-5) var(--espacio-6) var(--espacio-6); }
.ma-acero__texto strong { color: var(--tinta); font-weight: 600; }
/* Barra final de acciones */
.ma-cierre { padding-block: 0 var(--espacio-32); }
.ma-cierre__acciones { justify-content: center; padding: var(--espacio-10); border-radius: var(--radio-xl); background: var(--gris-claro); }

/* ----- B · Perfiles con tabla técnica (Vigas Laminadas) ----- */
.ma-perfiles { padding-bottom: var(--espacio-20); }
.ma-perfil { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--espacio-12); align-items: start; padding-block: var(--espacio-16); border-top: 1px solid var(--linea); }
.ma-perfil:first-child { padding-top: var(--espacio-4); border-top: 0; }
.ma-perfil__cabeza { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--nav-alto) + var(--linea-roja) + 24px); display: grid; gap: var(--espacio-3); justify-items: start; }
.ma-perfil__norma { color: var(--tinta-suave); font-size: 17px; line-height: 24px; font-weight: 500; }
.ma-perfil__foto { width: 148px; aspect-ratio: var(--aspecto, 3 / 4); margin-block: var(--espacio-3); border: 1px solid var(--linea); border-radius: var(--radio-md); overflow: hidden; }
.ma-perfil__tolerancia { padding-top: var(--espacio-3); border-top: 1px solid var(--linea); color: var(--tinta-suave); font-size: 14px; line-height: 20px; }
/* Tabla técnica */
.ma-tabla-marco { position: relative; max-width: 100%; overflow-x: auto; border: 1px solid var(--linea); border-radius: var(--radio-lg); background: var(--blanco); scrollbar-width: thin; }
.ma-tabla-marco:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-tabla { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 15px; line-height: 20px; font-variant-numeric: tabular-nums; }
.ma-tabla th, .ma-tabla td { padding: 10px 14px; border-bottom: 1px solid var(--linea); text-align: right; white-space: nowrap; }
.ma-tabla thead th { background: var(--gris-claro); color: var(--tinta); font-weight: 600; text-align: center; }
.ma-tabla thead tr:first-child th { padding-top: 14px; }
.ma-tabla thead tr + tr th { padding-top: 0; color: var(--tinta-suave); font-size: 13px; font-weight: 500; text-align: right; }
.ma-tabla thead tr:first-child th[colspan] { border-bottom: 0; }
.ma-tabla td { color: var(--tinta); }
.ma-tabla .ma-tabla__inicio { border-left: 1px solid var(--linea); }
.ma-tabla .ma-tabla__clave { position: sticky; left: 0; z-index: 1; background: var(--blanco); color: var(--tinta); font-weight: 600; text-align: left; box-shadow: inset -1px 0 0 var(--linea); }
.ma-tabla thead .ma-tabla__clave { background: var(--gris-claro); vertical-align: bottom; padding-bottom: 10px; }
.ma-tabla tbody tr:last-child > * { border-bottom: 0; }
.ma-tabla tbody tr:hover > * { background: #fafafb; }
/* Variante de texto (columnas que se ajustan) */
.ma-tabla--texto th, .ma-tabla--texto td { min-width: 168px; text-align: left; white-space: normal; vertical-align: top; }
.ma-tabla--texto thead th { text-align: left; vertical-align: bottom; font-size: 14px; }
.ma-tabla--texto .ma-tabla__clave { min-width: 140px; }

/* ----- B · Líneas de servicio (tarjetas con foto) ----- */
.ma-servicios { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espacio-6); padding: 0; list-style: none; }
.ma-servicio {
  display: flex; flex-direction: column; height: 100%; overflow: hidden; border-radius: var(--radio-lg); background: var(--blanco); box-shadow: var(--sombra-reposo);
  color: var(--tinta); text-decoration: none;
  transition: transform var(--ma-medio) var(--ma-curva-salida), box-shadow var(--ma-medio) var(--ma-curva-salida);
}
.ma-servicio__medio { aspect-ratio: 4 / 3; margin: var(--espacio-2) var(--espacio-2) 0; border-radius: calc(var(--radio-lg) - var(--espacio-2)); overflow: hidden; }
.ma-servicio__titulo { display: flex; align-items: baseline; justify-content: space-between; gap: var(--espacio-3); flex: 1; padding: var(--espacio-4) var(--espacio-5) var(--espacio-5); font-size: 17px; line-height: 22px; font-weight: 600; text-wrap: pretty; }
.ma-servicio__titulo::after { content: "\203A"; content: "\203A" / ""; flex: none; color: var(--rojo-texto); font-size: 22px; line-height: 1; transition: transform var(--ma-rapido) var(--ma-curva); }
.ma-servicio:hover { transform: translateY(-4px); box-shadow: var(--sombra-elevada); }
.ma-servicio:hover .ma-servicio__titulo::after { transform: translateX(3px); }
.ma-servicio:focus-visible { outline: none; box-shadow: var(--sombra-elevada), var(--foco); }

/* ----- B · Fichas de producto (Rociadores) ----- */
.ma-marca-socio { display: flex; justify-content: center; padding-bottom: var(--espacio-12); }
.ma-marca-socio__logo { width: 320px; aspect-ratio: var(--aspecto, 4 / 1); border: 1px solid var(--linea); border-radius: var(--radio-md); overflow: hidden; }
.ma-seccion--fichas { padding-top: 0; }
.ma-fichas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espacio-6); }
.ma-ficha { display: flex; flex-direction: column; padding: var(--espacio-2) var(--espacio-2) var(--espacio-8); border-radius: var(--radio-xl); background: var(--gris-claro); }
.ma-ficha__medio { aspect-ratio: 1 / 1; border-radius: calc(var(--radio-xl) - var(--espacio-2)); overflow: hidden; }
.ma-ficha__cuerpo { display: grid; gap: var(--espacio-2); align-content: start; padding: var(--espacio-6) var(--espacio-6) 0; }
.ma-ficha__categoria { color: var(--rojo-texto); font-size: 14px; line-height: 20px; font-weight: 600; }
.ma-ficha__modelo { font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 600; letter-spacing: -.01em; }
.ma-ficha__lista { display: grid; gap: var(--espacio-2); margin-top: var(--espacio-3); padding: 0; list-style: none; color: var(--tinta-suave); font-size: 15px; line-height: 21px; }
.ma-ficha__lista li { position: relative; padding-left: 18px; text-wrap: pretty; }
.ma-ficha__lista li::before { content: ""; position: absolute; left: 0; top: 7px; width: 8px; height: 7px; background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }

/* ----- C · Propósitos y Valores ----- */
.ma-valores { padding-bottom: var(--espacio-32); }
.ma-banner-pagina { aspect-ratio: var(--aspecto, 16 / 5); border-radius: var(--radio-xl); overflow: hidden; }
.ma-valores__intro { max-width: 820px; margin: var(--espacio-16) auto var(--espacio-12); color: var(--tinta); text-align: center; text-wrap: balance; }
.ma-valores__lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espacio-6); padding: 0; list-style: none; }
.ma-valor { display: grid; align-content: start; gap: var(--espacio-8); min-height: 220px; padding: var(--espacio-8) var(--espacio-8) var(--espacio-10); border-radius: var(--radio-xl); background: var(--gris-claro); }
.ma-valor::before { content: ""; width: 24px; height: 33px; background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.ma-valor p { font-family: var(--font-display); font-size: 24px; line-height: 30px; font-weight: 600; letter-spacing: -.01em; text-wrap: balance; }

/* ----- C · Certificaciones ----- */
.ma-certificados { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espacio-6); }
.ma-certificado { display: grid; align-content: start; gap: var(--espacio-4); padding: var(--espacio-12); border-radius: var(--radio-xl); background: var(--gris-claro); }
.ma-certificado__logo { width: 280px; max-width: 100%; height: 96px; margin-bottom: var(--espacio-4); border-radius: var(--radio-md); overflow: hidden; }
.ma-certificado p { color: var(--tinta-suave); text-wrap: pretty; }

/* ----- C · Texto largo (Condiciones Comerciales) ----- */
.ma-texto-largo { max-width: 760px; margin-inline: auto; padding-bottom: var(--espacio-32); }
.ma-texto-largo section { display: grid; gap: var(--espacio-4); padding-block: var(--espacio-10); border-top: 1px solid var(--linea); }
.ma-texto-largo section:first-child { padding-top: 0; border-top: 0; }
.ma-texto-largo h2 { margin-bottom: var(--espacio-1); }
.ma-texto-largo h3 { margin-top: var(--espacio-3); font-size: 19px; line-height: 26px; font-weight: 600; }
.ma-texto-largo p { text-wrap: pretty; }
.ma-texto-largo ul { display: grid; gap: var(--espacio-2); padding: 0; list-style: none; }
.ma-texto-largo ul li { position: relative; padding-left: 22px; text-wrap: pretty; }
.ma-texto-largo ul li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 8px; height: 7px; background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.ma-nota { color: var(--tinta-suave); font-size: 14px; line-height: 21px; }
.ma-caja-nota { margin-top: var(--espacio-4); padding: var(--espacio-6) var(--espacio-8); border-radius: var(--radio-lg); background: var(--gris-claro); }

/* ----- C · Pestañas (Sucursales) ----- */
.ma-sucursales { padding-bottom: var(--espacio-32); }
.ma-sucursales__intro { display: grid; gap: var(--espacio-3); margin-bottom: var(--espacio-12); color: var(--tinta-suave); }
/* Control segmentado: se distingue de los chips de navegación */
.ma-pestanas__barra { display: flex; justify-content: center; margin-bottom: var(--espacio-10); }
.ma-pestanas__lista { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 2px; padding: 4px; border-radius: var(--radio-pildora); background: var(--gris-claro); }
.ma-pestana { min-height: 36px; padding: 0 16px; border: 0; border-radius: var(--radio-pildora); background: transparent; color: var(--tinta-suave); font: 500 14px/20px var(--font-texto); white-space: nowrap; cursor: pointer; transition: background-color var(--ma-rapido) var(--ma-curva), color var(--ma-rapido) var(--ma-curva), box-shadow var(--ma-rapido) var(--ma-curva); }
.ma-pestana:hover { color: var(--tinta); }
.ma-pestana[aria-selected="true"] { background: var(--blanco); color: var(--tinta); font-weight: 600; box-shadow: 0 1px 2px #3b3f4514, 0 2px 8px #3b3f4514; }
.ma-pestana:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-pestanas__panel:focus-visible { outline: none; box-shadow: var(--foco); border-radius: var(--radio-xl); }
.ma-sucursal { display: grid; grid-template-columns: 300px minmax(0, 1fr) minmax(0, 1.05fr); gap: var(--espacio-10); align-items: stretch; }
/* La foto nunca pasa del ancho de su columna: su alto acompaña la fila (texto y mapa), con un mínimo que respeta la proporción 350:380.
   La imagen real se recorta (cover) y no se deforma si la caja queda más alta. */
.ma-sucursal__foto { aspect-ratio: auto; min-width: 0; min-height: calc(300px * 380 / 350); border-radius: var(--radio-xl); overflow: hidden; }
.ma-sucursal__foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ma-sucursal__datos { display: grid; align-content: start; gap: var(--espacio-5); }
.ma-sucursal__mapa { min-height: 320px; border-radius: var(--radio-xl); overflow: hidden; }
.ma-datos { display: grid; margin: 0; border-top: 1px solid var(--linea); }
.ma-datos > div { display: grid; gap: 2px; padding-block: var(--espacio-3); border-bottom: 1px solid var(--linea); }
.ma-datos dt { color: var(--tinta-suave); font-size: 13px; line-height: 18px; font-weight: 600; }
.ma-datos dd { margin: 0; color: var(--tinta); font-size: 17px; line-height: 24px; overflow-wrap: anywhere; }

/* ----- C · Formulario (Solicitud de Cotización) ----- */
.ma-cotizar { padding-bottom: var(--espacio-32); scroll-margin-top: calc(var(--nav-alto) + 16px); }
.ma-cotizar__rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--espacio-16); align-items: start; }
.ma-cotizar__lateral { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--nav-alto) + var(--linea-roja) + 24px); }
.ma-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espacio-6); padding: var(--espacio-12); border-radius: var(--radio-xl); background: var(--gris-claro); }
.ma-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.ma-form__grupo { display: contents; }
.ma-form__campo { display: grid; gap: var(--espacio-2); align-content: start; min-width: 0; }
.ma-form__campo--ancho { grid-column: 1 / -1; }
.ma-form__etiqueta { padding: 0; color: var(--tinta); font-size: 14px; line-height: 20px; font-weight: 600; }
.ma-form__req { color: var(--rojo-texto); }
.ma-campo--caja { border-radius: var(--radio-md); padding: 0 16px; }
textarea.ma-campo { min-height: 168px; padding: 12px 16px; resize: vertical; }
.ma-opciones { display: inline-flex; justify-self: start; gap: 4px; padding: 4px; border: 1px solid var(--linea-control); border-radius: var(--radio-pildora); background: var(--blanco); }
.ma-opcion { position: relative; display: inline-flex; }
.ma-opcion input { position: absolute; inset: 0; margin: 0; opacity: 0; cursor: pointer; }
.ma-opcion span { display: inline-flex; align-items: center; min-height: 38px; padding: 0 22px; border-radius: var(--radio-pildora); color: var(--tinta); font-size: 15px; font-weight: 500; transition: background-color var(--ma-rapido) var(--ma-curva), color var(--ma-rapido) var(--ma-curva); }
.ma-opcion input:checked + span { background: var(--tinta); color: var(--tinta-inversa); }
.ma-opcion input:focus-visible + span { box-shadow: var(--foco); }
.ma-form__aviso { padding: var(--espacio-5) var(--espacio-6); border-radius: var(--radio-lg); background: var(--blanco); color: var(--tinta-suave); font-size: 15px; line-height: 22px; }
.ma-archivo { width: 100%; padding: 10px; border: 1px dashed var(--linea-control); border-radius: var(--radio-md); background: var(--blanco); color: var(--tinta-suave); font-family: var(--font-texto); font-size: 15px; }
.ma-archivo::file-selector-button { margin-right: 14px; padding: 0 16px; min-height: 34px; border: 1.5px solid var(--tinta); border-radius: var(--radio-pildora); background: var(--blanco); color: var(--tinta); font: 500 14px/20px var(--font-texto); cursor: pointer; }
.ma-archivo:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-captcha { width: 304px; max-width: 100%; height: 78px; border-radius: var(--radio-sm); overflow: hidden; }

/* ----- C · Catálogos ----- */
.ma-catalogos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--espacio-12) var(--espacio-8); padding: 0 0 var(--espacio-16); list-style: none; }
.ma-catalogos .ma-catalogo { gap: var(--espacio-4); }
.ma-catalogos .ma-catalogo__portada { aspect-ratio: 5 / 7; }
.ma-catalogos .ma-catalogo__titulo { font-size: 15px; line-height: 21px; }
.ma-catalogos__item { scroll-margin-top: calc(var(--nav-alto) + 32px); }
.ma-catalogos__item:target .ma-catalogo__portada { box-shadow: var(--sombra-elevada), 0 0 0 3px var(--rojo); }

/* ----- C · Proyectos (landing) ----- */
.ma-heroe { position: relative; overflow: hidden; background: var(--gris-oscuro); color: var(--tinta-inversa); }
.ma-heroe__fondo { position: absolute; inset: 0; }
.ma-heroe__fondo .ma-foto__rotulo { position: relative; z-index: 1; }
.ma-heroe__fondo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #3b3f45f2 0%, #3b3f45c7 45%, #3b3f4533 100%); pointer-events: none; }
.ma-heroe__cuerpo { position: relative; z-index: 1; display: grid; justify-items: start; gap: var(--espacio-6); min-height: 680px; align-content: center; padding-block: var(--espacio-20); }
.ma-heroe__titulo { max-width: 860px; font-family: var(--font-display); font-size: 64px; line-height: 68px; font-weight: 600; letter-spacing: -.02em; text-wrap: balance; }
.ma-heroe__texto { max-width: 600px; color: var(--tinta-inversa-suave); font-size: 21px; line-height: 30px; text-wrap: pretty; }
.ma-heroe .ma-acciones { margin-top: var(--espacio-2); }
.ma-cifras { display: flex; flex-wrap: wrap; gap: var(--espacio-6) var(--espacio-12); padding: 0; list-style: none; }
.ma-cifra { display: grid; gap: 2px; }
.ma-cifra__valor { color: var(--tinta); font-family: var(--font-display); font-size: 40px; line-height: 44px; font-weight: 600; letter-spacing: -.015em; font-variant-numeric: tabular-nums; }
.ma-cifra__rotulo { color: var(--tinta-suave); font-size: 14px; line-height: 20px; }
.ma-cifras--heroe { margin-top: var(--espacio-10); padding-top: var(--espacio-6); border-top: 1px solid #ffffff33; }
.ma-cifras--heroe .ma-cifra__valor, .ma-cifras--inversas .ma-cifra__valor { color: var(--tinta-inversa); }
.ma-cifras--heroe .ma-cifra__rotulo, .ma-cifras--inversas .ma-cifra__rotulo { color: var(--tinta-inversa-suave); }
.ma-cifras--compactas .ma-cifra__valor { font-size: 32px; line-height: 36px; }
.ma-banda-cifras { padding-block: var(--espacio-16); border-bottom: 1px solid var(--linea); }
.ma-cifras--banda { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espacio-8); }
.ma-cifras--banda .ma-cifra { padding-left: var(--espacio-6); border-left: 2px solid var(--rojo); }
.ma-cifras--banda .ma-cifra__valor { font-size: 56px; line-height: 60px; }
.ma-encabezado-seccion { display: grid; justify-items: start; gap: var(--espacio-4); max-width: 820px; margin-bottom: var(--espacio-12); }
.ma-encabezado-seccion .ma-entradilla { color: var(--tinta-suave); }
.ma-seccion--oscura .ma-encabezado-seccion .ma-entradilla { color: var(--tinta-inversa-suave); }
.ma-encabezado-seccion--centro { justify-items: center; margin-inline: auto; text-align: center; }
.ma-dividido { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: var(--espacio-20); align-items: center; }
.ma-dividido__foto { aspect-ratio: 4 / 5; border-radius: var(--radio-xl); overflow: hidden; }
.ma-dividido__texto { display: grid; justify-items: start; gap: var(--espacio-6); }
.ma-dividido__texto .ma-lista-tecnica { width: 100%; }
.ma-capacidades { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espacio-6); padding: 0; list-style: none; }
.ma-capacidad { display: grid; align-content: start; gap: var(--espacio-3); padding: var(--espacio-8); border-radius: var(--radio-xl); background: var(--blanco); }
.ma-capacidad::before { content: ""; width: 20px; height: 27px; margin-bottom: var(--espacio-5); background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.ma-capacidad p { color: var(--tinta-suave); font-size: 15px; line-height: 22px; }
.ma-video-ancho { position: relative; aspect-ratio: 21 / 9; margin: 0 0 var(--espacio-16); border-radius: var(--radio-xl); overflow: hidden; }
.ma-video-ancho__pie { position: absolute; left: var(--espacio-6); top: var(--espacio-6); padding: 6px 14px; border-radius: var(--radio-pildora); background: var(--rojo); color: var(--tinta-inversa); font-size: 14px; line-height: 20px; font-weight: 600; }
.ma-plantas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espacio-6); margin: 0 0 var(--espacio-16); padding: 0; list-style: none; }
.ma-planta { display: flex; flex-direction: column; gap: var(--espacio-4); padding: var(--espacio-10); border-radius: var(--radio-xl); background: var(--gris-claro); }
.ma-planta__numero { color: var(--rojo-texto); font-family: var(--font-display); font-size: 17px; line-height: 20px; font-weight: 600; letter-spacing: .02em; }
.ma-planta__lista { display: grid; gap: var(--espacio-2); margin-bottom: var(--espacio-2); padding: 0; list-style: none; color: var(--tinta-suave); font-size: 15px; line-height: 22px; }
.ma-planta__lista li { position: relative; padding-left: 18px; }
.ma-planta__lista li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 7px; background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.ma-planta__cifra { display: grid; gap: 2px; margin-top: auto; padding-top: var(--espacio-5); border-top: 1px solid var(--linea); }
.ma-planta__cifra .ma-cifra__valor { font-size: 32px; line-height: 36px; }
/* Portafolio: filas que se abren */
.ma-proyectos-lista { border-top: 1px solid var(--linea-control); }
.ma-proyectos-lista__cabeza { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--espacio-2) var(--espacio-6); padding-block: var(--espacio-5); border-bottom: 1px solid var(--linea); }
.ma-proyectos-lista__cabeza .ma-subtitulo { margin: 0; }
.ma-proyectos-lista__ayuda { color: var(--tinta-suave); font-size: 14px; line-height: 20px; }
.ma-proyecto { border-bottom: 1px solid var(--linea); }
.ma-proyecto__fila { display: grid; grid-template-columns: 88px minmax(0, 1fr) 220px 32px; gap: var(--espacio-6); align-items: center; padding-block: var(--espacio-6); cursor: pointer; list-style: none; border-radius: var(--radio-sm); }
.ma-proyecto__fila::-webkit-details-marker { display: none; }
.ma-proyecto__fila:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-proyecto__anio { color: var(--rojo-texto); font-family: var(--font-display); font-size: 21px; line-height: 26px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ma-proyecto__principal { display: grid; gap: 2px; }
.ma-proyecto__cliente { color: var(--tinta-suave); font-size: 13px; line-height: 18px; font-weight: 600; }
.ma-proyecto__nombre { color: var(--tinta); font-family: var(--font-display); font-size: 24px; line-height: 30px; font-weight: 600; letter-spacing: -.01em; }
.ma-proyecto__resumen { color: var(--tinta-suave); font-size: 15px; line-height: 22px; text-wrap: pretty; }
.ma-proyecto__cifra { display: grid; gap: 2px; justify-items: end; text-align: right; }
.ma-proyecto__cifra .ma-cifra__valor { font-size: 28px; line-height: 32px; }
.ma-proyecto__flecha { justify-self: end; width: 32px; height: 32px; border-radius: 50%; background: var(--blanco); position: relative; transition: transform var(--ma-medio) var(--ma-curva); }
.ma-proyecto__flecha::after { content: ""; position: absolute; left: 12px; top: 10px; width: 7px; height: 7px; border-right: 1.5px solid var(--tinta); border-bottom: 1.5px solid var(--tinta); transform: rotate(45deg); }
.ma-proyecto[open] .ma-proyecto__flecha { transform: rotate(180deg); }
.ma-proyecto__fila:hover .ma-proyecto__nombre { color: var(--rojo-texto); }
.ma-proyecto__detalle { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: var(--espacio-10); padding: 0 0 var(--espacio-10) calc(88px + var(--espacio-6)); }
.ma-proyecto__info { display: grid; align-content: start; gap: var(--espacio-4); }
.ma-proyecto__rotulo { color: var(--tinta-suave); font-size: 13px; line-height: 18px; font-weight: 600; }
.ma-proyecto__foto { aspect-ratio: 1 / 1; border-radius: var(--radio-lg); overflow: hidden; }
.ma-etiquetas { display: flex; flex-wrap: wrap; gap: var(--espacio-2); padding: 0; list-style: none; }
.ma-etiquetas li { padding: 4px 12px; border-radius: var(--radio-pildora); background: var(--blanco); color: var(--tinta); font-size: 13px; line-height: 18px; font-weight: 500; }
/* Servicios en terreno */
.ma-terreno { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: var(--espacio-20); align-items: center; }
.ma-terreno__texto { display: grid; gap: var(--espacio-10); }
.ma-terreno__texto .ma-encabezado-seccion { margin-bottom: 0; }
.ma-terreno__puntos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espacio-6); padding: 0; list-style: none; }
.ma-terreno__puntos li { display: grid; align-content: start; gap: var(--espacio-2); padding-top: var(--espacio-4); border-top: 2px solid var(--rojo); }
.ma-terreno__puntos p { color: var(--tinta-inversa-suave); font-size: 15px; line-height: 22px; }
.ma-terreno__foto { position: relative; aspect-ratio: 1 / 1; border-radius: var(--radio-xl); overflow: hidden; }
.ma-terreno__foto::after { content: ""; position: absolute; right: 28px; bottom: 0; width: 56px; height: 77px; background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
/* Proveedores */
.ma-proveedores__grupo + .ma-proveedores__grupo { margin-top: var(--espacio-12); }
.ma-proveedores { display: grid; grid-template-columns: repeat(auto-fill, minmax(172px, 1fr)); gap: var(--espacio-4); padding: 0; list-style: none; }
.ma-proveedor { display: grid; gap: var(--espacio-2); height: 100%; padding: var(--espacio-3) var(--espacio-3) var(--espacio-4); border: 1px solid var(--linea); border-radius: var(--radio-lg); background: var(--blanco); color: var(--tinta); text-decoration: none; transition: box-shadow var(--ma-medio) var(--ma-curva-salida), transform var(--ma-medio) var(--ma-curva-salida); }
.ma-proveedor__logo { aspect-ratio: 2 / 1; border-radius: var(--radio-sm); overflow: hidden; }
.ma-proveedor__nombre { padding-inline: var(--espacio-1); font-size: 15px; line-height: 20px; font-weight: 600; }
.ma-proveedor .ma-enlace { padding-inline: var(--espacio-1); }
.ma-proveedor:hover { transform: translateY(-3px); box-shadow: var(--sombra-elevada); }
.ma-proveedor:focus-visible { outline: none; box-shadow: var(--foco); }
/* Llamado final */
.ma-cta { display: grid; justify-items: center; gap: var(--espacio-5); padding: var(--espacio-20) var(--espacio-10); border-radius: var(--radio-xl); background: var(--gris-claro); text-align: center; scroll-margin-top: calc(var(--nav-alto) + 16px); }
.ma-cta .ma-rotulo { justify-content: center; }
.ma-cta .ma-entradilla { max-width: 680px; }
.ma-cta__correo { color: var(--tinta); font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 600; text-decoration: none; border-radius: 4px; overflow-wrap: anywhere; }
.ma-cta__correo:hover { color: var(--rojo-texto); }
.ma-cta__correo:focus-visible { outline: none; box-shadow: var(--foco); }
#contacto { scroll-margin-top: calc(var(--nav-alto) + 16px); }

/* ----- Tableta ----- */
@media (max-width: 1068px) {
  .ma-intro__rejilla { gap: var(--espacio-10); }
  .ma-declaracion__texto { font-size: 32px; line-height: 40px; }
  .ma-perfil { grid-template-columns: 200px minmax(0, 1fr); gap: var(--espacio-8); }
  .ma-servicios { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ma-rejilla-centrada > * { flex-basis: calc((100% - var(--espacio-6)) / 2); }
  .ma-fichas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ma-valores__lista, .ma-capacidades { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ma-sucursal { grid-template-columns: 260px minmax(0, 1fr); }
  .ma-sucursal__foto { min-height: calc(260px * 380 / 350); }
  .ma-sucursal__mapa { grid-column: 1 / -1; min-height: 0; aspect-ratio: 16 / 9; }
  .ma-cotizar__rejilla { grid-template-columns: minmax(0, 1fr) 260px; gap: var(--espacio-10); }
  .ma-catalogos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ma-heroe__titulo { font-size: 52px; line-height: 56px; }
  .ma-cifras--banda { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ma-dividido, .ma-terreno { gap: var(--espacio-12); }
  .ma-terreno { grid-template-columns: minmax(0, 1fr); }
  .ma-terreno__foto { max-width: 560px; }
  .ma-proyecto__fila { grid-template-columns: 72px minmax(0, 1fr) 160px 32px; gap: var(--espacio-4); }
  .ma-proyecto__detalle { padding-left: calc(72px + var(--espacio-4)); grid-template-columns: minmax(0, 1fr) 200px; }
}

/* ----- Móvil ----- */
@media (max-width: 734px) {
  .ma-intro { padding-bottom: var(--espacio-16); }
  .ma-intro__rejilla { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-8); }
  .ma-intro__destacado { font-size: 24px; line-height: 30px; }
  .ma-intro--centro .ma-intro__texto .ma-cuerpo { font-size: 17px; line-height: 26px; }
  .ma-intro__acciones { padding: var(--espacio-5); }
  .ma-intro__texto .ma-acciones { display: grid; }
  .ma-video, .ma-intro__imagen, .ma-intro__logo, .ma-banner-pagina { border-radius: var(--radio-lg); }
  .ma-video__play { width: 60px; height: 60px; margin: -30px 0 0 -30px; }
  .ma-video__play::after { left: 24px; top: 19px; border-width: 11px 0 11px 17px; }
  .ma-declaracion { padding-bottom: var(--espacio-16); }
  .ma-declaracion__panel { margin-inline: calc(-1 * var(--margen-movil)); border-radius: 0; }
  .ma-declaracion__cuerpo { padding: var(--espacio-16) var(--margen-movil) var(--espacio-20); gap: var(--espacio-6); }
  .ma-rejilla-centrada.ma-desliza { display: grid; justify-content: start; gap: var(--espacio-4); }
  .ma-intro--centro .ma-intro__rejilla { text-align: left; }
  .ma-declaracion__texto { font-size: 26px; line-height: 32px; }
  .ma-temas .ma-temas__fila + .ma-temas__fila { margin-top: var(--espacio-12); padding-top: var(--espacio-12); }
  .ma-cierre { padding-bottom: var(--espacio-16); }
  .ma-cierre__acciones { padding: var(--espacio-6); }
  .ma-cierre__acciones .ma-boton { width: 100%; }
  .ma-perfiles { padding-bottom: var(--espacio-10); }
  .ma-perfil { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-5); padding-block: var(--espacio-10); }
  .ma-perfil__cabeza { position: static; grid-template-columns: minmax(0, 1fr) 76px; column-gap: var(--espacio-4); align-items: start; }
  .ma-perfil__cabeza > h2, .ma-perfil__norma, .ma-perfil__tolerancia { grid-column: 1; }
  .ma-perfil__foto { grid-column: 2; grid-row: 1 / span 3; width: 76px; margin: 0; }
  .ma-perfil__foto .ma-foto__rotulo { display: none; }
  .ma-tabla { font-size: 14px; }
  .ma-tabla th, .ma-tabla td { padding: 9px 11px; }
  .ma-tabla-marco { max-width: none; margin-inline: calc(-1 * var(--margen-movil)); border-radius: 0; border-inline: 0; }
  .ma-servicios { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-3); }
  .ma-servicio { flex-direction: row; align-items: center; }
  .ma-servicio__medio { flex: none; width: 104px; aspect-ratio: 1 / 1; margin: var(--espacio-2); }
  .ma-servicio__medio .ma-foto__rotulo { display: none; }
  .ma-servicio__titulo { align-items: center; padding: var(--espacio-3) var(--espacio-5) var(--espacio-3) var(--espacio-2); }
  .ma-marca-socio { padding-bottom: var(--espacio-8); }
  .ma-fichas { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-4); }
  .ma-ficha__medio { aspect-ratio: 4 / 3; }
  .ma-ficha__cuerpo { padding: var(--espacio-5) var(--espacio-4) 0; }
  .ma-ficha__modelo { font-size: 24px; line-height: 30px; }
  .ma-valores { padding-bottom: var(--espacio-16); }
  .ma-valores__intro { margin: var(--espacio-10) auto var(--espacio-8); text-align: left; }
  .ma-valores__lista { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-3); }
  .ma-valor { grid-template-columns: 20px minmax(0, 1fr); align-items: start; gap: var(--espacio-4); min-height: 0; padding: var(--espacio-6); border-radius: var(--radio-lg); }
  .ma-valor::before { width: 18px; height: 24px; margin-top: 2px; }
  .ma-valor p { font-size: 20px; line-height: 26px; }
  .ma-certificados { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-4); padding-bottom: var(--espacio-8); }
  .ma-certificado { padding: var(--espacio-8) var(--espacio-6); border-radius: var(--radio-lg); }
  .ma-texto-largo { padding-bottom: var(--espacio-16); }
  .ma-texto-largo section { padding-block: var(--espacio-8); }
  .ma-caja-nota { padding: var(--espacio-5); }
  .ma-sucursales { padding-bottom: var(--espacio-16); }
  .ma-sucursales__intro { margin-bottom: var(--espacio-8); text-align: left; }
  .ma-pestanas__barra { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; margin: 0 calc(-1 * var(--margen-movil)) var(--espacio-6); padding: var(--espacio-1) var(--margen-movil); }
  .ma-pestanas__barra::-webkit-scrollbar { display: none; }
  .ma-pestanas__lista { flex-wrap: nowrap; }
  .ma-pestanas__lista::-webkit-scrollbar { display: none; }
  .ma-pestana { flex: none; }
  .ma-sucursal { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-6); }
  .ma-sucursal__foto { aspect-ratio: 4 / 3; min-height: 0; border-radius: var(--radio-lg); }
  .ma-sucursal__mapa { aspect-ratio: 4 / 3; border-radius: var(--radio-lg); }
  .ma-cotizar { padding-bottom: var(--espacio-16); }
  .ma-cotizar__rejilla { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-8); }
  .ma-cotizar__lateral { position: static; }
  .ma-cotizar__lateral .ma-producto__foto { aspect-ratio: 4 / 3; }
  .ma-form { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-5); margin-inline: calc(-1 * var(--margen-movil)); padding: var(--espacio-8) var(--margen-movil); border-radius: 0; }
  .ma-form .ma-boton[type="submit"] { width: 100%; }
  .ma-catalogos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espacio-8) var(--espacio-4); padding-bottom: var(--espacio-8); }
  .ma-catalogos .ma-catalogo__titulo { font-size: 14px; line-height: 20px; }
  .ma-heroe__cuerpo { min-height: 0; padding-block: var(--espacio-16) var(--espacio-12); gap: var(--espacio-5); }
  .ma-heroe__fondo::after { background: linear-gradient(180deg, #3b3f45d9 0%, #3b3f45f2 100%); }
  .ma-heroe__titulo { font-size: 38px; line-height: 42px; letter-spacing: -.015em; }
  .ma-heroe__titulo br, .ma-encabezado-seccion h2 br, .ma-cta h2 br { display: none; }
  .ma-heroe__texto { font-size: 17px; line-height: 25px; }
  .ma-heroe .ma-acciones { display: grid; width: 100%; }
  .ma-cifras { gap: var(--espacio-5) var(--espacio-8); }
  .ma-cifra__valor { font-size: 32px; line-height: 36px; }
  .ma-cifras--heroe { margin-top: var(--espacio-4); }
  .ma-banda-cifras { padding-block: var(--espacio-10); }
  .ma-cifras--banda { gap: var(--espacio-6) var(--espacio-4); }
  .ma-cifras--banda .ma-cifra { padding-left: var(--espacio-4); }
  .ma-cifras--banda .ma-cifra__valor { font-size: 40px; line-height: 44px; }
  .ma-cifras--compactas .ma-cifra__valor, .ma-planta__cifra .ma-cifra__valor { font-size: 28px; line-height: 32px; }
  .ma-encabezado-seccion { margin-bottom: var(--espacio-8); }
  .ma-dividido { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-8); }
  .ma-dividido__foto { aspect-ratio: 4 / 3; border-radius: var(--radio-lg); }
  .ma-capacidades { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-3); }
  .ma-capacidad { padding: var(--espacio-6); border-radius: var(--radio-lg); }
  .ma-capacidad::before { margin-bottom: var(--espacio-2); }
  .ma-video-ancho { aspect-ratio: 16 / 10; margin-bottom: var(--espacio-10); border-radius: var(--radio-lg); }
  .ma-video-ancho__pie { left: var(--espacio-4); top: var(--espacio-4); }
  .ma-plantas { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-3); margin-bottom: var(--espacio-10); }
  .ma-planta { padding: var(--espacio-6); border-radius: var(--radio-lg); }
  .ma-proyecto__fila { grid-template-columns: minmax(0, 1fr) 32px; gap: var(--espacio-1) var(--espacio-4); align-items: start; padding-block: var(--espacio-5); }
  .ma-proyecto__anio { grid-column: 1; font-size: 17px; line-height: 22px; }
  .ma-proyecto__principal { grid-column: 1; }
  .ma-proyecto__nombre { font-size: 20px; line-height: 26px; }
  .ma-proyecto__cifra { grid-column: 1; justify-items: start; text-align: left; margin-top: var(--espacio-2); }
  .ma-proyecto__cifra .ma-cifra__valor { font-size: 24px; line-height: 28px; }
  .ma-proyecto__flecha { grid-column: 2; grid-row: 1; }
  .ma-proyecto__detalle { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-5); padding: 0 0 var(--espacio-8); }
  .ma-proyecto__foto { max-width: 240px; }
  .ma-terreno__puntos { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-5); }
  .ma-terreno__foto { border-radius: var(--radio-lg); }
  .ma-proveedores { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espacio-3); }
  .ma-cta { padding: var(--espacio-12) var(--espacio-5); border-radius: var(--radio-lg); }
  .ma-cta__correo { font-size: 22px; line-height: 28px; }
  .ma-cta .ma-acciones { display: grid; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .ma-servicio:hover, .ma-proveedor:hover { transform: none; }
}

/* =====================================================================
   CIERRE DEL DISEÑO (decisiones del 7-10)
   ===================================================================== */

/* ----- A · Tarjetas de subpáginas (Servicios): filas de tres, la última centrada ----- */
.ma-servicios--centrada { display: flex; flex-wrap: wrap; justify-content: center; }
.ma-servicios--centrada > li { flex: 0 1 calc((100% - 2 * var(--espacio-6)) / 3); }

/* ----- Datos con enlace (Sucursales: tel: y mailto:) ----- */
.ma-datos a { color: var(--enlace); text-decoration: none; border-radius: 3px; }
.ma-datos a:hover { text-decoration: underline; text-underline-offset: .18em; }
.ma-datos a:focus-visible { outline: none; box-shadow: var(--foco); }

/* ----- C · Índice con anclas (Condiciones Comerciales) ----- */
.ma-condiciones { display: grid; grid-template-columns: 248px minmax(0, 760px); justify-content: center; gap: var(--espacio-20); align-items: start; }
.ma-condiciones .ma-texto-largo { max-width: none; margin: 0; }
.ma-indice { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--nav-alto) + var(--linea-roja) + 32px); }
.ma-indice__lista { display: grid; gap: 2px; margin: 0; padding: 0 0 0 var(--espacio-4); list-style: none; border-left: 1px solid var(--linea); }
.ma-indice__enlace { position: relative; display: block; padding: 6px 0; color: var(--tinta-suave); font-size: 14px; line-height: 20px; text-decoration: none; border-radius: 4px; transition: color var(--ma-rapido) var(--ma-curva); }
.ma-indice__enlace::before { content: ""; position: absolute; left: calc(-1 * var(--espacio-4) - 1px); top: 6px; bottom: 6px; width: 2px; border-radius: 2px; background: var(--rojo); transform: scaleY(0); transition: transform var(--ma-medio) var(--ma-curva-salida); }
.ma-indice__enlace:hover { color: var(--tinta); }
.ma-indice__enlace.is-actual { color: var(--tinta); font-weight: 600; }
.ma-indice__enlace.is-actual::before { transform: scaleY(1); }
.ma-indice__enlace:focus-visible { outline: none; box-shadow: var(--foco); }

/* ----- C · Formulario: errores, dirección, contador, reCAPTCHA y envío ----- */
.ma-form__grupo-campos { min-width: 0; margin: 0; padding: 0; border: 0; display: grid; gap: var(--espacio-2); }
.ma-form__sub { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espacio-6); }
.ma-form__sub .ma-form__etiqueta { color: var(--tinta-suave); font-weight: 500; }
.ma-form__error { display: flex; align-items: flex-start; gap: 6px; margin: 0; color: var(--rojo-texto); font-size: 14px; line-height: 20px; font-weight: 500; }
.ma-form__error::before { content: "!"; flex: none; display: grid; place-items: center; width: 16px; height: 16px; margin-top: 2px; border-radius: 50%; background: var(--rojo-texto); color: var(--blanco); font-size: 11px; line-height: 1; font-weight: 700; }
.ma-form__campo.is-error .ma-campo { border-color: var(--rojo-texto); box-shadow: inset 0 0 0 1px var(--rojo-texto); }
.ma-form__campo.is-error .ma-opciones { border-color: var(--rojo-texto); }
.ma-form__campo.is-error .ma-recaptcha { border-color: var(--rojo-texto); }
.ma-form__alerta { margin: 0; padding: var(--espacio-4) var(--espacio-5); border-radius: var(--radio-md); background: var(--rojo-suave); color: var(--rojo-texto); font-size: 15px; line-height: 22px; font-weight: 600; }
.ma-form__alerta:focus { outline: none; box-shadow: var(--foco); }
.ma-form__pie-campo { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--espacio-4); }
.ma-form__pie-campo .ma-form__error[hidden] + .ma-contador { margin-left: auto; }
.ma-contador { flex: none; margin-left: auto; color: var(--tinta-suave); font-size: 13px; line-height: 20px; font-variant-numeric: tabular-nums; }
.ma-recaptcha { display: flex; align-items: center; justify-content: space-between; gap: var(--espacio-4); width: 304px; max-width: 100%; min-height: 76px; padding: 0 14px 0 12px; border: 1px solid var(--linea-control); border-radius: var(--radio-sm); background: var(--blanco); }
.ma-recaptcha__casilla { position: relative; display: inline-flex; align-items: center; gap: 12px; color: var(--tinta); font-size: 15px; line-height: 20px; cursor: pointer; }
.ma-recaptcha__casilla input { position: absolute; left: 0; top: 50%; width: 28px; height: 28px; margin: -14px 0 0; opacity: 0; cursor: pointer; }
.ma-recaptcha__caja { width: 28px; height: 28px; flex: none; border: 2px solid var(--linea-control); border-radius: 3px; background: var(--blanco); transition: border-color var(--ma-rapido) var(--ma-curva), background-color var(--ma-rapido) var(--ma-curva); }
.ma-recaptcha__casilla input:checked + .ma-recaptcha__caja { border-color: var(--tinta); background: var(--tinta) 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 18px no-repeat; }
.ma-recaptcha__casilla input:focus-visible + .ma-recaptcha__caja { box-shadow: var(--foco); }
.ma-recaptcha__marca { color: var(--tinta-suave); font-size: 11px; line-height: 14px; font-weight: 500; text-align: center; }
.ma-form__enviar[aria-busy="true"] { pointer-events: none; opacity: .75; }
.ma-form__enviar[aria-busy="true"]::before { content: ""; width: 16px; height: 16px; border: 2px solid #ffffff66; border-top-color: var(--blanco); border-radius: 50%; animation: ma-gira .8s linear infinite; }
@keyframes ma-gira { to { transform: rotate(360deg); } }

/* ----- C · Confirmación (Gracias Solicitud de Cotización) ----- */
.ma-gracias { padding-block: var(--espacio-20) var(--espacio-32); }
.ma-gracias__caja { display: grid; justify-items: center; gap: var(--espacio-5); max-width: 760px; margin-inline: auto; padding: var(--espacio-20) var(--espacio-12); border-radius: var(--radio-xl); background: var(--gris-claro); text-align: center; }
.ma-gracias__marca { width: 44px; height: 60px; margin-bottom: var(--espacio-3); background: var(--rojo); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.ma-gracias__caja .ma-entradilla { color: var(--tinta); }
.ma-gracias__caja .ma-cuerpo { max-width: 600px; }

@media (max-width: 1068px) {
  .ma-servicios--centrada > li { flex-basis: calc((100% - var(--espacio-6)) / 2); }
  /* El índice pasa a una fila de chips fija bajo la cabecera móvil */
  .ma-condiciones { display: block; }
  .ma-indice { position: sticky; top: calc(env(safe-area-inset-top, 0px) + var(--cabecera-alto-movil) + var(--linea-roja)); z-index: 5; margin: 0 calc(-1 * var(--margen-escritorio)) var(--espacio-8); padding: var(--espacio-2) 0; background: #ffffffeb; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-bottom: 1px solid var(--linea); }
  .ma-indice__lista { display: flex; gap: var(--espacio-2); overflow-x: auto; scrollbar-width: none; padding: var(--espacio-1) var(--margen-escritorio); border-left: 0; }
  .ma-indice__lista::-webkit-scrollbar { display: none; }
  .ma-indice__enlace { flex: none; padding: 0 14px; min-height: 34px; display: inline-flex; align-items: center; border-radius: var(--radio-pildora); background: var(--gris-claro); color: var(--tinta); white-space: nowrap; }
  .ma-indice__enlace::before { display: none; }
  .ma-indice__enlace.is-actual { background: var(--tinta); color: var(--tinta-inversa); font-weight: 500; }
  .ma-texto-largo section { scroll-margin-top: 64px; }
}
@media (max-width: 734px) {
  .ma-servicios--centrada { display: grid; }
  .ma-servicios--centrada > li { flex: none; }
  .ma-indice { margin-inline: calc(-1 * var(--margen-movil)); }
  .ma-indice__lista { padding-inline: var(--margen-movil); }
  .ma-form__sub { grid-template-columns: minmax(0, 1fr); gap: var(--espacio-5); }
  .ma-recaptcha { width: 100%; }
  .ma-gracias { padding-block: var(--espacio-10) var(--espacio-16); }
  .ma-gracias__caja { padding: var(--espacio-12) var(--espacio-6); border-radius: var(--radio-lg); }
}
@media (prefers-reduced-motion: reduce) {
  .ma-form__enviar[aria-busy="true"]::before { animation: none; }
}

/* ===== Pie ===== */
.ma-pie { padding-block: var(--espacio-20) var(--espacio-10); background: var(--gris-azulado); color: var(--tinta-inversa-suave); font-size: 14px; line-height: 20px; }
.ma-pie a { color: var(--tinta-inversa-suave); text-decoration: none; border-radius: 4px; transition: color var(--ma-rapido) var(--ma-curva); }
.ma-pie a:hover { color: var(--tinta-inversa); text-decoration: underline; text-underline-offset: .2em; }
.ma-pie a:focus-visible { outline: none; box-shadow: var(--foco); }
.ma-pie__rejilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.2fr); gap: var(--espacio-10); }
.ma-pie__titulo { margin: 0 0 var(--espacio-4); color: var(--tinta-inversa); font-size: 14px; line-height: 20px; font-weight: 600; }
.ma-pie__boton { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: default; pointer-events: none; }
.ma-pie__boton .ma-flecha { display: none; }
.ma-pie__lista { display: grid; gap: var(--espacio-3); padding: 0; list-style: none; }
/* 2.3.2 — Un correo o enlace más ancho que su columna corta línea en vez de montarse sobre la columna vecina */
.ma-pie__lista li { overflow-wrap: anywhere; }
.ma-pie a.ma-pie__telefono { display: inline-block; color: var(--tinta-inversa); font-family: var(--font-display); font-size: 28px; line-height: 34px; font-weight: 600; letter-spacing: -.01em; }
.ma-pie__base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--espacio-4) var(--espacio-8); margin-top: var(--espacio-16); padding-top: var(--espacio-6); border-top: 1px solid var(--linea-inversa); }
.ma-pie__redes { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espacio-2) var(--espacio-6); padding: 0; list-style: none; }
.ma-pie__redes-rotulo { color: var(--tinta-inversa); font-weight: 600; }
/* 2.3.2 — Pie en tableta (735–1068 px): dos columnas; con cuatro, «canaldedenuncia@multiaceros.cl» se montaba sobre Formas de pago */
@media (max-width: 1068px) {
  .ma-pie__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espacio-8) var(--espacio-10); }
}
@media (max-width: 734px) {
  .ma-pie { padding-block: var(--espacio-12) var(--espacio-8); }
  .ma-pie__rejilla { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ma-pie__grupo { border-bottom: 1px solid var(--linea-inversa); }
  .ma-pie__grupo .ma-pie__titulo { margin: 0; }
  .ma-pie__boton { min-height: 52px; cursor: pointer; pointer-events: auto; border-radius: 4px; }
  .ma-pie__boton:focus-visible { outline: none; box-shadow: var(--foco); }
  .ma-pie__boton .ma-flecha { display: block; opacity: .8; }
  .ma-pie__grupo .ma-pie__lista { display: none; padding-bottom: var(--espacio-5); }
  .ma-pie__grupo.is-abierto .ma-pie__lista { display: grid; }
  .ma-pie__contacto { padding-top: var(--espacio-8); }
  .ma-pie__base { flex-direction: column; align-items: flex-start; margin-top: var(--espacio-10); }
  .ma-pie__redes { gap: var(--espacio-3) var(--espacio-5); }
  .ma-pie__redes-rotulo { flex-basis: 100%; }
}

/* ===== Movimiento reducido ===== */
@media (prefers-reduced-motion: reduce) {
  .ma-tarjeta:hover, .ma-catalogo:hover .ma-catalogo__portada { transform: none; }
  .ma-tarjeta:hover .ma-medio .ma-foto { transform: none; }
  .ma-boton:active { transform: none; }
  .ma-anuncio.is-activo .ma-anuncio__texto, .ma-menu-movil.is-abierto { animation: none; }
}
