/* NOMISIS · Páginas modulares unificadas. Selectores aislados para no afectar index ni cotizador. */
.module-landing, .module-landing * { box-sizing:border-box; }
.module-landing .module-intro { padding:clamp(64px,8vw,108px) 0 clamp(68px,8vw,100px); text-align:center; background:#fff; }
.module-landing .module-intro .container { max-width:1220px; }
.module-landing .module-intro h2 { font-size:clamp(30px,4.2vw,54px); line-height:1.13; letter-spacing:-.035em; max-width:810px; margin:18px auto 20px; text-wrap:balance; }
.module-landing .module-intro > .container > p { max-width:650px; margin:0 auto; line-height:1.65; font-size:clamp(15px,1.4vw,18px); }
.module-landing .unified-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:48px; text-align:left; align-items:stretch; }
.module-landing .unified-feature-card { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; min-width:0; min-height:210px; padding:27px 26px 30px; border:1px solid #d9e5f4; border-radius:20px; background:linear-gradient(160deg,#fff,#f9fbff); box-shadow:0 12px 28px rgba(22,52,94,.035); }
.module-landing .unified-feature-number { display:inline-flex; justify-content:center; align-items:center; width:42px; height:42px; border-radius:12px; background:#eaf3ff; color:#0674fa; font-weight:800; font-size:14px; margin-bottom:21px; }
.module-landing .unified-feature-card h3 { margin:0 0 12px; font-size:clamp(17px,1.6vw,20px); font-weight:750; line-height:1.3; color:#102c55; overflow-wrap:break-word; }
.module-landing .unified-feature-card p { margin:0; font-size:15px; line-height:1.65; color:#607795; overflow-wrap:break-word; }
.module-landing .module-section { padding:clamp(65px,8vw,110px) 0; }
.module-landing .module-section-inner { gap:clamp(30px,5vw,80px); }
.module-landing .module-section-inner > div { min-width:0; }
.module-landing .module-section p { max-width:530px; }
.module-landing .module-section.dark .module-check { color:#eaf2ff; }
.module-landing .module-hero-shot { min-height:330px; }
.module-landing .module-placeholder { position:relative; min-width:0; width:100%; min-height:300px; }
.module-landing .module-placeholder .module-image { display:none; width:100%; height:auto; max-height:620px; object-fit:contain; border-radius:12px; }
.module-landing .module-placeholder.has-image { display:block; min-height:0; padding:10px; border:1px solid #d9e5f4; background:#fff; }
.module-landing .module-placeholder.has-image .module-image { display:block; }
.module-landing .module-placeholder.has-image .module-placeholder-copy { display:none; }
.module-landing .module-placeholder-copy { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; }
.module-landing .module-placeholder-copy strong { font-size:17px; }
.module-landing .module-placeholder-copy small { font-size:12px; max-width:100%; }
.module-landing .module-final-panel { min-width:0; }
@media(max-width:1050px) {
 .module-landing .unified-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .module-landing .unified-feature-card { min-height:195px; }
 .module-landing .payroll-hero-content { gap:32px; }
}
@media(max-width:760px) {
 .module-landing .module-intro { padding:65px 0; }
 .module-landing .unified-feature-grid { gap:13px; margin-top:30px; }
 .module-landing .unified-feature-card { padding:22px 20px; min-height:0; }
 .module-landing .unified-feature-number { margin-bottom:14px; }
 .module-landing .module-section-inner { grid-template-columns:minmax(0,1fr); }
 .module-landing .module-section.reverse .module-section-inner > :first-child { order:0; }
 .module-landing .module-placeholder { min-height:220px; }
 .module-landing .module-hero-shot { min-height:230px; }
 .module-landing .module-final-panel { flex-direction:column; align-items:flex-start; }
}
@media(max-width:560px) {
 .module-landing .unified-feature-grid { grid-template-columns:minmax(0,1fr); }
 .module-landing .unified-feature-card { padding:22px; }
 .module-landing .module-intro h2 { font-size:clamp(30px,8vw,39px); }
 .module-landing .module-section h2 { font-size:clamp(30px,8vw,38px); }
 .module-landing .module-final-panel { padding:26px 22px; }
 .module-landing .module-placeholder-copy small { font-size:11px; }
}
