/* Empresas: propuesta coherente con Personas, Inicio v14 y Nosotros. */
body[data-page="empresas"] { font-family: Montserrat, Arial, sans-serif; font-weight: 400; }
body[data-page="empresas"] .footer-redesign .institutional { font-family: inherit; }
body[data-page="empresas"] main p { font-size: 16px; font-weight: 400; line-height: 1.65; }
body[data-page="empresas"] main h2 { font-size: 40px; font-weight: 650; line-height: 1.18; }
body[data-page="empresas"] main h3 { font-size: 17px; font-weight: 650; line-height: 1.4; letter-spacing: -.02em; }
.business-hero { position: relative; isolation: isolate; min-height: 520px; display: flex; align-items: center; background: #171717; color: #fff; overflow: hidden; }
.business-hero-photo { position: absolute; inset: 0 0 0 auto; width: 76%; height: 100%; object-fit: cover; object-position: 65% center; z-index: -2; }
.business-hero:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#171717 0%,#171717 25%,#171717eb 34%,#171717a6 47%,#17171722 76%,transparent 100%); z-index: -1; }
.business-hero-copy { padding: 74px 0; max-width: 720px; }
.business-hero h1 { font-size: 54px; font-weight: 600; line-height: 1.08; }
.business-hero-copy p { margin-top: 24px; max-width: 580px; color: #eee; }
.business-hero .hero-note { color: #fff; background: #17171780; padding: 3px 7px; }
.business-catalog { padding: 64px 0 70px; }
.business-catalog-heading { margin-bottom: 34px; }
.business-catalog-heading p { max-width: 900px; margin-top: 18px; }
.business-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px 28px; }
.business-card { grid-column: auto; display: flex; flex-direction: column; border: 1px solid #e5e5e5; border-radius: 4px; overflow: hidden; background: white; transition: border-color .2s,box-shadow .2s; }
.business-card:hover { border-color: #c5c5c5; box-shadow: 0 8px 24px #0000000a; }
.business-card-photo { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; }
.business-card[data-solution="ramos-tecnicos"] .business-card-photo { object-position: 78% center; }
.business-card[data-solution="patrimonio"] .business-card-photo { object-position: 80% center; }
.business-card[data-solution="laborales"] .business-card-photo { object-position: center; }
.business-card[data-solution="transporte"] .business-card-photo { object-position: 80% center; }
.business-card-copy { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.business-card p { margin-top: 10px; margin-bottom: 20px; }
.business-card-access { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: auto; min-height: 32px; font-size: 14px; font-weight: 400; color: var(--muted); }
.business-card-access svg { width: 20px; height: 20px; flex-shrink: 0; }
.business-card:hover .business-card-access, .business-card:focus-visible .business-card-access { color: #d00023; }
.business-compare { background: #f4f4f2; padding: 62px 0; }
.business-compare h2 { max-width: 1100px; }
.business-criteria { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; margin-top: 36px; }
.business-criterion { border-top: 1px solid #c9c9c6; padding-top: 24px; }
.business-criterion p { margin-top: 12px; }
.business-faq-section { padding: 62px 0 54px; }
.business-faq-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; }
.business-faq details { border-top: 1px solid var(--line); }
.business-faq details:last-child { border-bottom: 1px solid var(--line); }
.business-faq summary { position: relative; list-style: none; cursor: pointer; padding: 23px 40px 23px 0; font-size: 17px; font-weight: 650; line-height: 1.4; letter-spacing: -.02em; }
.business-faq summary::-webkit-details-marker { display: none; }
.business-faq summary:after { content: '+'; position: absolute; right: 3px; top: 17px; color: var(--red); font-weight: 400; font-size: 27px; }
.business-faq details[open] summary:after { content: '−'; }
.business-faq p { padding: 0 30px 24px 0; }
.business-claims-access { margin-top: 42px; border-top: 1px solid var(--line); padding-top: 30px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.business-claims-access h3 { color: var(--red); }
.business-claims-access h3 span { white-space: nowrap; }
.business-claims-access a { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; font-size: 14px; font-weight: 400; }
.business-claims-access a svg { width: 18px; height: 18px; color: var(--red); flex-shrink: 0; }
.business-claims-access a:hover { color: var(--red); text-decoration: underline; text-underline-offset: 4px; }
@media(max-width:1100px) {
  .business-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .business-hero h1 { font-size: 52px; }
  .business-hero-copy { max-width: 680px; }
  .business-title-break { display: none; }
  .business-faq-grid { gap: 46px; }
  .business-card-copy { padding: 22px; }
}
@media(max-width:850px) {
  .business-hero { min-height: 460px; }
  .business-hero-photo { width: 100%; object-position: 65% center; }
  .business-hero:after { background: linear-gradient(90deg,#171717eb 0%,#171717aa 54%,#17171733 90%); }
  .business-hero-copy { max-width: 480px; }
  .business-criteria { gap: 25px; }
  .business-faq-grid { grid-template-columns: 1fr; gap: 30px; }
}
@media(max-width:600px) {
  body[data-page="empresas"] main h2 { font-size: 30px; }
  .business-hero { display: block; padding-bottom: 255px; min-height: 0; background: #f4f4f2; color: #171717; }
  .business-hero-photo { inset: auto 0 0; height: 270px; object-position: 65% center; }
  .business-hero:after { background: linear-gradient(180deg,#f4f4f2 0%,#f4f4f2 45%,transparent 67%); }
  .business-hero-copy { padding: 40px 0 18px; max-width: none; }
  .business-hero h1 { font-size: 40px; line-height: 1.12; }
  .business-hero-copy p { margin-top: 20px; color: #666; }
  .business-title-break { display: none; }
  .business-hero .hero-note { bottom: 12px; right: 20px; }
  .business-catalog { padding: 42px 0 46px; }
  .business-catalog-heading { margin-bottom: 26px; }
  .business-catalog-heading p { margin-top: 16px; }
  .business-grid { grid-template-columns: 1fr; gap: 26px; }
  .business-card-copy { padding: 22px; }
  .business-compare { padding: 42px 0; }
  .business-criteria { grid-template-columns: 1fr; margin-top: 28px; gap: 28px; }
  .business-criterion { padding-top: 22px; }
  .business-faq-section { padding: 42px 0 36px; }
  .business-faq-grid { gap: 26px; }
  .business-faq summary { font-size: 17px; }
  .business-faq p { padding-right: 0; }
  .business-claims-access { display: block; margin-top: 30px; padding-top: 24px; }
  .business-claims-access a { margin-top: 6px; }
}
@media(max-width:360px) { .business-hero h1 { font-size: 36px; } }
@media(prefers-reduced-motion:reduce) { body[data-page="empresas"] { scroll-behavior: auto; } }

/* Textos equilibrados, conservando la retícula4×2 y la tipografía aprobada. */
.business-card p,
.business-criterion p,
.business-faq p { text-wrap: balance; }
