/* Propuesta de portada: firma oficial completa y mensaje breve. */
.insurer-carousel{background:#fff;padding:25px 0 27px;border-bottom:1px solid #eaeaea}
.insurer-heading-row{position:relative;display:flex;align-items:center;justify-content:center;min-height:34px;margin-bottom:14px}
.insurer-heading-row h2{font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.02em;text-align:center;color:var(--black);padding:0 48px}
.insurer-pause{position:absolute;right:0;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;border:1px solid #dedede;border-radius:50%;background:#fff;color:#666;cursor:pointer}
.insurer-pause:hover{border-color:#171717;color:#171717}
.insurer-pause:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.insurer-pause svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.insurer-pause .play-symbol{display:none}
.insurer-carousel.is-paused .pause-symbol{display:none}
.insurer-carousel.is-paused .play-symbol{display:block}
.insurer-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.insurer-track{display:flex;width:max-content;animation:insurer-pasarela 90s linear infinite}
.insurer-group{display:flex;align-items:center;gap:40px;padding-right:40px}
.insurer-logo{display:flex;align-items:center;justify-content:center;flex:0 0 168px;width:168px;height:58px}
.insurer-logo img{width:auto;max-width:138px;height:auto;max-height:40px;object-fit:contain;filter:none;opacity:1}
@media(min-width:601px){.insurer-logo[data-insurer="avla"] img{max-height:36px}.insurer-logo[data-insurer="chubb"] img{max-width:min(100%,145px)}.insurer-logo[data-insurer="insur"] img{max-width:min(100%,152px);max-height:44px}}
.insurer-carousel.is-gray .insurer-logo img{filter:grayscale(1);opacity:.78}
.insurer-carousel.is-fast .insurer-track{animation-duration:36s}
.insurer-carousel:hover .insurer-track,.insurer-carousel:focus-within .insurer-track,.insurer-carousel.is-paused .insurer-track{animation-play-state:paused}
@keyframes insurer-pasarela{to{transform:translateX(-50%)}}
@media(max-width:600px){.insurer-carousel{padding:20px 0 22px}.insurer-heading-row{margin-bottom:10px}.insurer-heading-row h2{font-size:16px;padding:0 40px}.insurer-group{gap:28px;padding-right:28px}.insurer-logo{flex-basis:128px;width:128px;height:48px}.insurer-logo img{max-width:108px;max-height:34px}}
@media(prefers-reduced-motion:reduce){.insurer-track{animation:none;width:100%}.insurer-group{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;padding:0;gap:20px}.insurer-logo{width:auto;min-width:0}.insurer-logo img{max-width:100%}.insurer-group.is-duplicate,.insurer-pause{display:none}.insurer-window{mask-image:none}}
@media(prefers-reduced-motion:reduce) and (max-width:600px){.insurer-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.insurer-logo img{max-height:30px}}
.insurer-carousel.is-grid .insurer-track{width:100%;animation:none}
.insurer-carousel.is-grid .insurer-group{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;padding:0;gap:18px 30px}
.insurer-carousel.is-grid .insurer-logo{width:auto;min-width:0;height:52px}
.insurer-carousel.is-grid .insurer-logo img{max-width:100%;max-height:40px}
.insurer-carousel.is-grid .insurer-group.is-duplicate,.insurer-carousel.is-grid .insurer-pause{display:none}
.insurer-carousel.is-grid .insurer-window{mask-image:none}
.insurer-carousel.is-grid .insurer-heading-row h2{padding:0}
@media(max-width:850px){.insurer-carousel.is-grid .insurer-group{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 24px}}
@media(max-width:600px){.insurer-carousel.is-grid .insurer-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.insurer-carousel.is-grid .insurer-logo{height:42px}.insurer-carousel.is-grid .insurer-logo img{max-height:30px}}
.value p .registration-code{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:700;color:#fff;white-space:nowrap}
.audience-personas img{object-position:center 45%}
.audience-empresas img{object-position:center 30%}
@media(max-width:600px){.audience-personas img{object-position:68% center}.audience-empresas img{object-position:68% center}}
.solutions-entry{padding-top:48px}
@media(max-width:600px){.solutions-entry{padding-top:36px}}
.solutions-entry-intro{margin-bottom:34px}
.home-section-heading{font-size:40px;font-weight:650;line-height:1.18;letter-spacing:-.045em}
@media(max-width:600px){.home-section-heading{font-size:30px}}
.solutions-entry-intro p{font-size:17px;line-height:1.65;max-width:900px;margin-top:16px;color:#666}
.audience-clean{display:block;padding:0}
.audience-clean:after{background:none}
.audience-personas.is-vinculo img{object-position:65% center}
.audience-entry{position:absolute;left:28px;bottom:28px;display:flex;align-items:center;justify-content:center;min-width:220px;min-height:62px;padding:16px 24px;color:#fff;background:rgba(23,23,23,.92);border:1px solid rgba(255,255,255,.25);border-radius:3px;font:600 20px/1.2 Montserrat,sans-serif;transition:background .25s,border-color .25s}
.audience-clean:hover .audience-entry,.audience-clean:focus-visible .audience-entry{background:var(--red);border-color:var(--red)}
.audience-clean:hover img{transform:scale(1.025)}
.audience-clean:focus-visible{outline:3px solid var(--red);outline-offset:4px}
@media(max-width:600px){.solutions-entry-intro{margin-bottom:26px}.solutions-entry-intro p{font-size:15px;margin-top:14px}.audience-personas.is-vinculo img{object-position:85% center}.audience-entry{left:22px;bottom:22px;min-width:196px;min-height:56px;padding:14px 20px;font-size:18px}}
@media(prefers-reduced-motion:reduce){.audience-clean img,.audience-entry{transition:none}.audience-clean:hover img{transform:none}}
.home-trajectory{background:#f4f4f2;border-bottom:1px solid #e2e2de}
.trajectory-summary{display:grid;grid-template-columns:.9fr 1.4fr;gap:90px;align-items:center;margin:25px 0 58px}
.trajectory-stat{display:flex;flex-direction:column;align-items:flex-start;font-family:Montserrat,Arial,sans-serif;color:var(--black)}
.trajectory-number,.claims-availability{--stat-font-size:132px}
.trajectory-number{display:block;width:1.8em;max-width:100%;font-size:var(--stat-font-size);line-height:1;color:var(--red)}
.trajectory-number img{display:block;width:100%;height:auto}
.trajectory-caption{font-size:26px;line-height:1.3;font-weight:500;letter-spacing:-.025em;margin-top:17px}
.trajectory-copy p{max-width:650px;margin-top:20px;font-size:17px;line-height:1.7}
.trajectory-copy .actions{margin-top:25px}
.trajectory-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;list-style:none;margin:0;padding:0}
.trajectory-timeline li{display:flex;flex-direction:column;position:relative;padding:27px 36px 0 0;border-top:1px solid #bfbfba}
.trajectory-timeline li:before{content:"";position:absolute;top:-5px;left:0;width:9px;height:9px;background:var(--red);border-radius:50%}
.trajectory-year{display:block;font:600 34px/1.1 Montserrat,sans-serif;font-variant-numeric:lining-nums tabular-nums;color:var(--red);letter-spacing:-.035em;margin-bottom:18px}
.trajectory-timeline h3{min-height:2.8em;font-size:17px;line-height:1.4;font-weight:600;letter-spacing:-.025em}
.trajectory-timeline p{font-size:14px;line-height:1.65;margin-top:12px;max-width:330px}
.trajectory-timeline p:not(.trajectory-registration){flex:1}
.trajectory-timeline .trajectory-registration{margin-top:8px}
.trajectory-registration strong{font-size:inherit;font-family:inherit;line-height:inherit;font-weight:700;color:var(--black);white-space:nowrap}
@media(max-width:1100px){.trajectory-summary{gap:45px}.trajectory-number,.claims-availability{--stat-font-size:114px}.trajectory-caption{font-size:23px}.trajectory-timeline li{padding-right:25px}.trajectory-timeline h3{font-size:15px}}
@media(max-width:600px){.trajectory-summary{grid-template-columns:1fr;gap:32px;margin:25px 0 38px}.trajectory-number,.claims-availability{--stat-font-size:110px}.trajectory-caption{font-size:24px;margin-top:15px}.trajectory-copy p{font-size:15px;margin-top:16px}.trajectory-copy .actions{margin-top:20px}.trajectory-timeline{grid-template-columns:1fr}.trajectory-timeline li{border-top:none;border-left:1px solid #bfbfba;padding:0 0 30px 24px}.trajectory-timeline li:last-child{padding-bottom:0}.trajectory-timeline li:before{top:10px;left:-5px}.trajectory-year{font-size:30px;margin-bottom:12px}.trajectory-timeline h3{min-height:0;font-size:16px}.trajectory-timeline p{font-size:14px;max-width:none;margin-top:9px}}
.process-section .step-list{align-items:stretch}
.process-section .step h3{line-height:1.4}
@media(min-width:601px) and (max-width:1100px){.process-section .step h3{min-height:2.8em}}
@media(max-width:600px){.process-section .step-list{grid-template-columns:1fr;gap:0}.process-section .step{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:16px;padding:24px 0}.process-section .step .num{grid-column:1;grid-row:1 / span 2;font-size:13px;line-height:1.4;margin:0;padding-top:2px}.process-section .step h3{grid-column:2;grid-row:1;font-size:17px;min-height:0}.process-section .step p{grid-column:2;grid-row:2;font-size:14px;line-height:1.65;margin-top:10px}}
.claims-support{background:var(--black);color:#fff;padding:44px 0}
.claims-support-inner,.home-document-strip .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;column-gap:48px}
.claims-support-inner{grid-template-areas:"heading availability" "actions availability";align-items:start}
.claims-support-heading{grid-area:heading}
.claims-support-heading h2{max-width:none}
.claims-availability{grid-area:availability;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;max-width:100%;text-align:center}
/* Slightly smaller than +25 to balance the wider white artwork on black. */
.claims-availability img{width:auto;max-width:100%;height:calc(var(--stat-font-size) * .673426)}
.claims-availability span{font:500 20px/1.3 Montserrat,Arial,sans-serif;letter-spacing:-.02em;color:#fff;margin-top:16px}
.claims-actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:16px;margin-top:24px}
.claims-support .claims-action{min-width:180px;min-height:54px;font-size:14px;gap:12px;padding:14px 22px}
.claims-support .claims-action svg{width:22px;height:22px;flex-shrink:0}
.claims-support .claims-whatsapp{background:#127c3b;border-color:#127c3b;color:#fff}
.claims-support .claims-call{background:transparent;border-color:#ffffff90;color:#fff}
.claims-support .claims-action:disabled{opacity:1;cursor:default}
.home-document-strip .btn{justify-self:center}
/* Optional refinement preview; the approved base retains its section styling. */
body[data-home-review="refinamiento"] .process-section{background:#fff}
body[data-home-review="refinamiento"] .home-document-strip h2{font-size:32px;line-height:1.25;font-weight:600;letter-spacing:-.025em}
@media(max-width:600px){body[data-home-review="refinamiento"] .home-document-strip h2{font-size:26px}}
@media(max-width:1100px){.claims-support-inner,.home-document-strip .wrap{grid-template-columns:minmax(0,1fr) 260px;column-gap:32px}}
@media(max-width:600px){.claims-support{padding:40px 0}.claims-support-inner{grid-template-columns:1fr;grid-template-areas:"heading" "availability" "actions"}.claims-availability{justify-self:center;margin-top:26px}.claims-availability span{font-size:18px;margin-top:12px}.claims-actions{gap:12px;margin-top:26px}.claims-support .claims-action{flex:1;min-width:150px;font-size:13px;padding:14px 20px;gap:10px}.home-document-strip .wrap{grid-template-columns:1fr;text-align:center}.home-document-strip .btn{margin-top:24px}}
.header-inner{height:164px;gap:20px}
.brand{width:418px}
.brand img{width:100%;height:auto}
.nav{gap:17px;font-size:11px}
.nav a{padding:20px 0 16px}
.header .btn{font-size:11px;padding:13px 17px}
.header .nav .mobile-advice{display:none}
.hero.home{min-height:600px}
.hero.home .eyebrow{display:none}
.hero.home .hero-content{padding:72px 0;max-width:840px}
.hero.home h1{font-size:54px;font-weight:600;line-height:1.08;letter-spacing:-.045em}
.hero.home p{font-size:19px;max-width:580px;line-height:1.6;margin-top:26px}
.hero.home .actions{margin-top:34px}
@media(max-width:1250px) and (min-width:1101px){.header-inner{gap:16px}.nav{gap:12px;font-size:10px}.header .btn{font-size:10px;padding:12px}.brand{width:418px}}
@media(max-width:1100px){
 .header-inner{height:130px;gap:20px}
 .brand{width:340px}
 .header .btn{display:none}
 .menu-toggle{display:inline-flex;margin-left:auto}
 .nav{position:absolute;top:130px;left:0;right:0;display:none;background:var(--black);padding:20px 30px;flex-direction:column;align-items:stretch;border-top:1px solid #444;font-size:13px}
 .nav{max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain}
 .nav.is-open{display:flex}
 .nav a{padding:12px 0}
 .header .nav .mobile-advice{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:8px;padding:14px 18px;font-size:14px;font-weight:600;line-height:1.4;color:#fff;border-bottom:1px solid var(--red);text-decoration:none}
 .hero.home h1{font-size:52px}
 .hero.home p{font-size:18px;max-width:520px}
}
@media(max-width:600px){
 .header-inner{height:104px;gap:8px}
 .brand{width:252px;max-width:calc(100% - 76px)}
 .menu-toggle{font-size:10px;padding:9px 10px;gap:6px}
 .menu-toggle svg{width:14px;height:14px}
 .nav{top:104px;padding:16px 20px}
 .nav{max-height:calc(100dvh - 104px)}
 .hero.home{min-height:640px;align-items:flex-end}
 .hero.home .hero-content{padding:46px 0}
 .hero.home h1{font-size:40px;line-height:1.12}
 .hero.home p{font-size:16px;max-width:340px;line-height:1.6;margin-top:20px}
 .hero.home .hero-photo{object-position:77% center}
 .hero.home:after{background:linear-gradient(0deg,rgba(12,12,12,.98) 0%,rgba(12,12,12,.88) 36%,rgba(12,12,12,.35) 68%,rgba(12,12,12,.1) 100%)}
 .hero.home .actions{gap:12px;margin-top:26px}
 .hero.home .btn{font-size:11px;padding:13px 17px;gap:14px;min-height:48px}
}
@media(max-width:360px){.hero.home h1{font-size:36px}.brand{max-width:calc(100% - 72px)}.hero.home .actions{flex-direction:column;align-items:flex-start}}

/* Dos propuestas de color para el mismo pie de página. */
.footer-redesign{--footer-copy-size:14px;--footer-heading-size:14px;--footer-bg:#171717;--footer-text:#f4f4f4;--footer-secondary:#b6b6b6;--footer-rule:#ffffff24;background:var(--footer-bg);color:var(--footer-text);padding:52px 0 24px;border-top:1px solid var(--footer-rule)}
.footer-redesign.footer-light{--footer-bg:#fff;--footer-text:#171717;--footer-secondary:#626262;--footer-rule:#dcdcdc}
.footer-redesign .footer-main{font-size:var(--footer-copy-size);font-weight:400;grid-template-columns:260px max-content 240px 280px;justify-content:space-between;gap:48px;align-items:start}
.footer-redesign .footer-main>div:last-child{grid-column:auto}
.footer-redesign .footer-intro{grid-column:auto;min-width:0}
.footer-redesign .footer-brochure{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;max-width:100%;margin-top:20px;padding:9px 14px;border:1px solid var(--footer-rule);border-radius:3px;background:transparent;color:var(--footer-secondary);font:400 14px/1.6 Montserrat,Arial,sans-serif;text-decoration:none}
.footer-redesign .footer-brochure svg{width:18px;height:18px;flex-shrink:0}
.footer-redesign .footer-brochure:hover,.footer-redesign .footer-brochure:focus-visible{color:var(--footer-text);border-color:var(--footer-secondary)}
.footer-redesign .footer-brochure:focus-visible{outline:2px solid var(--footer-text);outline-offset:4px}
.footer-redesign .footer-logo{display:block;width:300px;max-width:calc(100% + 40px);height:auto;margin:-20px 0 0 -20px}
.footer-redesign .footer-intro p{color:var(--footer-secondary);font-size:var(--footer-copy-size);font-weight:400;line-height:1.7;margin-top:14px;max-width:260px}
.footer-redesign .footer-intro .footer-company{font-size:var(--footer-copy-size);font-weight:400;margin-top:22px;color:var(--footer-secondary)}
.footer-redesign h3{font-size:var(--footer-heading-size);line-height:1.5;font-weight:400;letter-spacing:.08em;text-transform:uppercase;margin:0 0 18px;color:var(--footer-text)}
.footer-redesign li{font-size:var(--footer-copy-size);font-weight:400;line-height:1.6;color:var(--footer-secondary);margin:0 0 10px}
.footer-redesign a:hover,.footer-redesign a:focus-visible{color:var(--red)}
.footer-redesign a:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.footer-redesign .footer-solutions{margin-top:28px}
.footer-redesign .footer-solutions h3{margin-bottom:14px}
.footer-redesign button{font-family:inherit}
.footer-redesign button:disabled{opacity:1;cursor:default}
.footer-legal-link{border:0;background:none;color:var(--footer-secondary);font-size:var(--footer-copy-size);font-weight:400;line-height:1.6;text-align:left;padding:0}
.footer-complaints{display:flex;align-items:center;gap:14px;width:100%;max-width:240px;margin-top:24px;padding:16px;border:1px solid var(--footer-rule);border-radius:3px;background:transparent;color:var(--footer-secondary);text-align:left;font-size:var(--footer-copy-size);font-weight:400;line-height:1.6;min-height:78px}
.footer-complaints svg{width:26px;height:26px;flex-shrink:0;color:var(--footer-secondary)}
.footer-redesign dl{margin:0}
.footer-redesign dl>div{margin-bottom:18px}
.footer-redesign dl>div:last-child{margin-bottom:0}
.footer-redesign dt{font-size:var(--footer-copy-size);font-weight:400;line-height:1.5;color:var(--footer-secondary);margin-bottom:5px}
.footer-redesign dd{margin:0;font-size:var(--footer-copy-size);font-weight:400;line-height:1.6;color:var(--footer-secondary)}
.footer-redesign .footer-phone{font-size:var(--footer-copy-size);font-weight:400;letter-spacing:0;line-height:1.6;font-variant-numeric:lining-nums tabular-nums}
.footer-availability{color:inherit;font-weight:400;margin-left:5px}
.footer-redesign .institutional{font-family:inherit;font-size:var(--footer-copy-size);font-weight:400;border-top:1px solid var(--footer-rule);margin-top:34px;padding-top:22px;color:var(--footer-secondary);display:flex;flex-wrap:wrap;justify-content:center;text-align:center;gap:18px 32px}
.footer-redesign .institutional span{font-size:var(--footer-copy-size);font-weight:400;line-height:1.5;display:inline-flex;align-items:center;gap:8px}
.footer-redesign .institutional strong{font-size:inherit;font-weight:400;color:inherit}
.footer-redesign .institutional svg{width:18px;height:18px;flex-shrink:0}
.footer-redesign .footer-bottom{border-top:1px solid var(--footer-rule);color:var(--footer-secondary);margin-top:22px;padding-top:18px;gap:20px;font-size:12px}
.comparison-intro{padding:40px 0 28px}
.comparison-intro h1{font-size:28px;font-weight:650;letter-spacing:-.035em}
.comparison-intro p{font-size:14px;color:#666;margin-top:10px}
.comparison-label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}
.comparison-label h2{font-size:18px;font-weight:600;letter-spacing:-.02em}
.comparison-label a{font-size:12px;display:flex;align-items:center;gap:12px}
.comparison-label svg{width:18px;height:18px}
@media(max-width:1200px){.footer-redesign .footer-main{font-size:var(--footer-copy-size);font-weight:400;grid-template-columns:1fr 1fr;gap:40px 56px}.footer-redesign .footer-main>div:last-child{grid-column:auto}.footer-redesign .footer-logo{width:300px}.footer-redesign .footer-intro p{max-width:320px}}
@media(max-width:600px){.footer-redesign{padding:40px 0 24px}.footer-redesign .footer-main{font-size:var(--footer-copy-size);font-weight:400;grid-template-columns:1fr 1fr;gap:34px 20px}.footer-redesign .footer-intro{grid-column:1/-1}.footer-redesign .footer-logo{width:300px;max-width:calc(100% + 40px)}.footer-redesign .footer-intro p{max-width:310px;margin-top:6px}.footer-redesign .footer-intro .footer-company{margin-top:14px}.footer-redesign .footer-contact{grid-column:1/-1!important}.footer-redesign h3{font-size:var(--footer-heading-size);letter-spacing:.04em;margin-bottom:16px}.footer-redesign li,.footer-legal-link{font-size:var(--footer-copy-size)}.footer-redesign .footer-solutions{margin-top:24px}.footer-complaints{flex-direction:column;align-items:flex-start;gap:8px;padding:13px 10px;font-size:var(--footer-copy-size);min-height:76px}.footer-complaints svg{width:22px;height:22px}.footer-redesign .footer-contact dl{display:grid;grid-template-columns:1fr 1fr;gap:20px 16px}.footer-redesign .footer-contact dl>div{margin:0}.footer-redesign .footer-contact dl>div:nth-child(n+3){grid-column:1/-1}.footer-redesign dd{font-size:var(--footer-copy-size)}.footer-redesign .institutional{flex-direction:column;align-items:center;gap:14px;margin-top:30px;padding-top:20px}.footer-redesign .institutional span{font-size:var(--footer-copy-size)}.footer-redesign .footer-bottom{flex-direction:column;font-size:12px;gap:10px}.comparison-intro{padding:28px 0 18px}.comparison-intro h1{font-size:24px}.comparison-intro p{font-size:13px}.comparison-label h2{font-size:16px}.comparison-label a{font-size:11px}}

/* Fichas de Personas: recuadro compacto, centrado entre el título de evaluación y el final de sus temas. */
body[data-service="salud"] .detail-grid > .aside,
body[data-service="vida"] .detail-grid > .aside,
body[data-service="inversion"] .detail-grid > .aside,
body[data-service="vehiculos"] .detail-grid > .aside,
body[data-service="hogar"] .detail-grid > .aside,
body[data-service="viajes"] .detail-grid > .aside { align-self: center; }

/* Fichas de Personas: título final con el ancho disponible, conservando su tamaño. */
body:is([data-service="salud"], [data-service="vida"], [data-service="inversion"], [data-service="vehiculos"], [data-service="hogar"], [data-service="viajes"]) .callout h2 { max-width: none; }

/* Cierre de las seis fichas de Personas: mensaje centrado, sin botón repetido. */
.people-detail-closing { text-align: center; }
.people-detail-closing p { max-width: 800px; margin: 12px auto 0; }

/* Personas: títulos sin cortes forzados y bloques de evaluación centrados entre sí. */
.people-detail-evaluation .detail-grid { align-items: center; }
.people-detail-comparison .section-head > div { max-width: none; }

/* Personas: párrafos equilibrados y espacio suficiente para la introducción de Conversemos. */
main p { text-wrap: pretty; }
.hero p,
.people-hero-copy p,
.business-hero-copy p,
.solutions-entry-intro p,
.detail-grid > div > p,
.people-detail-evaluation .coverage p,
.people-detail-evaluation .aside p,
.people-detail-comparison .step p { text-wrap: balance; }
.faq p { text-wrap: balance; }
.value p,
.trajectory-timeline p,
.process-section .step p,
.about-history-copy p,
.about-principle p,
.document-strip p,
.about-document-strip p,
.people-card-copy p,
.people-criterion p,
.complaints-context p,
.complaints-next p { text-wrap: balance; }
@media (min-width: 851px) {
 .people-detail-evaluation .detail-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
 }
}

/* Títulos de las fichas: misma escala que Empresas y ancho según la fotografía. */
@media (min-width: 601px) {
 .people-detail-hero h1 { font-size: clamp(40px, 3.2vw, 48px); line-height: 1.12; text-wrap: balance; }
}
@media (min-width: 851px) {
 .people-detail-hero .hero-content { width: 100%; max-width: none; }
 .people-detail-hero h1 { max-width: 620px; }
 body:is([data-service="inversion"], [data-service="hogar"], [data-service="viajes"]) .people-detail-hero h1 { max-width: 1040px; }
 body:is([data-service="inversion"], [data-service="hogar"], [data-service="viajes"]) .people-detail-hero:after {
  background: linear-gradient(90deg, rgba(12,12,12,.94) 0%, rgba(12,12,12,.70) 48%, rgba(12,12,12,.48) 100%);
 }
 body[data-service="viajes"] .people-detail-hero .hero-photo {
  left: 28%; width: 72%; object-position: center;
  mask-image: linear-gradient(90deg, transparent, #000 18%);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%);
 }
}
body[data-service="vida"] .people-detail-hero .hero-photo { object-position: 70% top; }
body[data-page="personas"] .people-card[data-solution="inversion"] .people-card-photo { object-position: 95% center; }

/* Las catorce fichas: texto sobre negro a la izquierda y fotografía a la derecha. */
body[data-page="detalle"] .hero.product-detail-hero {
 display: grid;
 grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
 align-items: stretch;
 min-height: 480px;
 background: var(--black);
}
body[data-page="detalle"] .hero.product-detail-hero:after { display: none; }
body[data-page="detalle"] .hero.product-detail-hero > .hero-photo {
 position: absolute;
 inset: 0 0 0 50%;
 width: 50%;
 height: 100%;
 object-fit: cover;
 object-position: var(--product-photo-position, 50% 50%);
 z-index: 0;
 mask-image: none;
 -webkit-mask-image: none;
}
body[data-page="detalle"] .hero.product-detail-hero > .wrap {
 grid-column: 1;
 display: flex;
 align-items: center;
 justify-content: center;
 width: 100%;
 min-width: 0;
 max-width: none;
 margin: 0;
 padding: 48px clamp(28px, 5.28vw, 76px);
 position: relative;
 z-index: 1;
}
body[data-page="detalle"] .hero.product-detail-hero .hero-content {
 width: 100%;
 max-width: 568px;
 margin: 0;
 padding: 0;
 text-align: center;
}
body[data-page="detalle"] .hero.product-detail-hero .eyebrow {
 justify-content: center;
 margin-bottom: 24px;
}
body[data-page="detalle"] .hero.product-detail-hero h1 {
 width: 100%;
 max-width: none;
 font-size: clamp(40px, 3.2vw, 48px);
 line-height: 1.12;
 color: #fff;
 text-wrap: balance;
}
body[data-page="detalle"] .hero.product-detail-hero .hero-content > p {
 max-width: none;
 margin-top: 22px;
 color: #d0d0d0;
 text-align: center;
 text-wrap: balance;
}
body[data-page="detalle"] .hero.product-detail-hero .actions {
 justify-content: center;
 margin-top: 28px;
}
body[data-page="detalle"] .hero.product-detail-hero > .hero-note {
 z-index: 2;
 background: #171717a6;
 color: #fff;
 padding: 4px 7px;
}

/* Encuadres individuales que conservan los protagonistas de cada fotografía. */
body[data-service="vida"] { --product-photo-position: 70% 50%; }
body[data-service="inversion"],
body[data-service="vehiculos"],
body[data-service="responsabilidad-civil"],
body[data-service="transporte"] { --product-photo-position: 100% 50%; }
body[data-service="viajes"] { --product-photo-position: 85% 50%; }
body[data-service="laborales"] { --product-photo-position: 40% 50%; }
body[data-service="ramos-tecnicos"] { --product-photo-position: 0% 50%; }

@media (min-width: 1101px) and (max-width: 1350px) {
 body[data-service="inversion"] { --product-photo-position: 90% 50%; }
 body[data-service="flotas"] { --product-photo-position: 75% 50%; }
}
@media (min-width: 1101px) and (max-width: 1199px) {
 body[data-service="inversion"] { --product-photo-position: 80% 50%; }
}
@media (max-width: 1100px) {
 body[data-service="flotas"] { --product-photo-position: 65% 50%; }
}

/* En pantallas estrechas, separar texto y foto conserva espacio para ambos. */
@media (max-width: 1100px) {
 body[data-page="detalle"] .hero.product-detail-hero {
  display: flex;
  flex-direction: column;
  min-height: 0;
 }
 body[data-page="detalle"] .hero.product-detail-hero > .wrap {
  padding: 42px 30px;
 }
 body[data-page="detalle"] .hero.product-detail-hero > .hero-photo {
  position: relative;
  inset: auto;
  order: 2;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
 }
 body[data-page="detalle"] .hero.product-detail-hero > .hero-note { display: none; }
}
@media (max-width: 600px) {
 body[data-page="detalle"] .hero.product-detail-hero > .wrap { padding: 38px 24px; }
 body[data-page="detalle"] .hero.product-detail-hero h1 { font-size: 39px; }
 body[data-page="detalle"] .hero.product-detail-hero .eyebrow { margin-bottom: 20px; }
}


/* Los tres pasos de las 14 fichas comparten ancho y orden vertical en pantallas pequeñas. */
@media (max-width: 850px) {
 body[data-page="detalle"] :is(.people-detail-comparison, .business-detail-comparison) .step-list {
  grid-template-columns: minmax(0, 1fr);
 }
}

/* Inversión: encuadre de la nueva fotografía original. */
body[data-service="inversion"] { --product-photo-position: 50% 50%; }
body[data-page="personas"] .people-card[data-solution="inversion"] .people-card-photo { object-position: 50% 50%; }
@media (min-width: 2200px) { body[data-service="inversion"] { --product-photo-position: 50% 15%; } }

/* Personas: ancho legible de los apartados, sin reducir Montserrat ni ocultar texto. */
.people-detail-evaluation .coverage-grid {
 grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
 grid-auto-rows: 1fr;
}

/* Celulares pequeños: espacio legible para las frases completas de Personas. */
@media (max-width: 360px) {
 .people-detail-evaluation .coverage { gap: 12px; }
 .people-detail-evaluation .coverage > svg { width: 24px; height: 24px; }
}

/* Empresas: cuatro bloques de evaluación de igual altura en cada ficha. */
.business-detail-evaluation .coverage-grid { grid-auto-rows: 1fr; }

/* Fichas Personas y Empresas: columnas legibles y espacio para los textos completos. */
.business-detail-evaluation .coverage-grid {
 grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}
:is(.people-detail-evaluation, .business-detail-evaluation) .coverage > div { min-width: 0; width: 100%; }
@media (max-width: 360px) {
 .business-detail-evaluation .coverage { gap: 12px; }
 .business-detail-evaluation .coverage > svg { width: 24px; height: 24px; }
}

/* Saltos equilibrados; no se reduce la fuente ni se oculta contenido. */
:is(.people-detail-evaluation, .business-detail-evaluation) .coverage .coverage-line {
 display: block;
 white-space: nowrap;
}

/* Las 14 fichas comparten márgenes interiores y separación entre apartados. */
:is(.people-detail-evaluation, .business-detail-evaluation) .aside { padding: 30px; }
:is(.people-detail-evaluation, .business-detail-evaluation) .coverage-grid { gap: 25px; }

/* Computadora: Conversemos abarca del título al final del contenido izquierdo. */
@media (min-width: 851px) {
 body[data-service] :is(.people-detail-evaluation, .business-detail-evaluation) .detail-grid { align-items: stretch; }
 body[data-service] :is(.people-detail-evaluation, .business-detail-evaluation) .detail-grid > .aside {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
 }
}

/* Encabezado independiente: el recuadro acompaña sólo los cuatro apartados. */
body[data-service] :is(.people-detail-evaluation, .business-detail-evaluation) .detail-grid {
 grid-template-areas: "heading ." "coverage conversation";
 row-gap: 32px;
 align-items: stretch;
}
:is(.people-detail-evaluation, .business-detail-evaluation) .detail-evaluation-heading { grid-area: heading; }
:is(.people-detail-evaluation, .business-detail-evaluation) .coverage-grid {
 grid-area: coverage;
 margin-top: 0;
 grid-auto-rows: min-content;
 align-content: space-between;
}
body[data-service] :is(.people-detail-evaluation, .business-detail-evaluation) .detail-grid > .aside {
 grid-area: conversation;
 align-self: stretch;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
 padding: 30px;
}
@media (max-width: 850px) {
 body[data-service] :is(.people-detail-evaluation, .business-detail-evaluation) .detail-grid {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "heading" "coverage" "conversation";
 }
 :is(.people-detail-evaluation, .business-detail-evaluation) .coverage-grid {
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: min-content;
  align-content: start;
  gap: 25px;
 }
 body[data-service] :is(.people-detail-evaluation, .business-detail-evaluation) .detail-grid > .aside { justify-content: flex-start; }
}

/* Menos espacio sobrante, manteniendo el botón, la letra y los extremos alineados. */
body[data-service] :is(.people-detail-evaluation, .business-detail-evaluation) .detail-grid > .aside {
 padding-block: 16px;
}
:is(.people-detail-evaluation, .business-detail-evaluation) .aside .detail-conversation-intro { margin-top: 8px; }
:is(.people-detail-evaluation, .business-detail-evaluation) .aside ul { margin-block: 10px; }

/* Una columna cuando el ancho intermedio obligaría al recuadro a crecer. */
@media (min-width: 851px) and (max-width: 1335px) {
 :is(.people-detail-evaluation, .business-detail-evaluation) .coverage-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Teléfonos pequeños: el párrafo aprovecha el ancho completo sin reducir la letra. */
@media (max-width: 374px) {
 :is(.people-detail-evaluation, .business-detail-evaluation) .coverage { display: block; position: relative; }
 :is(.people-detail-evaluation, .business-detail-evaluation) .coverage > svg { position: absolute; top: 0; left: 0; width: 24px; height: 24px; }
 :is(.people-detail-evaluation, .business-detail-evaluation) .coverage h3 { padding-left: 36px; }
}

/* Asesoría y brochure comparten tamaño; los otros controles conservan su estilo. */
body .btn.action-cta,
body .hero .btn.action-cta,
body .header .btn.action-cta,
body .header .nav .btn.action-cta,
body .footer-redesign .footer-brochure.action-cta {
 inline-size: 200px;
 max-inline-size: 100%;
 block-size: 52px;
 min-block-size: 52px;
 box-sizing: border-box;
 padding: 0 16px;
 flex: 0 0 auto;
 align-items: center;
 justify-content: center;
 gap: 0;
 font: 650 12px/1.4 Montserrat, Arial, sans-serif;
 letter-spacing: 0;
 text-align: center;
 white-space: nowrap;
}
/* En un recuadro, el botón respeta las dos luces laterales ya aprobadas. */
body .detail-grid > .aside .btn.action-cta { inline-size: 100%; }
@media (max-width: 600px) {
 body .btn.action-cta,
 body .hero .btn.action-cta,
 body .header .btn.action-cta,
 body .header .nav .btn.action-cta,
 body .footer-redesign .footer-brochure.action-cta { inline-size: min(270px, 100%); }
 body .detail-grid > .aside .btn.action-cta { inline-size: 100%; }
 body .header .nav .btn.action-cta { align-self: center; }
 .actions:has(> .advice-cta):has(> .brochure-cta) { flex-direction: column; align-items: center; }
}

/* Textos secundarios legibles sin alterar las dimensiones de las portadas. */
.hero-note { font-size: 10px; }
@media (max-width: 600px) {
 .eyebrow { font-size: 10px; }
}

/* Cabecera: una asesoría alineada con los enlaces; en Inicio móvil se usa la de portada. */
.header .header-actions {
 display: flex;
 align-items: center;
 inline-size: 200px;
 flex: 0 0 auto;
 margin-inline-start: 8px;
}
.header .nav .header-actions > .btn {
 display: inline-flex;
 inline-size: 100%;
 margin: 0;
 padding: 0 16px;
 border-width: 1px;
}
/* Tres bloques con luces iguales; su eje se alinea con los centros del cierre inferior. */
.footer-redesign .footer-layout {
 display: grid;
 grid-template-columns: max-content max-content max-content;
 margin-inline-start: 0;
 margin-inline-end: 0;
 justify-content: space-between;
 column-gap: 32px;
 row-gap: 28px;
 align-items: start;
}
.footer-redesign .footer-main { display: contents; }
.footer-redesign .footer-main > div { min-width: 0; }
.footer-redesign .footer-brand-actions {
 display: none;
 grid-column: 4;
 grid-row: 1;
 justify-self: end;
 inline-size: 200px;
}
.footer-redesign .footer-brand-actions .footer-brochure {
 display: inline-flex;
 inline-size: 100%;
 margin: 0;
 color: var(--footer-secondary);
 border-color: var(--footer-secondary);
 font-weight: 650;
}
.footer-redesign .footer-layout > .institutional {
 grid-column: 1 / 4;
 grid-row: 2;
 justify-content: center;
 margin: 0;
 padding-top: 22px;
}
.footer-redesign .footer-bottom {
 display: flex;
 flex-direction: row;
 align-items: center;
 justify-content: space-between;
 gap: 24px;
}
.footer-redesign .footer-bottom > span { min-width: 0; }
.footer-redesign .footer-signature {
 display: inline-flex;
 flex: 0 0 auto;
 align-items: center;
 justify-content: center;
 inline-size: 66px;
 block-size: 44px;
}
.footer-redesign .footer-signature img {
 display: block;
 inline-size: 66px;
 block-size: 44px;
 max-inline-size: none;
 object-fit: contain;
}
@media (max-width: 1100px) {
 .header .header-actions { margin: 8px auto 0; }
 body[data-page="inicio"] .header .header-actions { display: none; }
 .footer-redesign .footer-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 32px; margin-inline: 0; }
 .footer-redesign .footer-contact { grid-column: 1 / -1 !important; grid-row: 2; text-align: center; }
 .footer-redesign .footer-contact dl { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
 .footer-redesign .footer-contact dl > div { margin: 0; }
 .footer-redesign .footer-contact dl > div:nth-child(n+3) { grid-column: 1 / -1; }
 .footer-redesign .footer-layout > .institutional { grid-column: 1 / -1; grid-row: 3; }
 .footer-redesign .footer-brand-actions { display: block; grid-column: 1 / -1; grid-row: 4; justify-self: center; }
}
@media (max-width: 600px) {
 .header .header-actions,
 .footer-redesign .footer-brand-actions { inline-size: min(270px, 100%); }
 .footer-redesign .footer-layout { column-gap: 20px; }
 .footer-redesign .footer-bottom { gap: 20px; }
}

/* En el Inicio móvil, una única separación entre la descripción y el brochure. */
@media (max-width: 600px) {
 body[data-page="inicio"] .home-document-strip .wrap { row-gap: 20px; }
 body[data-page="inicio"] .home-document-strip .btn { margin-top: 0; }
}

/* Solo los tres títulos del footer se destacan en negrita. */
.footer-redesign h3 { font-weight: 700; }
.footer-redesign .institutional > span { font-weight: 400; }
.footer-redesign.footer-dark h3 { color: #fff; }
.footer-redesign .institutional strong { font-weight: inherit; }
.footer-redesign .footer-complaints,
.footer-redesign .footer-phone,
.footer-redesign .footer-contact dt,
.footer-redesign .footer-brand-actions .footer-brochure { font-weight: 400; }

body .footer-redesign .footer-brand-actions .footer-brochure.action-cta { font-weight: 400; }

/* Distribución aprobada: ancho completo, Libro vertical y Contacto al borde del isotipo. */
@media (min-width: 1101px) {
 .footer-redesign {
  --footer-copy-size: 15px;
  --footer-heading-size: 15px;
  --footer-secondary: #c3c3c3;
  padding: 56px 0 28px;
 }
 .footer-redesign .footer-layout {
  margin-inline: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 48px;
  row-gap: 30px;
 }
 .footer-redesign .footer-main > div {
  inline-size: 100%;
  max-inline-size: none;
  justify-self: stretch;
  text-align: left;
 }
 .footer-redesign .footer-navigation > nav {
  inline-size: auto;
  max-inline-size: none;
  margin-inline: 0;
 }
 .footer-redesign h3 {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .06em;
  color: #fff;
  margin-bottom: 20px;
 }
 .footer-redesign li,
 .footer-redesign dt,
 .footer-redesign dd,
 .footer-redesign .footer-legal-link {
  font-size: 15px;
  line-height: 1.65;
 }
 .footer-redesign li { margin-bottom: 11px; }
 .footer-redesign .footer-complaints {
  inline-size: 100%;
  max-inline-size: none;
  min-block-size: 82px;
  padding: 16px 20px;
  margin-top: 26px;
  margin-inline: 0;
  justify-content: center;
  border-color: #ffffff38;
  color: var(--footer-secondary);
  font-size: 15px;
  font-weight: 400;
 }
 .footer-redesign .footer-phone {
  font-size: 15px;
  color: var(--footer-secondary);
  font-weight: 400;
 }
 .footer-redesign .footer-contact dt:has(.footer-availability) {
  color: var(--footer-secondary);
  font-weight: 400;
 }
 .footer-redesign .footer-contact dl > div { margin-bottom: 20px; }
 .footer-redesign .footer-contact dl > div:last-child { margin-bottom: 0; }
 .footer-redesign .footer-layout > .institutional {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px 48px;
  justify-content: stretch;
  padding-block: 26px 4px;
 }
 .footer-redesign .institutional span {
  font-size: 15px;
  font-weight: 400;
  justify-content: center;
  gap: 9px;
 }
 .footer-redesign .institutional strong {
  color: var(--footer-secondary);
  font-weight: inherit;
 }
 .footer-redesign .institutional svg {
  inline-size: 20px;
  block-size: 20px;
  color: var(--footer-secondary);
 }
 .footer-redesign .footer-bottom { margin-top: 22px; padding-top: 20px; }
}

/* Legal y Libro comparten el eje central de los respaldos institucionales. */
@media (min-width: 1101px) {
 .footer-redesign .footer-main > .footer-legal {
  inline-size: 184px;
  max-inline-size: 100%;
  justify-self: center;
 }
 .footer-redesign .footer-complaints {
  inline-size: 100%;
  block-size: 208px;
  min-block-size: 208px;
  padding: 20px 14px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  text-align: center;
 }
 .footer-redesign .footer-complaints svg {
  inline-size: 34px;
  block-size: 34px;
 }
 .footer-redesign .footer-main > .footer-contact {
  inline-size: max-content;
  max-inline-size: 100%;
  justify-self: end;
 }
}
