
body.calidad {
--crema: #f7fbfd;
--crema-honda: #eef5fb;
--linea: #d8e4ef;
--verde: #004aad;
--verde-texto: #003a87;
--verde-suave: #e8f1fb;
--tinta: #14233a;
--gris: #4f5d70;
--sol: #00d870;
--cielo: #74d9ff;
margin: 0;
background: var(--crema);
color: var(--tinta);
font-family: Montserrat, ui-sans-serif, system-ui, sans-serif;
overflow-x: hidden;
}
body.calidad .cal-dentro {
width: 100%;
max-width: 1040px;
margin-inline: auto;
padding-inline: 20px;
}
body.calidad .saltar {
position: absolute;
left: -9999px;
top: 0;
z-index: 10;
padding: 12px 20px;
background: var(--verde-texto);
color: #fff;
font-weight: 700;
}
body.calidad .saltar:focus { left: 0; }
body.calidad :focus-visible {
outline: 3px solid var(--verde);
outline-offset: 3px;
}
body.calidad .tira-cal {
position: fixed;
top: 22px;
right: 22px;
z-index: 20;
display: flex;
align-items: center;
gap: 10px;
padding: 7px 15px 7px 7px;
border-radius: 999px;
background: rgb(255 255 255 / 0.94);
border: 1px solid var(--linea);
backdrop-filter: blur(8px);
box-shadow: 0 10px 30px -18px rgb(20 35 58 / 0.5);
color: var(--tinta);
max-width: calc(100vw - 44px);
}
body.calidad .tira-cal .tira-asesor-foto,
body.calidad .tira-cal .tira-asesor-inicial {
width: 38px;
height: 38px;
border-radius: 50%;
object-fit: cover;
flex-shrink: 0;
display: grid;
place-items: center;
background: var(--verde-suave);
color: var(--verde-texto);
font-size: 13px;
font-weight: 700;
}
body.calidad .tira-cal strong {
display: block;
font-size: 14px;
font-weight: 700;
line-height: 1.2;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
body.calidad .tira-cal .tira-asesor-cargo {
display: block;
margin-top: 2px;
color: var(--verde-texto);
font-size: 10.5px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
}
body.calidad .tira-cal .tira-asesor-frase {
display: block;
margin-top: 1px;
color: var(--gris);
font-size: 11px;
}
@media (max-width: 720px) {
body.calidad .tira-cal { top: 14px; right: 14px; padding: 5px 12px 5px 5px; gap: 8px; }
body.calidad .tira-cal .tira-asesor-foto,
body.calidad .tira-cal .tira-asesor-inicial { width: 30px; height: 30px; font-size: 12px; }
body.calidad .tira-cal strong { font-size: 12.5px; }
body.calidad .tira-cal .tira-asesor-cargo,
body.calidad .tira-cal .tira-asesor-frase { display: none; }
}
body.calidad .cal-portada {
position: relative;
overflow: hidden;
padding-block: 120px 88px;
background:
radial-gradient(90% 70% at 85% 0%, rgb(116 217 255 / 0.22) 0%, transparent 60%),
radial-gradient(80% 60% at 5% 100%, rgb(0 216 112 / 0.10) 0%, transparent 55%),
var(--crema);
}
body.calidad .cal-motas {
position: absolute;
inset: 0;
overflow: hidden;
pointer-events: none;
}
body.calidad .cal-motas span {
position: absolute;
bottom: -3vh;
width: 8px;
height: 8px;
border-radius: 50%;
background: var(--verde);
opacity: 0;
animation: cal-flota linear infinite;
}
body.calidad .cal-motas span:nth-child(1) { left: 7%;  animation-duration: 30s; animation-delay: 0s; }
body.calidad .cal-motas span:nth-child(2) { left: 22%; animation-duration: 40s; animation-delay: -12s; background: var(--sol); width: 6px; height: 6px; }
body.calidad .cal-motas span:nth-child(3) { left: 45%; animation-duration: 34s; animation-delay: -22s; background: var(--cielo); width: 5px; height: 5px; }
body.calidad .cal-motas span:nth-child(4) { left: 66%; animation-duration: 28s; animation-delay: -6s; background: var(--sol); }
body.calidad .cal-motas span:nth-child(5) { left: 82%; animation-duration: 38s; animation-delay: -28s; width: 5px; height: 5px; }
body.calidad .cal-motas span:nth-child(6) { left: 93%; animation-duration: 32s; animation-delay: -16s; background: var(--cielo); width: 6px; height: 6px; }
@keyframes cal-flota {
0%   { transform: translateY(0); opacity: 0; }
10%  { opacity: 0.5; }
85%  { opacity: 0.25; }
100% { transform: translateY(-106vh); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
body.calidad .cal-motas span { animation: none; opacity: 0.25; bottom: auto; top: 30%; }
}
body.calidad .cal-portada-dentro {
position: relative;
max-width: 760px;
}
@media (min-width: 1060px) {
body.calidad .cal-portada-dentro {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 332px);
gap: 48px;
align-items: center;
max-width: 1040px;
}
}
body.calidad .cal-arte { display: none; }
@media (min-width: 1060px) {
body.calidad .cal-arte { display: block; justify-self: end; width: 100%; max-width: 332px; }
}
body.calidad .cal-arte-rotulo {
margin: 0 0 16px;
color: var(--verde-texto);
font-size: 11.5px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
}
body.calidad .cal-arte-capas { display: block; width: 100%; height: auto; }
body.calidad .cal-visto {
fill: var(--verde);
animation: cal-entra 0.45s ease-out backwards 0.35s;
}
body.calidad .cal-capa {
fill: var(--verde-suave);
stroke: var(--linea);
stroke-width: 1.5;
animation: cal-entra 0.45s ease-out backwards;
animation-delay: calc(0.6s + var(--i) * 0.11s);
}
@keyframes cal-entra {
from { opacity: 0; transform: translateY(-6px); }
to   { opacity: 1; transform: none; }
}
body.calidad .cal-arte-leyenda {
display: grid;
gap: 11px;
margin: 22px 0 0;
padding: 0;
list-style: none;
}
body.calidad .cal-arte-leyenda li {
display: flex;
align-items: center;
gap: 12px;
margin: 0;
color: var(--gris);
font-size: 13px;
line-height: 1.45;
}
body.calidad .cal-arte-leyenda li::before {
content: '';
flex: none;
width: 20px;
height: 10px;
border-radius: 3px;
background: var(--verde-suave);
box-shadow: inset 0 0 0 1.5px var(--linea);
}
body.calidad .cal-arte-leyenda li.cal-arte-visto { color: var(--tinta); font-weight: 600; }
body.calidad .cal-arte-leyenda li.cal-arte-visto::before {
background: var(--verde);
box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
body.calidad .cal-visto,
body.calidad .cal-capa { animation: none; }
}
body.calidad .cal-encima {
margin: 0;
font-size: 12.5px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--verde-texto);
}
body.calidad .cal-titular {
margin: 18px 0 0;
font-size: clamp(34px, 7vw, 58px);
line-height: 1.06;
font-weight: 800;
letter-spacing: -0.025em;
}
body.calidad .cal-resalte {
display: block;
color: var(--verde-texto);
}
body.calidad .cal-entrada {
margin: 22px 0 0;
font-size: clamp(16.5px, 2.2vw, 18.5px);
line-height: 1.75;
color: var(--gris);
max-width: 58ch;
}
body.calidad .cal-botones {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 32px;
}
body.calidad .cal-boton {
display: inline-block;
text-wrap: balance;
text-align: center;
padding: 15px 28px;
border-radius: 999px;
background: var(--verde-texto);
color: #fff;
font-size: 16px;
font-weight: 700;
text-decoration: none;
border: 2px solid var(--verde-texto);
transition: transform 0.15s, box-shadow 0.15s, background-color 0.15s;
}
body.calidad .cal-boton:hover {
background: #002d6b;
border-color: #002d6b;
transform: translateY(-2px);
box-shadow: 0 12px 28px rgb(0 74 173 / 0.28);
}
body.calidad .cal-boton-linea {
background: transparent;
color: var(--verde-texto);
border-color: rgb(0 74 173 / 0.4);
}
body.calidad .cal-boton-linea:hover {
background: var(--verde-suave);
box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
body.calidad .cal-boton:hover { transform: none; }
}
body.calidad .cal-tira {
background: var(--verde-texto);
color: #fff;
padding-block: 26px;
}
body.calidad .cal-tira-dentro {
display: grid;
gap: 18px;
grid-template-columns: 1fr;
}
@media (min-width: 720px) {
body.calidad .cal-tira-dentro { grid-template-columns: repeat(3, 1fr); gap: 24px; }
}
body.calidad .cal-tira-dentro > div {
display: grid;
grid-template-columns: auto 1fr;
column-gap: 14px;
align-items: center;
}
body.calidad .cal-tira-icono {
grid-row: 1 / 3;
width: 42px;
height: 42px;
padding: 9px;
border-radius: 50%;
background: rgb(255 255 255 / 0.12);
color: #fff;
}
body.calidad .cal-tira strong {
display: block;
grid-column: 2;
font-size: 18px;
font-weight: 800;
}
body.calidad .cal-tira span {
display: block;
grid-column: 2;
margin-top: 3px;
font-size: 13.5px;
color: rgb(255 255 255 / 0.82);
}
body.calidad .cal-seccion { padding-block: 90px; }
body.calidad .cal-claro { background: var(--crema-honda); }
body.calidad .cal-rotulo {
margin: 0;
font-size: 12.5px;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--verde-texto);
}
body.calidad .cal-titulo {
margin: 12px 0 0;
font-size: clamp(26px, 4vw, 36px);
line-height: 1.15;
font-weight: 800;
letter-spacing: -0.02em;
}
body.calidad .cal-parrafo {
margin: 18px 0 0;
font-size: 16.5px;
line-height: 1.8;
color: var(--gris);
}
body.calidad .cal-rejilla {
display: grid;
gap: 16px;
margin-top: 32px;
grid-template-columns: 1fr;
}
@media (min-width: 720px) {
body.calidad .cal-rejilla { grid-template-columns: 1fr 1fr; gap: 18px; }
}
body.calidad .cal-tarjeta {
padding: 26px;
border-radius: 18px;
background: #fff;
border: 1px solid var(--linea);
border-top: 3px solid var(--verde);
}
body.calidad .cal-tarjeta h3 {
margin: 0;
font-size: 18px;
font-weight: 700;
}
body.calidad .cal-tarjeta p {
margin: 10px 0 0;
font-size: 15.5px;
line-height: 1.75;
color: var(--gris);
}
body.calidad .cal-dos {
display: grid;
gap: 34px;
grid-template-columns: 1fr;
}
@media (min-width: 860px) {
body.calidad .cal-dos { grid-template-columns: 1.35fr 1fr; gap: 56px; align-items: start; }
}
body.calidad .cal-lista {
margin: 0;
padding: 26px;
list-style: none;
border-radius: 18px;
background: var(--verde-suave);
border: 1px solid rgb(0 74 173 / 0.25);
}
body.calidad .cal-lista li {
position: relative;
padding-left: 28px;
font-size: 15.5px;
line-height: 1.6;
}
body.calidad .cal-lista li + li { margin-top: 14px; }
body.calidad .cal-lista li::before {
content: '';
position: absolute;
left: 4px;
top: 0.5em;
width: 9px;
height: 9px;
border-radius: 50%;
background: var(--verde);
}
body.calidad .cal-pasos {
display: grid;
gap: 26px;
margin: 34px 0 0;
padding: 0;
list-style: none;
grid-template-columns: 1fr;
}
@media (min-width: 820px) {
body.calidad .cal-pasos { grid-template-columns: repeat(3, 1fr); gap: 30px; }
}
body.calidad .cal-pasos li {
padding: 28px 24px;
border-radius: 18px;
background: #fff;
border: 1px solid var(--linea);
}
body.calidad .cal-numero {
display: grid;
place-items: center;
width: 40px;
height: 40px;
border-radius: 50%;
background: var(--verde-texto);
color: #fff;
font-size: 17px;
font-weight: 800;
}
body.calidad .cal-pasos h3 {
margin: 16px 0 0;
font-size: 18px;
font-weight: 700;
}
body.calidad .cal-pasos p {
margin: 10px 0 0;
font-size: 15.5px;
line-height: 1.75;
color: var(--gris);
}
body.calidad .lan-dudas {
display: grid;
gap: 12px;
margin-top: 32px;
max-width: 780px;
}
body.calidad .lan-duda {
border-radius: 16px;
background: #fff;
border: 1px solid var(--linea);
overflow: hidden;
}
body.calidad .lan-duda summary {
padding: 20px 24px;
cursor: pointer;
font-size: 16.5px;
font-weight: 600;
list-style: none;
position: relative;
padding-right: 52px;
}
body.calidad .lan-duda summary::-webkit-details-marker { display: none; }
body.calidad .lan-duda summary::after {
content: '';
position: absolute;
right: 24px;
top: 50%;
width: 13px;
height: 13px;
margin-top: -6px;
background:
linear-gradient(var(--verde-texto), var(--verde-texto)) center / 100% 2px no-repeat,
linear-gradient(var(--verde-texto), var(--verde-texto)) center / 2px 100% no-repeat;
transition: transform 0.2s;
}
body.calidad .lan-duda[open] summary::after {
transform: rotate(45deg);
background: linear-gradient(var(--verde-texto), var(--verde-texto)) center / 100% 2px no-repeat;
}
body.calidad .lan-duda p {
margin: 0;
padding: 0 24px 22px;
font-size: 15.5px;
line-height: 1.8;
color: var(--gris);
}
@media (prefers-reduced-motion: reduce) {
body.calidad .lan-duda summary::after { transition: none; }
}
body.calidad .cal-contacto {
padding-block: 95px;
background: var(--verde-suave);
}
body.calidad .cal-contacto-dentro {
display: grid;
gap: 40px;
grid-template-columns: 1fr;
}
@media (min-width: 900px) {
body.calidad .cal-contacto-dentro {
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: start;
}
}
body.calidad .cal-firma {
margin: 22px 0 0;
font-size: 15px;
color: var(--gris);
}
body.calidad .cal-firma strong { color: var(--verde-texto); }
body.calidad .cal-gracias {
grid-column: 1 / -1;
text-align: center;
padding-block: 20px;
}
body.calidad .cal-gracias .cal-parrafo { margin-inline: auto; max-width: 52ch; }
body.calidad .lan-formulario {
display: grid;
gap: 16px;
padding: 30px;
border-radius: 20px;
background: #fff;
border: 1px solid var(--linea);
box-shadow: 0 18px 44px -30px rgb(20 35 58 / 0.4);
}
body.calidad .lan-error {
margin: 0;
padding: 12px 16px;
border-radius: 12px;
background: #fdecea;
border: 1px solid #f2b8b5;
color: #8c2f28;
font-size: 14.5px;
line-height: 1.6;
}
body.calidad .lan-formulario label { display: block; }
body.calidad .lan-formulario fieldset { border: 0; padding: 0; margin: 0; }
body.calidad .lan-formulario label > span,
body.calidad .lan-formulario legend {
display: block;
margin-bottom: 7px;
font-size: 14px;
font-weight: 600;
}
body.calidad .lan-formulario label > span em {
font-style: normal;
font-weight: 400;
color: var(--gris);
}
body.calidad .lan-formulario input[type="text"],
body.calidad .lan-formulario input[type="email"],
body.calidad .lan-formulario input[type="tel"],
body.calidad .lan-formulario textarea,
body.calidad .lan-formulario select {
width: 100%;
box-sizing: border-box;
padding: 13px 15px;
border-radius: 12px;
border: 1px solid var(--linea);
background: var(--crema);
color: var(--tinta);
font-family: inherit;
font-size: 16px;
}
body.calidad .lan-formulario textarea { resize: vertical; min-height: 96px; }
body.calidad .lan-ancho { grid-column: 1 / -1; }
body.calidad .lan-peticiones label {
display: flex;
align-items: flex-start;
gap: 10px;
padding: 13px 15px;
border-radius: 12px;
border: 1px solid var(--linea);
background: var(--crema);
cursor: pointer;
}
body.calidad .lan-peticiones label + label { margin-top: 8px; }
body.calidad .lan-peticiones input {
width: 18px;
height: 18px;
margin-top: 2px;
flex-shrink: 0;
accent-color: var(--verde-texto);
}
body.calidad .lan-peticiones label:has(input:checked) {
border-color: var(--verde-texto);
background: var(--verde-suave);
}
body.calidad .lan-peticiones span { font-size: 14.5px; line-height: 1.5; }
body.calidad .lan-enviar {
display: grid;
gap: 12px;
margin-top: 4px;
}
body.calidad .lan-boton {
justify-self: start;
text-wrap: balance;
text-align: center;
padding: 15px 32px;
border: 0;
border-radius: 999px;
background: var(--verde-texto);
color: #fff;
font-family: inherit;
font-size: 16px;
font-weight: 700;
cursor: pointer;
transition: background-color 0.15s;
}
body.calidad .lan-boton:hover { background: #002d6b; }
body.calidad .lan-legal {
margin: 0;
font-size: 13px;
line-height: 1.65;
color: var(--gris);
}
body.calidad .lan-legal a { color: var(--verde-texto); }
body.calidad .cal-pie {
padding-block: 40px 52px;
background: var(--tinta);
color: rgb(255 255 255 / 0.75);
}
body.calidad .cal-pie p { margin: 0; font-size: 14px; }
body.calidad .cal-pie-legal {
margin-top: 14px !important;
font-size: 12.5px !important;
line-height: 1.75;
max-width: 78ch;
opacity: 0.85;
}
body.calidad {
--flota-fondo: var(--verde);
--flota-tinta: #fff;
--flota-fondo-hover: var(--verde-texto);
--flota-foco: var(--verde);
}
body.calidad {
--gracias-acento: var(--verde-texto);
--tes-fondo: #fff;
--tes-borde: var(--linea);
--tes-texto: var(--gris);
--tes-firma: var(--tinta);
--tes-rotulo: var(--verde-texto);
--tes-rotulo-opacidad: 1;
--tes-mas: var(--verde-texto);
}
