/* ============================================
   MAYORAZGO — Seguros patrimoniales (hogar, RC, mala praxis, cauciones)
   Dirección: "la frase es el layout". Pocas medidas de letra, grandes y chicas;
   secciones separadas por aire y por cambios de fondo, sin líneas ni tarjetas.
   ============================================ */

.pg-patri {
  --pt-xl: clamp(46px, 7.2vw, 112px);
  --pt-l: clamp(36px, 4.6vw, 70px);
  --pt-m: clamp(24px, 2.4vw, 36px);
  --pt-body: 18px;
  --pt-soft: #66768A;
  --pt-gap: clamp(104px, 11vw, 160px);
  --pt-ease: cubic-bezier(.2, .7, .2, 1);
}

.pt-h2, .pt-stair-line, .pt-proof-text, .pt-why-row h3, .pt-qa dt, .pt-faq-h, .pt-row-name, .pt-close-h, .pt-h1 {
  font-family: 'Fraunces', Georgia, serif;
  font-optical-sizing: auto;
  color: var(--tinta);
  text-wrap: balance;
  margin: 0;
}
.pt-h2 { font-size: var(--pt-l); font-weight: 600; line-height: 1; letter-spacing: -0.03em; }

/* Líneas que suben desde una máscara (título del hero y del cierre) */
.pt-line { display: inline-block; overflow: hidden; overflow-x: visible; overflow-y: clip; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.pt-line > span { display: inline-block; }
/* El título del hero siempre en dos líneas, cortado donde dice el HTML */
.pt-h1 .pt-line { display: block; width: fit-content; margin-inline: auto; padding-bottom: 0; margin-bottom: -.24em; }
.pt-h1 .pt-line > span { padding-bottom: .24em; }
/* Terminada la entrada no se recorta nada, así la sombra del título no deja un rectángulo */
.pt-titulo-listo .pt-hero .pt-line, html:not(.pt-motion) .pt-hero .pt-line { overflow: visible; }

/* ---------- HERO ---------- */
.pt-hero {
  position: relative;
  height: calc(100svh - var(--header-h));
  min-height: 620px;
  max-height: 1080px;
  overflow: hidden;
  background: #A9CBEA;
  isolation: isolate;
}
.pt-hero-media {
  position: absolute; inset: 0 0 auto 0; height: 114%;
  z-index: -1;
}
/* Sombra suave arriba: el cielo se oscurece apenas para que el texto blanco se lea */
.pt-hero-media::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(ellipse 70% 55% at 50% 28%, rgba(18, 50, 74, .34) 0%, rgba(18, 50, 74, 0) 70%),
    linear-gradient(180deg, rgba(18, 50, 74, .30) 0%, rgba(18, 50, 74, 0) 55%);
}
.pt-hero-media img, .pt-hero-video {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 100%;
}
.pt-hero-video { opacity: 0; transition: opacity 1.2s ease; }
.pt-hero-video.is-on { opacity: 1; }
.pt-hero-still picture { position: absolute; inset: 0; transform-origin: 50% 50%; }

.pt-hero-copy {
  position: relative;
  max-width: 1180px; margin-inline: auto;
  padding: clamp(40px, 7vh, 84px) 24px 0;
  text-align: center;
}
.pt-h1 {
  font-size: var(--pt-xl);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -0.035em;
  color: #fff;
  text-shadow: 0 2px 30px rgba(18, 50, 74, .35);
}
.pg-hogar .pt-hero-sub, .pg-prep .pt-hero-sub { max-width: none; font-size: clamp(18px, 1.5vw, 22px); text-shadow: 0 1px 16px rgba(18, 50, 74, .6); }
/* El oscurecido ya viene dentro de cada foto: una capa encima dejaba rayitas en el cielo */
.pt-hero-still .pt-hero-media::after { display: none; }
.pt-hero-sub {
  max-width: 38ch; margin: 28px auto 0;
  font-size: 20px; line-height: 1.45; font-weight: 500;
  color: #fff;
  text-shadow: 0 1px 14px rgba(18, 50, 74, .45);
  text-wrap: pretty;
}
.pt-hero-actions { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 34px; flex-wrap: wrap; }
/* Botón secundario de vidrio: mismo alto y forma que "Cotizá tu seguro", sin competir con el naranja */
.pt-hero-link {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 17.5px 34px; border-radius: 999px;
  font-weight: 700; font-size: 17px; line-height: 1.2; color: #fff; text-decoration: none;
  background: rgba(18, 50, 74, .32);
  border: 1.5px solid rgba(255, 255, 255, .75);
  -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 14px 30px -14px rgba(18, 50, 74, .55), inset 0 1px 0 rgba(255, 255, 255, .35);
  transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.pt-hero-link:hover { background: #fff; color: var(--azul-profundo); border-color: #fff; }
.pt-hero-link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

/* ---------- ASEGURADORAS: una frase ---------- */
.pt-proof { padding: var(--pt-gap) 0; background: #fff; }
.pt-proof-text {
  font-size: var(--pt-l); font-weight: 500; line-height: 1.08; letter-spacing: -0.03em;
}
.pt-co { color: var(--pt-soft); transition: color .5s ease; }
.pt-co.is-lit { color: var(--azul-hover); }

/* ---------- LOS CUATRO SEGUROS: tarjetas para elegir ----------
   Foto a la izquierda, ícono de la línea, nombre, una frase y el botón.
   Toda la tarjeta es el botón: se nota que se elige */
.sv-sec { padding: calc(var(--pt-gap) * .8) 0 calc(var(--pt-gap) * .75); background: #fff; }
/* Esta sección usa más ancho que el resto, como una galería */
.sv-wide { width: min(100% - 10vw, 1560px); margin-inline: auto; }
.sv-head { margin-bottom: clamp(32px, 4vw, 56px); }
.sv-title { margin: 0; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: clamp(36px, 4.4vw, 68px); line-height: 1.07; letter-spacing: -0.035em; color: var(--tinta); text-wrap: balance; }
.sv-sub { margin: 18px 0 0; font-size: 20px; line-height: 1.5; color: var(--tinta-75); }

.sc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 1.4vw, 22px); }

/* Tarjeta: foto alta, título y un botón de contorno abajo. Toda la tarjeta se toca */
.sc {
  position: relative; isolation: isolate; overflow: hidden;
  aspect-ratio: 3 / 5; border: 0; border-radius: 28px; padding: clamp(22px, 2vw, 32px);
  display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: 18px;
  background: var(--azul-profundo); color: #fff; font: inherit; text-align: left; cursor: pointer;
}
/* Prepagas: el logo de cada una arriba, en una pastilla blanca, para reconocerla de un vistazo */
.sc-logo {
  position: absolute; top: clamp(16px, 1.6vw, 24px); left: clamp(16px, 1.6vw, 24px);
  display: flex; align-items: center; height: 50px; padding: 0 16px; border-radius: 16px; background: #fff;
  box-shadow: 0 10px 24px -12px rgba(18, 50, 74, .5);
}
.sc-logo img { display: block; height: 24px; width: auto; max-width: 168px; object-fit: contain; object-position: left center; }
.svm-title-logo { margin-bottom: 4px; }
.svm-title-logo img { display: block; height: 44px; width: auto; max-width: 300px; object-fit: contain; object-position: left center; }
/* Cada logo tiene otras proporciones: se compensan para que se vean del mismo peso */
.sc-logo img[src*="swiss"] { height: 34px; }
.sc-logo img[src*="sancor"] { height: 30px; }
.svm-title-logo img[src*="swiss"] { height: 56px; }
.svm-title-logo img[src*="sancor"] { height: 50px; }
.svm-title-logo img[src*="prevencion"] { height: 34px; }
.sc-photo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--pt-ease); }
.sc::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(180deg, rgba(18, 50, 74, 0) 40%, rgba(18, 50, 74, .55) 62%, rgba(18, 50, 74, .9) 100%);
}
.sc-name { display: flex; align-items: flex-end; min-height: 2.2em; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: var(--card-t); line-height: 1.1; letter-spacing: -0.025em; text-wrap: balance; }
.sc-more {
  display: inline-flex; align-items: center; min-height: 52px; padding: 0 26px;
  border: 0; border-radius: 999px; background: var(--azul);
  font-weight: 700; font-size: 16px; color: #fff;
  box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .35) inset, 0 12px 26px -10px rgba(28, 123, 190, .75);
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}
.sc:hover .sc-more, .sc:focus-visible .sc-more { background: #fff; color: var(--azul); }
.sc:hover .sc-photo { transform: scale(1.05); }
.sc:focus-visible { outline: 3px solid var(--azul-claro); outline-offset: 3px; }

/* ---------- Tarjeta grande encima de la página ---------- */
.svm { position: fixed; inset: 0; z-index: 900; display: grid; place-items: center; padding: 24px; }
.svm[hidden] { display: none; }
.svm-backdrop { position: absolute; inset: 0; background: rgba(12, 30, 46, .62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.svm-card {
  position: relative; width: min(1120px, 100%); height: min(760px, calc(100svh - 48px));
  border-radius: 32px; overflow: hidden; background: #fff;
  box-shadow: 0 40px 120px -30px rgba(12, 30, 46, .6);
}
.svm-view { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); height: 100%; }
.svm-view[hidden] { display: none; }
.svm-photo { position: relative; overflow: hidden; }
.svm-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.svm-body { display: flex; flex-direction: column; padding: clamp(36px, 4vw, 56px); overflow-y: auto; }
.svm-title { margin: 0; padding-right: 48px; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-size: clamp(34px, 3.4vw, 50px); line-height: 1; letter-spacing: -0.03em; color: var(--tinta); text-wrap: balance; }
.svm-lead { margin: 18px 0 0; font-size: 19px; line-height: 1.5; color: var(--tinta-75); text-wrap: pretty; }
.svm-list { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 14px; }
.svm-list li { position: relative; padding-left: 34px; font-size: 18px; line-height: 1.45; color: var(--tinta); text-wrap: pretty; }
.svm-list li::before {
  content: ""; position: absolute; left: 0; top: .1em; width: 22px; height: 22px; border-radius: 50%;
  background: var(--azul) 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.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 14px no-repeat;
}
.svm-cta { margin-top: 28px; }
.svm-others { margin-top: auto; padding-top: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.svm-others > span { grid-column: 1 / -1; font-size: 16px; font-weight: 700; color: var(--tinta); margin-bottom: 2px; }
/* Dos columnas iguales; si queda uno solo en la última fila, ocupa el ancho entero */
.svm-others > .svm-chip:last-child:nth-child(even) { grid-column: 1 / -1; }
/* Los otros seguros son mini tarjetas: foto chiquita + nombre (o logo) sobre arena.
   Sin borde. Al pasar el mouse se aclaran y se elevan apenas, sin moverse */
.svm-chip {
  display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px 14px 8px 8px; text-align: left;
  border: 0; border-radius: 18px; background: var(--arena, #F7EFE3); color: var(--tinta);
  font: inherit; font-weight: 700; font-size: 15px; line-height: 1.2; cursor: pointer;
  transition: background-color .25s ease, color .25s ease, box-shadow .25s ease;
}
.svm-chip-ph { flex: none; width: 44px; height: 44px; border-radius: 12px; object-fit: cover; }
/* 2026-11-07: en vez de la mini foto, el ícono del seguro (se distingue mejor) */
.svm-chip .svm-chip-ic { width: 44px; height: 44px; border-radius: 12px; background: #fff; }
.svm-chip .svm-chip-ic svg { width: 34px; height: 34px; }
.svm-chip-name { min-width: 0; }
.svm-chip-logo { display: block; height: 22px; width: auto; max-width: calc(100% - 56px); object-fit: contain; object-position: left center; }
.svm-chip-logo[src*="swiss"] { height: 28px; }
.svm-chip-logo[src*="sancor"] { height: 26px; }
@media (hover: hover) { .svm-chip:hover { background: #fff; color: var(--azul); box-shadow: 0 0 0 1px var(--piedra), 0 14px 28px -14px rgba(120, 80, 40, .45); } }
.svm-chip:focus-visible { background: #fff; color: var(--azul); }
.svm-close {
  position: absolute; top: 18px; right: 18px; z-index: 2; width: 48px; height: 48px; border-radius: 50%;
  display: grid; place-items: center; border: 0; background: var(--marfil-2); color: var(--tinta); cursor: pointer;
  transition: background-color .25s ease;
}
.svm-close svg { width: 22px; height: 22px; }
.svm-close:hover { background: var(--azul-tinte); }
.svm-close:focus-visible, .svm-chip:focus-visible { outline: 3px solid var(--azul-claro); outline-offset: 2px; }
body.svm-open { overflow: hidden; }

/* ---------- CIERRE: azul noche; título, texto y botón juntos ---------- */
.pt-close { position: relative; overflow: hidden; isolation: isolate; background: #2F759C; color: #fff; }
.pt-close-tower { position: absolute; z-index: -1; right: -9vw; bottom: -12%; height: 120%; width: auto; color: #3C96CD; opacity: .55; pointer-events: none; }
.pt-close-inner { padding-top: clamp(96px, 11vw, 150px); padding-bottom: clamp(96px, 11vw, 150px); }
.pt-close-h { color: #fff; font-size: clamp(54px, 8.2vw, 128px); font-weight: 600; line-height: 1.05; letter-spacing: -0.04em; }
.pt-close-h .pt-line { display: block; width: fit-content; padding-bottom: 0; margin-bottom: -.24em; }
.pt-close-h .pt-line > span { padding-bottom: .24em; }
.pg-hogar .sv-sec { padding-block: var(--bloque) 0; }
.pg-hogar .fit { padding-block: var(--bloque); }
.pt-close-sub { margin: 32px 0 0; max-width: 40ch; font-size: 20px; line-height: 1.5; color: #fff; text-wrap: pretty; }
.pt-close .btn { margin-top: 32px; transition-property: background-color, color, border-color; }
.pt-close--chico { margin-inline: 0; border-radius: 0; }
.pt-close--chico .pt-close-inner { padding-block: clamp(64px, 7.5vw, 104px); }
@media (min-width: 701px) {
  .pt-close--chico .pt-close-h { font-size: clamp(46px, 6.6vw, 100px); }
  .pt-close--chico .pt-close-sub { max-width: 66ch; margin-top: 24px; }
}

/* Seis seguros (Personas): tres por fila, tarjetas un poco menos altas */
.sc-grid-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sc-grid-6 .sc { aspect-ratio: 4 / 5; }

/* Pantallas de compu bajas (notebooks): la tarjeta grande se compacta para que entre todo sin scroll */
@media (min-width: 701px) and (max-height: 940px) {
  .svm-body { padding: 34px 40px; }
  .svm-lead { margin-top: 12px; font-size: 17px; }
  .svm-list { margin-top: 18px; gap: 10px; }
  .svm-list li { font-size: 17px; }
  .svm-cta { margin-top: 22px; }
  .svm-others { padding-top: 18px; gap: 8px; }
  .svm-chip { min-height: 52px; padding-block: 6px; }
  .svm-chip-ph { width: 38px; height: 38px; border-radius: 10px; }
}

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
  .sc-grid, .sc-grid-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sc { aspect-ratio: 4 / 5; }
  .svm-view { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); }
}

/* ---------- Celular ---------- */
@media (max-width: 700px) {
  .pg-patri { --pt-body: 17px; --pt-gap: 104px; }
  .pt-hero { height: calc(100svh - var(--header-h)); min-height: 600px; }
  .pt-hero-media { height: 100%; }
  .pt-hero-media img, .pt-hero-video { object-position: 50% 100%; }
  .pt-hero-copy { padding: 36px 20px 0; }
  .pt-h1 { font-size: clamp(34px, 9.6vw, 46px); line-height: 1.07; }
  .pt-hero-sub { font-size: 17px; margin-top: 18px; }
  .pt-hero-actions { margin-top: 24px; gap: 12px; flex-direction: column; }
  .pt-hero-actions > * { width: min(100%, 300px); }

  .pt-proof-text { font-size: 24px; }
  .pt-close-h { font-size: clamp(36px, 10vw, 48px); }
  .pt-close-sub { font-size: 18px; margin-top: 22px; }
  .pt-close .btn { width: 100%; margin-top: 26px; }
  .sv-wide { width: calc(100% - 32px); }
  .sv-sub { font-size: 18px; }
  .sc-grid { gap: 10px; }
  .sc, .sc-grid-6 .sc { aspect-ratio: 3 / 4; border-radius: 22px; padding: 16px 14px; gap: 12px; }
  .svm { padding: 0; place-items: end stretch; }
  .svm-card { width: 100%; height: auto; max-height: 92svh; border-radius: 28px 28px 0 0; overflow-y: auto; }
  .svm-view { display: block; height: auto; }
  .svm-photo { height: 30svh; }
  .svm-body { padding: 26px 20px 28px; overflow: visible; }
  .svm-title { font-size: 32px; }
  .svm-lead { font-size: 17px; }
  .svm-list li { font-size: 17px; }
  .svm-cta .btn { width: 100%; }
  .svm-close { background: rgba(255, 255, 255, .92); }
  .sc-name { letter-spacing: -0.03em; }
  .sc-more { min-height: 40px; padding: 0 14px; font-size: 14px; }
  /* En el celular la tarjeta abierta ocupa el ancho entero y crece con su texto */
  .svm-chip { font-size: 14px; gap: 10px; padding-right: 10px; }
  .pt-close-tower { height: 70%; bottom: -8%; right: -18vw; opacity: .4; }
  .sc-name { min-height: 2.2em; }
  .sc-logo { top: 12px; left: 12px; height: 38px; padding: 0 10px; border-radius: 12px; }
  .sc-logo img { height: 18px; max-width: 118px; }
  .svm-title-logo img { height: 36px; }
  .sc-logo img[src*="swiss"] { height: 26px; }
  .sc-logo img[src*="sancor"] { height: 22px; }
  .svm-title-logo img[src*="swiss"] { height: 46px; }
  .svm-title-logo img[src*="sancor"] { height: 40px; }
  .svm-title-logo img[src*="prevencion"] { height: 28px; }
}

/* Con movimiento reducido, todo queda quieto y visible */
@media (prefers-reduced-motion: reduce) {
  .pt-co, .pt-hero-video, .sc-photo { transition: none !important; }
}

/* Estado inicial del hero mientras carga el movimiento (solo si hay movimiento) */
.pt-motion .pt-hero .pt-line > span { transform: translateY(108%); }
.pt-motion .pt-hero-sub, .pt-motion .pt-hero-actions { opacity: 0; }

/* Pasos: menos aire arriba y abajo en esta página */
.pg-patri .pp-steps { padding-block: clamp(64px, 7vw, 96px); }
.pg-patri .pp-steps .section-head { margin-bottom: clamp(28px, 3.5vw, 44px); }

/* ---------- FONDOS (Abi 2026-10-28: "blanco con un esfumado gris clarito por secciones") ----------
   Secciones blancas que se alternan con un gris muy claro que aparece y se va esfumado.
   --arena queda como nombre del gris claro (lo usan las mini tarjetas de "Ver otro seguro"). */
.pg-patri {
  --crema: #FFFFFF;
  --arena: #F2F4F6;
  --marfil-2: #F2F4F6;
  --piedra: #E3E7EB;
  background: #fff;
}
.pg-patri .sv-sec { background: #fff; }
.pg-patri .pp-steps { background: var(--panel-claro); }
.pg-patri .faq { background: #fff; }
.pg-patri .pp-step-art { background: #fff; border-color: var(--piedra); box-shadow: 0 18px 40px -26px rgba(30, 45, 60, .28); }
/* Paso 3 sobre tarjeta blanca: el número en círculo azul lleno y el aviso de abajo en verde, para que se lean */
.pg-patri .pp-art-call::before { background: var(--azul); color: #fff; }
.pg-patri .pp-call-chip { background: #E6F6EE; border: 1px solid #BFE8D2; color: #136B3F; font-size: 15px; padding: 8px 16px 8px 10px; }
.pg-patri .pp-call-chip svg { background: #22A564; color: #fff; }
.pg-patri .aura-search { background: #fff !important; }
.pg-patri .faq details { border-color: var(--piedra); }
.pg-patri .site-header { background: rgba(255, 255, 255, .85); }

/* Prepaga: el logo ya dice el nombre; el nombre escrito queda solo para lectores de pantalla */
.pg-prep .sc-name { position: absolute; width: 1px; height: 1px; min-height: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Prepaga: el logo baja y queda encima del botón; el botón es más chico */
.pg-prep .sc { gap: 14px; }
.pg-prep .sc-logo { position: static; }
.pg-prep .sc-more { min-height: 42px; padding: 0 20px; font-size: 15px; }
@media (max-width: 700px) {
  .pg-prep .sc { gap: 10px; }
  .pg-prep .sc-more { min-height: 36px; padding: 0 14px; font-size: 13.5px; }
}

/* Prepaga: cada tarjeta lleva el color de su marca (sacado de su logo oficial).
   --marca pinta el botón; --marca-honda tiñe el degradé de abajo de la foto */
.pg-prep [data-sc="prevencion"], .pg-prep [data-view="prevencion"] { --marca: #E20172; --marca-honda: 110, 6, 60; }
.pg-prep [data-sc="sancor"], .pg-prep [data-view="sancor"] { --marca: #1E3D84; --marca-honda: 16, 32, 76; }
.pg-prep [data-sc="swiss"], .pg-prep [data-view="swiss"] { --marca: #D50032; --marca-honda: 104, 8, 30; }
.pg-prep [data-sc="galeno"], .pg-prep [data-view="galeno"] { --marca: #00599A; --marca-honda: 6, 48, 92; }
.pg-prep .sc::before {
  background: linear-gradient(180deg, rgba(var(--marca-honda), 0) 38%, rgba(var(--marca-honda), .55) 62%, rgba(var(--marca-honda), .92) 100%);
}
.pg-prep .sc { background: rgb(var(--marca-honda)); }
.pg-prep .sc-more { background: var(--marca); box-shadow: 0 0 0 1.5px rgba(255, 255, 255, .35) inset, 0 12px 26px -10px rgba(var(--marca-honda), .8); }
.pg-prep .sc:hover .sc-more, .pg-prep .sc:focus-visible .sc-more { background: #fff; color: var(--marca); }
/* En la tarjeta grande, los tildes también van con el color de la prepaga */
.pg-prep .svm-view .svm-list li::before { background-color: var(--marca); }

/* Servicios financieros: el logo de Banco del Sol es apilado (3 renglones), va más alto que los demás */
.sc-logo img[src*="banco-del-sol"] { height: 38px; }
.pp-art-logos img[src*="banco-del-sol"] { height: 40px; max-height: none; }
@media (max-width: 700px) {
  .sc-logo img[src*="banco-del-sol"] { height: 30px; }
}

/* ---------- PREPAGA: las cuatro, lado a lado (bloque propio de la página) ----------
   Una columna blanca por prepaga. Arriba, el logo en una placa blanca sobre un brillo suave
   del color de la marca. Los datos van en pastillas; los aportes, con tilde o reloj.
   Las filas se alinean entre columnas (subgrid). En celular, una tarjeta debajo de otra. */
.pg-prep [data-pp="prevencion"] { --marca: #E20172; }
.pg-prep [data-pp="sancor"] { --marca: #1E3D84; }
.pg-prep [data-pp="swiss"] { --marca: #D50032; }
.pg-prep [data-pp="galeno"] { --marca: #00599A; }
.cmpx { padding-block: clamp(80px, 9vw, 128px); background: var(--panel-claro); }
.cmpx .section-head { max-width: 780px; margin-bottom: clamp(36px, 4vw, 56px); }
.cmpx-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.cmpx-grid { display: grid; grid-template-columns: minmax(124px, .46fr) repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(5, auto); column-gap: 12px; }
.cmpx-labels, .cmpx-col { grid-row: 1 / span 5; display: grid; grid-template-rows: subgrid; }
.cmpx-labels span { display: flex; align-items: flex-start; gap: 12px; padding: 18px 0; border-top: 1px solid rgba(28, 123, 190, .14); font-weight: 700; font-size: 16.5px; line-height: 1.3; color: var(--tinta); }
.cmpx-labels span:first-child, .cmpx-labels span:last-child { border-top: 0; }
.cmpx-col { position: relative; overflow: hidden; background: #fff; border-radius: 28px; box-shadow: 0 1px 0 rgba(255, 255, 255, .9) inset, 0 30px 60px -38px rgba(16, 50, 80, .5); transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease; }
.cmpx-col:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -40px rgba(16, 50, 80, .6); }
.cmpx-logo { display: grid; place-items: center; min-height: 132px; padding: 30px 18px 26px; background: radial-gradient(120% 100% at 50% 0%, color-mix(in srgb, var(--marca) 18%, #fff) 0%, color-mix(in srgb, var(--marca) 6%, #fff) 48%, #fff 82%); }
.cmpx-logo img { box-sizing: content-box; width: auto; height: auto; max-width: 74%; max-height: 28px; padding: 15px 20px; border-radius: 18px; background: #fff; box-shadow: 0 14px 28px -16px color-mix(in srgb, var(--marca) 70%, transparent); }
.cmpx-dl { display: contents; }
.cmpx-dl > div { display: contents; }
.cmpx-dl dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cmpx-dl dd { margin: 0; padding: 18px 16px; border-top: 1px solid #EDF2F7; font-size: 16px; line-height: 1.45; color: var(--tinta); }
.cmpx-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cmpx-chips li { display: inline-flex; align-items: center; gap: 5px; min-height: 30px; padding: 4px 10px; border-radius: 10px; background: #F1F5F9; font-size: 14px; font-weight: 600; line-height: 1.25; color: var(--tinta); }
.cmpx-chips li.is-hi { background: color-mix(in srgb, var(--marca) 11%, #fff); color: var(--marca); }
.cmpx-i { flex: none; width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.cmpx-ap { flex-direction: column; align-items: flex-start; }
.cmpx-ap li.is-ok { background: #E7F6EE; color: #146C47; }
.cmpx-ap li.is-ask { background: #F1F3F6; color: #56636F; }
.cmpx-app { margin: 0; font-size: 15.5px; line-height: 1.4; color: #4A5B6B; text-wrap: pretty; }
.cmpx-app b { display: block; font-size: 16.5px; font-weight: 700; color: var(--tinta); }
.cmpx .cmpx-btn[data-open-lead-form] { align-self: end; justify-content: center; margin: 6px 18px 20px; min-height: 50px; padding: 0 18px; border-radius: 999px; background: var(--marca); color: #fff; font-weight: 700; font-size: 15.5px; box-shadow: 0 14px 26px -16px var(--marca); transition: filter .2s ease, transform .2s ease; }
.cmpx .cmpx-btn::after, .cmpx .cmpx-btn::before { display: none; }
.cmpx .cmpx-btn[data-open-lead-form]:hover, .cmpx .cmpx-btn[data-open-lead-form]:focus-visible { background: var(--marca); color: #fff; filter: brightness(1.12); transform: translateY(-1px); }
@media (prefers-reduced-motion: reduce) { .cmpx-col, .cmpx-col:hover { transition: none; transform: none; } }
@media (min-width: 1340px) { .cmpx-grid { margin-inline: -50px; } }
.cmpx-ap li { white-space: nowrap; }
@media (max-width: 1339px) { .cmpx-ap li { white-space: normal; } }
@media (max-width: 1100px) and (min-width: 861px) {
  .cmpx-grid { grid-template-columns: minmax(110px, .46fr) repeat(4, minmax(0, 1fr)); column-gap: 10px; }
  .cmpx-dl dd { padding: 16px 14px; }
  .cmpx .cmpx-btn[data-open-lead-form] { margin-inline: 12px; font-size: 14.5px; padding: 0 10px; }
}
@media (max-width: 860px) {
  .cmpx-grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: 18px; }
  .cmpx-labels { display: none; }
  .cmpx-col { grid-row: auto; display: flex; flex-direction: column; }
  .cmpx-col:hover { transform: none; }
  .cmpx-logo { min-height: 0; padding: 24px 20px 20px; justify-items: start; background: radial-gradient(90% 140% at 0% 0%, color-mix(in srgb, var(--marca) 16%, #fff) 0%, #fff 75%); }
  .cmpx-logo img { max-height: 26px; max-width: 60%; }
  .cmpx-dl { display: block; padding: 0 20px; }
  .cmpx-dl > div { display: block; padding: 14px 0; border-top: 1px solid #EDF2F7; }
  .cmpx-dl dt { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; font-weight: 700; font-size: 14px; color: var(--pt-soft); margin-bottom: 8px; }
  .cmpx-dl dd { padding: 0; border: 0; }
  .cmpx .cmpx-btn[data-open-lead-form] { margin: 8px 20px 22px; }
}

/* ---------- PREPAGA: según tu caso ----------
   Cuatro tarjetas en el azul de Mayorazgo, de a dos. La foto ocupa el lado izquierdo de punta
   a punta; a la derecha, la situación, la explicación y los logos en pastillas blancas.
   En celular la foto va arriba. */
.fit { padding-block: clamp(80px, 9vw, 128px) clamp(40px, 5vw, 72px); background: #fff; }
.fit .section-head { max-width: 780px; margin-bottom: clamp(28px, 3.4vw, 48px); }
.fit-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.fit-row { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1fr); min-height: 340px; overflow: hidden; border-radius: 28px; background: linear-gradient(135deg, #2F759C 0%, #3C96CD 100%); color: #fff; box-shadow: 0 30px 60px -40px rgba(16, 60, 100, .7); }
.fit-ph { position: relative; }
.fit-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.fit-body { display: flex; flex-direction: column; gap: 12px; padding: clamp(26px, 2.6vw, 36px); }
.fit-t { font-family: var(--font-display); font-weight: 600; font-size: clamp(24px, 2vw, 30px); line-height: 1.12; letter-spacing: -0.015em; color: #fff; text-wrap: balance; }
.fit-d { margin: 0; font-size: 17px; line-height: 1.5; color: rgba(255, 255, 255, .92); text-wrap: pretty; }
.fit-logos { list-style: none; margin: auto 0 0; padding-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
.fit-logos li { display: grid; place-items: center; height: 46px; padding: 0 12px; border-radius: 14px; background: #fff; }
.fit-logos img { display: block; height: 22px; width: 84px; object-fit: contain; }
@media (max-width: 1100px) { .fit-list { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
  .fit-row { grid-template-columns: minmax(0, 1fr); min-height: 0; border-radius: 24px; }
  .fit-ph { aspect-ratio: 16 / 10; }
  .fit-ph img { object-position: 50% 30%; }
  .fit-body { padding: 24px 20px 26px; }
  .fit-d { font-size: 16.5px; }
}
/* En compu (desde 1024 px) las cuatro van en fila como un acordeón de fotos: una abierta,
   con la foto a la izquierda y el texto a la derecha; las otras finitas, con la foto borrosa
   y el título de costado. Al pasar el mouse (o tocar, o llegar con Tab) se abre esa.
   js/patrimoniales.js mueve .is-on; sin JS queda abierta la primera. */
.fit-tab { display: none; }
@media (min-width: 1024px) {
  .fit-list { display: flex; gap: 12px; height: clamp(480px, 38vw, 540px); }
  .fit-row { --fb: clamp(340px, 29.5vw, 424px); position: relative; display: block; flex: 1 1 0; min-width: 0; min-height: 0; cursor: pointer; outline: none; transition: flex-grow .75s cubic-bezier(.65, 0, .25, 1); }
  .fit-row.is-on { flex-grow: 6; cursor: default; }
  .fit-row:focus-visible { box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--azul); }
  .fit-ph { position: absolute; inset: 0; overflow: hidden; transition: right .75s cubic-bezier(.65, 0, .25, 1); }
  .fit-row.is-on .fit-ph { right: var(--fb); }
  .fit-ph img { object-position: 50% 30%; filter: blur(12px) saturate(.85); transform: scale(1.15); transition: filter .6s ease, transform .75s cubic-bezier(.65, 0, .25, 1); }
  .fit-row.is-on .fit-ph img { filter: none; transform: none; }
  .fit-ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(47, 117, 156, .2) 0%, rgba(22, 72, 110, .7) 100%); transition: opacity .5s ease; }
  .fit-row.is-on .fit-ph::after { opacity: 0; }
  .fit-tab { display: block; position: absolute; z-index: 2; left: 50%; bottom: 28px; transform: translateX(-50%) rotate(180deg); writing-mode: vertical-rl; max-height: calc(100% - 56px); font-family: var(--font-display); font-weight: 600; font-size: 23px; line-height: 1.1; letter-spacing: -0.01em; color: #fff; white-space: nowrap; pointer-events: none; transition: opacity .35s ease; }
  .fit-row.is-on .fit-tab { opacity: 0; transition-delay: 0s; }
  .fit-row:not(.is-on) .fit-tab { transition-delay: .3s; }
  .fit-body { position: absolute; top: 0; right: 0; bottom: 0; width: var(--fb); gap: 14px; padding: 40px 28px 40px 36px; opacity: 0; transform: translateX(24px); pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
  .fit-row.is-on .fit-body { opacity: 1; transform: none; pointer-events: auto; transition: opacity .5s ease .3s, transform .6s cubic-bezier(.2, .7, .2, 1) .3s; }
  .fit-t { font-size: clamp(28px, 2.3vw, 34px); }
  .fit-d { font-size: 18px; }
}
@media (min-width: 1024px) and (prefers-reduced-motion: reduce) {
  .fit-row, .fit-ph, .fit-ph img, .fit-ph::after, .fit-tab, .fit-body, .fit-row.is-on .fit-body { transition: none; }
}
.fit-cta { margin-top: auto; padding-top: 12px; }

/* ---------- Según tu caso: carrusel con mini tarjetas (prepaga) ----------
   Arriba, cuatro mini tarjetas con foto para elegir el caso. Abajo, el caso elegido.
   La tarjeta activa va en azul lleno con una línea blanca que marca el tiempo. */
.cs { display: grid; gap: 14px; }
.cs-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.cs-tab { position: relative; display: flex; align-items: center; gap: 14px; min-height: 84px; padding: 12px 16px 12px 12px; border: 0; border-radius: 20px; background: #fff; box-shadow: 0 1px 2px rgba(16, 60, 100, .1), 0 14px 26px -16px rgba(16, 60, 100, .45); color: var(--tinta); font-family: var(--font-display); font-weight: 600; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.15; text-align: left; text-wrap: balance; cursor: pointer; transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s ease, background-color .25s ease, color .25s ease; }
.cs-tab:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(16, 60, 100, .12), 0 20px 32px -16px rgba(16, 60, 100, .55); }
.cs-tab.is-on { background: var(--azul-hover); color: #fff; box-shadow: 0 16px 28px -16px rgba(16, 60, 100, .8); }
.cs-tab:focus-visible { outline: 3px solid var(--azul); outline-offset: 3px; }
.cs-label { min-width: 0; overflow-wrap: anywhere; }
.cs-thumb { flex: none; display: block; width: 60px; height: 60px; border-radius: 14px; object-fit: cover; object-position: 50% 22%; }
.cs-bar { position: absolute; left: 86px; right: 18px; bottom: 11px; height: 3px; overflow: hidden; border-radius: 3px; background: rgba(255, 255, 255, .28); opacity: 0; transition: opacity .25s ease; }
.cs-tab.is-on .cs-bar { opacity: 1; }
.cs-fill { display: block; width: 100%; height: 100%; border-radius: 3px; background: #fff; transform: scaleX(0); transform-origin: left center; }
.cs-stage { display: grid; overflow: hidden; border-radius: 28px; background: linear-gradient(135deg, #2F759C 0%, #3C96CD 100%); color: #fff; box-shadow: 0 30px 60px -40px rgba(16, 60, 100, .7); }
.cs-slide { grid-area: 1 / 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); min-height: clamp(440px, 37vw, 520px); opacity: 0; visibility: hidden; transition: opacity .5s ease, visibility 0s linear .5s; }
.cs-slide.is-on { opacity: 1; visibility: visible; transition: opacity .5s ease; }
.cs-ph { position: relative; overflow: hidden; }
.cs-ph img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; transform: scale(1.07); transition: transform 1.6s cubic-bezier(.2, .7, .2, 1); }
.cs-slide.is-on .cs-ph img { transform: none; }
.cs-body { display: flex; flex-direction: column; justify-content: center; gap: 16px; padding: clamp(32px, 4vw, 56px); }
.cs-body > * { opacity: 0; transform: translateY(14px); transition: opacity .2s ease, transform .2s ease; }
.cs-slide.is-on .cs-body > * { opacity: 1; transform: none; transition: opacity .5s ease .1s, transform .6s cubic-bezier(.2, .7, .2, 1) .1s; }
.cs-slide.is-on .cs-body > :nth-child(2) { transition-delay: .18s; }
.cs-slide.is-on .cs-body > :nth-child(3) { transition-delay: .26s; }
.cs .fit-t { font-size: clamp(30px, 3vw, 42px); }
.cs .fit-d { font-size: clamp(18px, 1.4vw, 20px); }
.cs .fit-logos { margin-top: 6px; padding-top: 0; }
.cs .fit-logos li { padding: 0 10px; }
.cs .fit-logos img { width: 76px; }
.cs .fit-cta { margin-top: 6px; padding-top: 0; }
.cs:not(.cs-ready) .cs-slide { grid-area: auto; opacity: 1; visibility: visible; }
.cs:not(.cs-ready) .cs-body > * { opacity: 1; transform: none; }
.cs:not(.cs-ready) .cs-tabs { display: none; }
@media (max-width: 1100px) {
  .cs-tab { gap: 10px; padding-right: 12px; font-size: 16.5px; }
  .cs-thumb { width: 50px; height: 50px; }
  .cs-bar { left: 72px; right: 12px; bottom: 9px; }
}
@media (max-width: 860px) {
  .cs-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cs-tab { min-height: 68px; gap: 8px; padding: 9px 8px; border-radius: 18px; font-size: 15px; }
  .cs-thumb { width: 42px; height: 42px; border-radius: 12px; }
  .cs-bar { left: 58px; right: 10px; bottom: 7px; }
  .cs-stage { border-radius: 24px; }
  .cs-slide { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; min-height: 0; }
  .cs-ph { aspect-ratio: 16 / 10; }
  .cs-body { justify-content: flex-start; padding: 24px 20px 26px; gap: 12px; }
  .cs .fit-t { font-size: 27px; }
  .cs .fit-d { font-size: 17px; }
  .cs .fit-logos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cs .fit-logos img { width: 84px; }
}
@media (max-width: 380px) {
  .cs-thumb { width: 36px; height: 36px; border-radius: 10px; }
  .cs-bar { left: 52px; }
}
@media (max-width: 340px) {
  .cs-thumb { display: none; }
  .cs-tab { padding-inline: 12px; }
  .cs-bar { left: 12px; right: 12px; }
}
@media (hover: none) { .cs-tab:hover { transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .cs-tab, .cs-tab:hover, .cs-slide, .cs-slide.is-on, .cs-ph img, .cs-body > *, .cs-slide.is-on .cs-body > * { transition: none; }
  .cs-tab:hover { transform: none; }
}

/* ---------- Tarjetas: la misma letra en toda la web (medidas en sitio.css) ---------- */
.sc-more, .pg-prep .sc-more { font-size: var(--card-btn); }
.fit-t, .cs .fit-t { font-size: var(--card-t); }
.fit-d, .cs .fit-d, .cmpx-labels span, .cmpx-dl dd, .cmpx-app, .cmpx-app b { font-size: var(--card-p); }
.cmpx .cmpx-btn[data-open-lead-form] { font-size: var(--card-btn); }

/* ---------- Títulos que van en una sola línea ---------- */
@media (min-width: 701px) {
  .pg-pers .pt-hero-copy, .pg-fin .pt-hero-copy { display: grid; grid-template-columns: max-content; justify-content: center; }
  .pg-pers .pt-hero-sub, .pg-fin .pt-hero-sub { width: 0; min-width: 100%; max-width: none; margin-inline: 0; font-size: max(17px, calc(var(--pt-xl) * .172)); text-wrap: wrap; }
  .pg-pers .pt-hero-sub { font-size: max(17px, calc(var(--pt-xl) * .2)); }
  .pg-pers .sv-title { white-space: nowrap; }
}

/* ---------- Comparador: entra entero en una pantalla, junto con su título. El aire crece con la altura ---------- */
@media (min-width: 861px) {
  .cmpx { padding-block: clamp(18px, calc(11vh - 58px), 72px); }
  .cmpx .section-head { max-width: none; margin-bottom: clamp(14px, 3vh, 40px); }
  .cmpx .section-title { font-size: clamp(36px, min(4.6vw, 7.4vh), 76px); margin-bottom: 10px; }
  .cmpx .section-sub { max-width: 640px; font-size: 18px; text-wrap: balance; }
  .cmpx-logo { min-height: 0; padding: clamp(14px, 2.6vh, 28px) 16px; }
  .cmpx-logo img { max-height: 24px; padding: 11px 16px; border-radius: 14px; }
  .cmpx-labels span, .cmpx-dl dd { padding-block: clamp(10px, 2.1vh, 22px); }
  .cmpx-dl dd { padding-inline: 13px; }
  .cmpx-chips { gap: 5px; }
  .cmpx-chips li { min-height: 28px; padding: 3px 8px; }
  .cmpx .cmpx-btn[data-open-lead-form] { min-height: 44px; margin: 6px 16px 18px; }
}
@media (min-width: 861px) and (max-height: 680px) {
  .cmpx-logo { padding-block: 12px; }
  .cmpx-labels span, .cmpx-dl dd { padding-block: 11px; }
  .cmpx .cmpx-btn[data-open-lead-form] { margin-block: 4px 14px; }
}

/* ---------- Contenedor celeste de casos: texto y cápsulas grandes ---------- */
.cs .fit-t { font-size: clamp(34px, 3.3vw, 50px); line-height: 1.08; }
.cs .fit-d { font-size: clamp(20px, 1.6vw, 24px); line-height: 1.42; }
.cs .fit-logos { gap: 12px; margin-top: 10px; }
.cs .fit-logos li { height: 72px; padding: 0 20px; border-radius: 18px; }
.cs .fit-logos img { width: 124px; height: 38px; }
.cs-body { gap: 20px; }
@media (max-width: 700px) {
  .cs .fit-t { font-size: 31px; }
  .cs .fit-d { font-size: 19px; }
  .cs .fit-logos { gap: 10px; }
  .cs .fit-logos li { height: 64px; padding: 0 12px; }
  .cs .fit-logos img { width: 100%; max-width: 124px; height: 34px; }
  .cs-body { gap: 14px; }
}

/* 2026-11-06: textos de las tarjetas de casos un poco más chicos */
.cs .fit-t { font-size: clamp(30px, 2.9vw, 44px); }
.cs .fit-d { font-size: clamp(18px, 1.35vw, 20.5px); line-height: 1.45; }
.cs-body { gap: 16px; }
@media (max-width: 700px) {
  .cs .fit-t { font-size: 28px; }
  .cs .fit-d { font-size: 17px; }
  .cs-body { gap: 12px; }
}

/* 2026-11-06: subtítulos nuevos del héroe repartidos en líneas parejas (sin palabras sueltas) */
.pg-pers .pt-hero-sub, .pg-emp .pt-hero-sub, .pg-fin .pt-hero-sub { text-wrap: balance; }

/* 2026-11-06: subtítulo del héroe sobre la misma franja oscura que Inicio */
.pt-hero-sub, .pg-pers .pt-hero-sub, .pg-fin .pt-hero-sub {
  width: fit-content; min-width: 0; max-width: min(100%, 80ch); margin-inline: auto; justify-self: center;
  padding: .32em 1.05em; border-radius: 999px; background: rgba(13, 38, 58, .62); text-shadow: none;
}
@media (max-width: 860px) { .pt-hero-sub, .pg-pers .pt-hero-sub, .pg-fin .pt-hero-sub { padding: .4em 1em; border-radius: 22px; } }

/* 2026-11-06: bajada del héroe del mismo tamaño en todas las páginas (igual que Inicio y Auto) */
.pg-patri .pt-hero-copy .pt-hero-sub { font-size: clamp(16px, 1.45vw, 21px); line-height: 1.35; max-width: min(100%, var(--tit-w, 100%)); text-wrap: balance; }
.pg-patri .pt-hero-copy .pt-hero-sub.sub-2l { border-radius: 20px; }

/* 2026-11-07: tarjetas del héroe, como en Auto. Muestran lo que tiene la página y abren su tarjeta grande.
   La foto termina a la mitad de las tarjetas y las tarjetas entran enteras en la primera pantalla */
.pt-hero:has(+ .pt-qs-wrap) { height: calc(100svh - var(--header-h) - 104px); min-height: 540px; }
.pt-qs-wrap { position: relative; z-index: 3; margin-top: -80px; padding: 0 24px; }
.pt-qs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; width: min(1020px, 100%); margin: 0 auto; }
.pt-qs-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); width: min(960px, 100%); }
.pt-qs-6 .pick-t { font-size: 14.5px; }
.pt-qs-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(780px, 100%); }
.pt-qs .pick {
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 12px;
  min-height: 160px; padding: 22px 10px 18px; width: 100%;
  border-radius: 18px; background: #fff; border: 1.5px solid transparent;
  box-shadow: 0 18px 36px -20px rgba(10, 30, 50, .55);
  font: inherit; color: inherit; text-align: center; cursor: pointer;
  transition: background-color .2s, border-color .2s;
}
.pt-qs .pick .ico {
  display: grid; place-items: center; width: 68px; height: 68px; border-radius: 50%; flex: none;
  background: radial-gradient(circle at 50% 55%, #fff 0%, rgba(255, 255, 255, .7) 55%, rgba(255, 255, 255, 0) 72%);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1.2);
}
.pt-qs .pick .ico svg { width: 52px; height: 52px; filter: drop-shadow(0 6px 10px rgba(18, 50, 74, .14)); }
.pt-qs .pick .ico-logo { width: 100%; border-radius: 0; background: none; }
.pt-qs .pick .ico-logo img { width: auto; height: auto; max-width: min(160px, 86%); max-height: 36px; object-fit: contain; }
.pt-qs .pick-t { font-weight: 700; font-size: 15.5px; line-height: 1.25; color: #1A2F44; text-wrap: balance; }
.pt-qs .pick:hover, .pt-qs .pick:focus-visible { background: #CDE9FB; border-color: #5BB4F0; outline: none; }
.pt-qs .pick:hover .ico:not(.ico-logo), .pt-qs .pick:focus-visible .ico:not(.ico-logo) { transform: translateY(-3px) scale(1.06); }
@media (max-width: 860px) {
  .pt-qs, .pt-qs-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .pt-qs-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pt-qs-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  /* La primera fila de tarjetas queda arriba de la barra de abajo (Cotizá tu seguro y AURA) */
  .pt-hero:has(+ .pt-qs-wrap) { height: calc(100svh - var(--header-h) - 140px); min-height: 470px; }
  .pt-qs-wrap { margin-top: -56px; padding: 0 16px; }
  .pt-qs, .pt-qs-6 { gap: 8px; }
  .pt-qs .pick { min-height: 112px; padding: 14px 6px 12px; gap: 8px; border-radius: 16px; }
  .pt-qs .pick .ico { width: 52px; height: 52px; }
  .pt-qs .pick .ico svg { width: 42px; height: 42px; }
  .pt-qs .pick .ico-logo { width: 100%; }
  .pt-qs .pick .ico-logo img { max-height: 28px; }
  .pt-qs .pick-t, .pt-qs-6 .pick-t { font-size: 13.5px; }
}
@media (prefers-reduced-motion: no-preference) {
  html:not(.no-anim) .pt-qs { opacity: 0; transform: translateY(14px); animation: pt-qs-sube .7s cubic-bezier(.2, .7, .2, 1) .55s forwards; }
  @keyframes pt-qs-sube { to { opacity: 1; transform: none; } }
}
