
body.casa {
--tinta: #f3f8f6;
--tinta-suave: #e8f1ee;
--humo: #ffffff;
--borde: #cfe0da;
--claro: #1a3a32;
--gris: #5c766e;
--rayo: #0f8a78;
--rayo-oscuro: #0b6e5f;
--rayo-brillo: 15 138 120;
margin: 0;
background: var(--tinta);
color: var(--claro);
font-family: Montserrat, system-ui, sans-serif;
overflow-x: hidden;
}
body.casa .cas-dentro {
width: 100%;
max-width: 1100px;
margin-inline: auto;
padding-inline: 20px;
}
body.casa .saltar {
position: absolute;
left: -9999px;
top: 0;
background: var(--rayo);
color: var(--tinta);
padding: 12px 20px;
font-weight: 800;
z-index: 10;
}
body.casa .saltar:focus { left: 0; }
body.casa :focus-visible {
outline: 3px solid var(--rayo);
outline-offset: 3px;
}
body.casa .tira-cas {
position: fixed;
top: 22px;
right: 22px;
z-index: 8;
display: flex;
align-items: center;
gap: 12px;
max-width: calc(100vw - 44px);
padding: 12px 20px 12px 12px;
border: 0;
border-radius: 0;
background: rgb(255 255 255 / 0.94);
box-shadow: inset 0 0 0 1px var(--borde), 0 18px 40px -24px rgb(26 58 50 / 0.35);
backdrop-filter: blur(8px);
border-radius: 12px;
animation: cas-entra 0.5s ease-out 0.7s backwards;
}
@keyframes cas-entra {
from { opacity: 0; transform: translateY(-14px); }
to   { opacity: 1; transform: none; }
}
body.casa .tira-cas .tira-asesor-foto {
width: 40px;
height: 40px;
border-radius: 0;
border-radius: 12px;
object-fit: cover;
}
body.casa .tira-cas .tira-asesor-inicial {
display: grid;
place-items: center;
width: 40px;
height: 40px;
border-radius: 0;
border-radius: 12px;
background: var(--rayo);
color: var(--tinta);
font-size: 14px;
font-weight: 900;
}
body.casa .tira-cas strong {
display: block;
color: var(--claro);
font-size: 13.5px;
font-weight: 800;
letter-spacing: 0.02em;
text-transform: uppercase;
line-height: 1.2;
}
body.casa .tira-cas .tira-asesor-cargo {
display: block;
margin-top: 2px;
color: var(--rayo);
font-size: 10.5px;
font-weight: 800;
letter-spacing: 0.12em;
text-transform: uppercase;
}
body.casa .tira-cas .tira-asesor-frase {
display: block;
margin-top: 1px;
color: var(--gris);
font-size: 11px;
}
@media (max-width: 720px) {
body.casa .tira-cas {
top: 12px;
right: 12px;
max-width: 62vw;
padding: 9px 14px 9px 9px;
gap: 9px;
}
body.casa .tira-cas .tira-asesor-foto,
body.casa .tira-cas .tira-asesor-inicial { width: 32px; height: 32px; font-size: 12px; }
body.casa .tira-cas strong {
font-size: 12px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
body.casa .tira-cas .tira-asesor-frase { display: none; }
}
body.casa:has(.tira-cas) .cas-portada { padding-top: 122px; }
@media (max-width: 720px) {
body.casa:has(.tira-cas) .cas-portada { padding-top: 96px; }
}
@media (prefers-reduced-motion: reduce) {
body.casa .tira-cas { animation: none; }
}
body.casa .cas-portada {
position: relative;
padding-block: 110px 96px;
overflow: hidden;
background:
radial-gradient(60% 80% at 15% 0%, rgb(var(--rayo-brillo) / 0.12), transparent 70%),
radial-gradient(50% 70% at 100% 20%, rgb(116 217 255 / 0.22), transparent 70%),
var(--tinta);
}
body.casa .cas-halo {
position: absolute;
inset: -20% -10% auto auto;
width: 70%;
height: 140%;
pointer-events: none;
background:
radial-gradient(40% 40% at 60% 40%, rgb(var(--rayo-brillo) / 0.16), transparent 70%),
radial-gradient(35% 45% at 30% 70%, rgb(116 217 255 / 0.22), transparent 70%);
filter: blur(30px);
animation: cas-respira 22s ease-in-out infinite alternate;
}
@keyframes cas-respira {
from { transform: translate(0, 0) scale(1); }
to   { transform: translate(-4%, 4%) scale(1.06); }
}
@media (prefers-reduced-motion: reduce) {
body.casa .cas-halo { animation: none; }
}
body.casa .cas-portada-dentro { display: grid; gap: 56px; align-items: center; }
@media (min-width: 1060px) {
body.casa .cas-portada-dentro {
grid-template-columns: minmax(0, 1.1fr) minmax(0, 372px);
}
}
body.casa .cas-arte { display: none; }
@media (min-width: 1060px) {
body.casa .cas-arte {
display: block;
position: relative;
justify-self: end;
width: 100%;
max-width: 372px;
}
}
body.casa .cas-arte-botes {
position: relative;
display: block;
width: 100%;
height: auto;
overflow: visible;
}
body.casa .cas-bote,
body.casa .cas-tapon,
body.casa .cas-agua {
animation: cas-aparece 0.5s ease-out backwards;
animation-delay: calc(0.35s + var(--i) * 0.12s);
}
body.casa .cas-bote {
fill: #fff;
stroke: var(--borde);
stroke-width: 1.5;
}
body.casa .cas-tapon {
fill: var(--borde);
}
body.casa .cas-agua {
fill: rgb(116 217 255 / 0.45);
}
body.casa .cas-agua-viva {
fill: var(--rayo);
filter: drop-shadow(0 6px 14px rgb(var(--rayo-brillo) / 0.35));
}
@keyframes cas-aparece {
from { opacity: 0; transform: translateY(8px); }
to   { opacity: 1; transform: none; }
}
body.casa .cas-arte-leyenda {
position: relative;
display: grid;
gap: 11px;
margin: 30px 0 0;
padding: 0;
list-style: none;
}
body.casa .cas-arte-leyenda li {
display: flex;
align-items: center;
gap: 12px;
margin: 0;
color: var(--gris);
font-size: 12.5px;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
}
body.casa .cas-arte-leyenda li::before {
content: '';
flex: none;
width: 15px;
height: 15px;
background: rgb(255 255 255 / 0.05);
box-shadow: inset 0 0 0 1px var(--borde);
border-radius: 12px;
}
body.casa .cas-arte-leyenda li.cas-arte-viva { color: var(--claro); }
body.casa .cas-arte-leyenda li.cas-arte-viva::before {
background: var(--rayo);
box-shadow: none;
}
body.casa .cas-encima {
display: inline-block;
margin: 0 0 22px;
padding: 7px 14px;
border: 1px solid var(--rayo);
color: var(--rayo);
font-size: 12px;
font-weight: 800;
letter-spacing: 0.18em;
text-transform: uppercase;
}
body.casa .cas-titular {
margin: 0;
font-size: clamp(38px, 7.4vw, 84px);
font-weight: 900;
line-height: 0.98;
letter-spacing: -0.03em;
text-transform: uppercase;
}
body.casa .cas-resalte {
color: var(--rayo);
position: relative;
display: inline-block;
}
body.casa .cas-resalte::after {
content: '';
position: absolute;
left: -4px;
right: -4px;
bottom: 0.06em;
height: 0.16em;
background: var(--rayo);
opacity: 0.28;
transform: skewX(-14deg);
}
body.casa .cas-apagado {
display: block;
margin-top: 0.18em;
color: var(--gris);
font-size: 0.42em;
font-weight: 700;
letter-spacing: 0;
text-transform: none;
}
body.casa .cas-entrada {
max-width: 56ch;
margin: 28px 0 0;
color: var(--gris);
font-size: clamp(15px, 1.7vw, 18px);
line-height: 1.7;
}
body.casa .cas-botones {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 36px;
}
body.casa .cas-boton,
body.casa .lan-boton {
display: inline-block;
padding: 16px 30px;
border: 0;
background: var(--rayo);
color: var(--tinta);
font-family: inherit;
font-size: 14px;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
border-radius: 12px;
transition: background-color 0.18s ease, transform 0.18s ease;
}
@media (hover: hover) {
body.casa .cas-boton:hover,
body.casa .lan-boton:hover { background: #fff; transform: translateY(-2px); }
}
body.casa .cas-boton:active,
body.casa .lan-boton:active { transform: translateY(0); }
body.casa .cas-boton-linea {
background: transparent;
color: var(--claro);
box-shadow: inset 0 0 0 1px var(--borde);
}
@media (hover: hover) {
body.casa .cas-boton-linea:hover { background: var(--humo); color: var(--rayo); }
}
body.casa .cas-tira {
border-block: 1px solid var(--borde);
background: var(--tinta-suave);
padding-block: 26px;
}
body.casa .cas-tira-dentro {
display: grid;
gap: 20px;
text-align: center;
}
@media (min-width: 700px) {
body.casa .cas-tira-dentro { grid-template-columns: repeat(3, 1fr); }
}
body.casa .cas-tira strong {
display: block;
color: var(--rayo);
font-size: 26px;
font-weight: 900;
letter-spacing: -0.01em;
}
body.casa .cas-tira span {
display: block;
margin-top: 4px;
color: var(--gris);
font-size: 13px;
}
body.casa .cas-seccion { padding-block: 90px; }
body.casa .cas-oscuro { background: var(--tinta-suave); }
body.casa .cas-titulo {
margin: 0 0 28px;
font-size: clamp(26px, 4vw, 40px);
font-weight: 900;
line-height: 1.05;
letter-spacing: -0.02em;
text-transform: uppercase;
}
body.casa .cas-titulo::before {
content: '';
display: block;
width: 46px;
height: 5px;
margin-bottom: 18px;
background: var(--rayo);
transform: skewX(-20deg);
}
body.casa .cas-parrafo {
max-width: 60ch;
margin: 0 0 16px;
color: var(--gris);
font-size: 16px;
line-height: 1.75;
}
body.casa .cas-rejilla {
display: grid;
gap: 16px;
}
@media (min-width: 640px) { body.casa .cas-rejilla { grid-template-columns: repeat(2, 1fr); } }
body.casa .cas-tarjeta {
padding: 26px;
background: var(--humo);
border-left: 3px solid var(--rayo);
transition: transform 0.2s ease, background-color 0.2s ease;
}
@media (hover: hover) {
body.casa .cas-tarjeta:hover { transform: translateX(4px); background: #f7fbf9; }
}
body.casa .cas-tarjeta h3 {
margin: 0 0 10px;
font-size: 17px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.02em;
}
body.casa .cas-tarjeta p {
margin: 0;
color: var(--gris);
font-size: 14.5px;
line-height: 1.65;
}
body.casa .cas-pasos {
display: grid;
gap: 28px;
margin: 0;
padding: 0;
list-style: none;
counter-reset: paso;
}
@media (min-width: 860px) { body.casa .cas-pasos { grid-template-columns: repeat(3, 1fr); } }
body.casa .cas-pasos li { position: relative; padding-top: 18px; border-top: 1px solid var(--borde); }
body.casa .cas-numero {
display: block;
margin-bottom: 10px;
color: var(--rayo);
font-size: 34px;
font-weight: 900;
letter-spacing: -0.04em;
opacity: 0.85;
}
body.casa .cas-pasos h3 {
margin: 0 0 10px;
font-size: 19px;
font-weight: 800;
text-transform: uppercase;
}
body.casa .cas-pasos p {
margin: 0;
color: var(--gris);
font-size: 14.5px;
line-height: 1.7;
}
body.casa .cas-dos { display: grid; gap: 36px; }
@media (min-width: 860px) {
body.casa .cas-dos { grid-template-columns: 1.25fr 0.75fr; align-items: start; }
}
body.casa .cas-lista {
margin: 0;
padding: 0;
list-style: none;
border-top: 1px solid var(--borde);
}
body.casa .cas-lista li {
padding: 15px 0 15px 30px;
border-bottom: 1px solid var(--borde);
position: relative;
font-size: 14.5px;
font-weight: 600;
}
body.casa .cas-lista li::before {
content: '';
position: absolute;
left: 4px;
top: 20px;
width: 8px;
height: 14px;
border: solid var(--rayo);
border-width: 0 3px 3px 0;
transform: rotate(45deg);
}
body.casa .cas-contacto {
padding-block: 100px;
background:
radial-gradient(70% 60% at 50% 0%, rgb(var(--rayo-brillo) / 0.10), transparent 70%),
var(--tinta);
border-top: 1px solid var(--borde);
}
body.casa .cas-contacto-dentro { display: grid; gap: 36px; }
@media (min-width: 900px) {
body.casa .cas-contacto-dentro { grid-template-columns: 0.85fr 1.15fr; align-items: start; }
}
body.casa .cas-firma {
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid var(--borde);
color: var(--gris);
font-size: 14px;
}
body.casa .cas-firma strong { color: var(--rayo); }
body.casa .lan-formulario {
display: grid;
gap: 16px;
}
@media (min-width: 640px) {
body.casa .lan-formulario { grid-template-columns: 1fr 1fr; }
body.casa .lan-ancho { grid-column: 1 / -1; }
}
body.casa .lan-formulario label { display: grid; gap: 7px; }
body.casa .lan-formulario label > span {
font-size: 12px;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--gris);
}
body.casa .lan-formulario label em {
font-style: normal;
font-weight: 600;
text-transform: none;
letter-spacing: 0;
}
body.casa .lan-formulario input,
body.casa .lan-formulario select,
body.casa .lan-formulario textarea {
width: 100%;
padding: 14px 15px;
border: 1px solid var(--borde);
border-radius: 10px;
background: var(--humo);
color: var(--claro);
font-family: inherit;
font-size: 15px;
}
body.casa .lan-formulario textarea { resize: vertical; line-height: 1.6; }
body.casa .lan-formulario input:focus,
body.casa .lan-formulario select:focus,
body.casa .lan-formulario textarea:focus {
outline: 2px solid var(--rayo);
outline-offset: -2px;
border-color: var(--rayo);
}
body.casa .lan-formulario input::placeholder,
body.casa .lan-formulario textarea::placeholder { color: #8aa39b; }
body.casa .lan-enviar {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 16px;
margin-top: 4px;
}
body.casa .lan-legal {
flex: 1 1 260px;
margin: 0;
color: var(--gris);
font-size: 12px;
line-height: 1.6;
}
body.casa .lan-legal a { color: var(--rayo); }
body.casa .lan-error {
grid-column: 1 / -1;
margin: 0;
padding: 14px 16px;
background: rgb(255 90 60 / 0.12);
border-left: 3px solid #ff5a3c;
color: #ffb3a3;
font-size: 14px;
}
body.casa .cas-gracias {
grid-column: 1 / -1;
padding: 40px;
background: var(--humo);
border-left: 4px solid var(--rayo);
}
body.casa .cas-pie {
padding-block: 34px;
border-top: 1px solid var(--borde);
background: var(--tinta-suave);
color: var(--gris);
font-size: 12.5px;
}
body.casa .cas-pie p { margin: 0 0 8px; }
body.casa .cas-pie-legal { max-width: 70ch; line-height: 1.6; opacity: 0.75; }
@media (prefers-reduced-motion: reduce) {
body.casa .cas-boton:hover,
body.casa .lan-boton:hover,
body.casa .cas-tarjeta:hover { transform: none !important; }
body.casa .cas-bote,
body.casa .cas-tapon,
body.casa .cas-agua { animation: none; }
}
body.casa .lan-dudas {
display: grid;
gap: 10px;
max-width: 78ch;
}
body.casa .lan-duda {
border: 1px solid var(--borde);
border-radius: 12px;
background: var(--tinta-suave);
}
body.casa .lan-duda summary {
cursor: pointer;
padding: 16px 20px;
color: var(--claro);
font-size: 16px;
font-weight: 600;
line-height: 1.45;
}
body.casa .lan-duda[open] summary { color: var(--rayo); }
body.casa .lan-duda p {
margin: 0;
padding: 0 20px 18px;
color: var(--gris);
font-size: 15px;
line-height: 1.75;
}
body.casa {
--flota-fondo: var(--rayo);
--flota-tinta: var(--tinta);
--flota-fondo-hover: var(--rayo-oscuro);
--flota-foco: var(--claro);
--flota-radio: 999px;
--flota-sombra: 0 10px 28px rgb(26 58 50 / 0.25);
}
body.casa {
--gracias-acento: var(--rayo);
--tes-fondo: var(--humo);
--tes-borde: var(--borde);
--tes-texto: var(--gris);
--tes-firma: var(--claro);
--tes-rotulo: var(--rayo);
--tes-rotulo-opacidad: 1;
--tes-mas: var(--rayo);
--tes-radio: 14px;
--tes-sombra: none;
}
body.casa .cas-titular,
body.casa .cas-titulo,
body.casa .cas-tarjeta h3,
body.casa .cas-pasos h3,
body.casa .cas-boton,
body.casa .lan-boton { text-transform: none; letter-spacing: -0.02em; }
body.casa .cas-boton,
body.casa .lan-boton { letter-spacing: 0; font-size: 15px; border-radius: 999px; }
body.casa .cas-titular { font-size: clamp(34px, 6.2vw, 70px); letter-spacing: -0.03em; line-height: 1.06; }
body.casa .cas-apagado { font-size: 0.48em; }
body.casa .cas-titulo::before { transform: none; border-radius: 999px; }
body.casa .cas-resalte::after { transform: skewX(-6deg); border-radius: 999px; opacity: 0.25; }
body.casa .tira-cas .tira-asesor-foto,
body.casa .tira-cas .tira-asesor-inicial { border-radius: 999px; }
body.casa .cas-arte-leyenda li::before { border-radius: 50%; }
body.casa .cas-tarjeta { border-radius: 16px; box-shadow: 0 10px 30px -22px rgb(26 58 50 / 0.35); }
body.casa .cas-gracias { border-radius: 16px; }
body.casa .cas-encima { border-radius: 999px; }
body.casa .cas-entrada,
body.casa .cas-parrafo { color: var(--claro); }
body.casa .lan-peticiones { border: 0; padding: 0; margin: 0; }
body.casa .lan-peticiones legend {
font-size: 12px;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--gris);
margin-bottom: 8px;
}
body.casa .lan-peticiones label {
display: flex;
align-items: flex-start;
gap: 10px;
padding: 13px 15px;
border-radius: 12px;
border: 1px solid var(--borde);
background: var(--humo);
cursor: pointer;
}
body.casa .lan-peticiones label + label { margin-top: 8px; }
body.casa .lan-peticiones input {
width: 18px;
height: 18px;
margin-top: 2px;
padding: 0;
flex-shrink: 0;
accent-color: var(--rayo);
}
body.casa .lan-peticiones label:has(input:checked) { border-color: var(--rayo); background: #e4f3ef; }
body.casa .lan-peticiones span {
font-size: 14.5px;
font-weight: 400;
line-height: 1.5;
letter-spacing: 0;
text-transform: none;
color: var(--claro);
}
