/* Portada: ancho de lectura uniforme y columnas equilibradas. */
.company-page .site-header,.company-page .company-section,.company-page .company-footer{max-width:1240px;padding-inline:32px}
.company-page .company-hero{max-width:1176px;margin:16px auto 0;border-radius:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:540px}
.company-page .hero-copy{padding:48px;min-width:0}
.company-page h1{font-size:clamp(38px,4.2vw,58px)}
.company-page .hero-description{max-width:440px;font-size:15px}
.company-page .hero-photo{min-height:540px}
.company-page .care-strip{max-width:1176px;padding-block:24px}
.company-page .company-section{padding-block:64px}
.company-page .company-heading{align-items:center}
.company-page .company-heading>p{max-width:360px}
.company-page .company-card{padding:24px;min-width:0}
.company-page .company-card h3{margin-top:20px}
.company-page .company-about,.company-page .company-banner{max-width:1176px}
.company-page .company-footer{flex-wrap:wrap}
.company-page .company-footer .social-links:empty{display:none}
/* Acceso: formulario y presentación comparten una tarjeta de altura natural. */
.login-page .login-main{max-width:1120px;padding:40px 24px!important;width:100%}
.login-page .login-box{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);width:100%;min-height:560px;margin:0!important}
.login-page .login-brand-panel,.login-page .login-form-panel{width:auto;min-width:0;padding:40px!important}
.login-page .login-brand-panel{gap:40px}
.login-page .login-brand-panel .lead{font-size:17px}
.login-page .login-form-panel{align-self:center}
.login-page .login-intro{margin-bottom:24px!important}
.login-page .login-intro>a{margin-bottom:24px!important}
.login-page .form-control-lg,.login-page .input-group-lg>.form-control{font-size:16px;min-height:50px}
.login-page .theme-nav{min-height:76px}
.reset-card{width:min(100%,480px)}
.reset-card .card-body{padding:32px!important}
/* Inicio interno: las tarjetas se adaptan al espacio real junto al menú. */
.dashboard-page.home-page .welcome-panel{padding:32px!important}
.home-page .col-lg-10>.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:20px;margin:0}
.home-page .col-lg-10>.row>div{width:auto;padding:0;margin:0;min-width:0}
.home-page .module-link .card-body{display:flex;flex-direction:column;align-items:flex-start}
.home-page .module-link .card-body>span:last-child{margin-top:auto;padding-top:12px}
.home-page .module-link p{line-height:1.65}
@media(max-width:1199px){
  .company-page .company-hero{margin:16px 32px 0}
  .company-page .hero-copy{padding:36px}
  .company-page .care-strip{margin-inline:32px}
}
@media(max-width:991.98px){
  .login-page .login-box{grid-template-columns:minmax(0,1fr);max-width:560px;margin:auto!important;min-height:0}
  .login-page .login-form-panel{padding:36px!important}
}
@media(max-width:700px){
  .company-page .company-hero{grid-template-columns:minmax(0,1fr);margin:12px 20px 0;border-radius:18px}
  .company-page .hero-copy{padding:32px 24px}
  .company-page .hero-photo{min-height:360px}
  .company-page .site-header,.company-page .company-section,.company-page .company-footer{padding-inline:24px}
  .company-page .company-section{padding-block:44px}
  .company-page .company-heading{display:block}
  .company-page .care-strip{margin-inline:24px}
  .company-page .company-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .company-page .company-card{padding:20px 16px}
  .company-page .company-about,.company-page .company-banner{margin-inline:24px}
}
@media(max-width:420px){
  .company-page .company-cards{grid-template-columns:minmax(0,1fr)}
  .company-page .company-card h3 br{display:none}
  .login-page .login-main{padding:24px 16px!important}
  .login-page .login-form-panel{padding:24px!important}
  .login-page .theme-nav{flex-wrap:wrap;gap:16px}
  .login-page .theme-nav nav{font-size:13px}
}
