/* Home editorial; type sizes are managed globally in typography.css. */
.home-process-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(24px,5vw,75px)}
.home-process-top h2{max-width:730px}
.home-process-copy{max-width:620px;color:var(--gray);margin:20px 0 0}
.home-process-photo{min-width:0}
.home-process-photo .benefits-photo{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center;display:block;margin:0;border-radius:5px}
.home-faq{background:var(--paper)}
.home-faq .section-head{align-items:flex-end}
.home-faq-list{max-width:1020px;margin:30px auto 0;border-top:1px solid #cdd4ce}
.home-faq-list details{padding:22px 5px;border-bottom:1px solid #cdd4ce}
.home-faq-list details[open]{background:#ffffff8c;padding-left:18px;padding-right:18px}
.home-faq-list summary{cursor:pointer;font-size:var(--type-ui);line-height:1.5;font-weight:700;padding-right:24px}
.home-faq-list summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.home-faq-list p{color:var(--gray);max-width:780px;margin:12px 0 0}
@media(max-width:800px){.home-process-top{grid-template-columns:1fr;gap:26px}.home-process-photo .benefits-photo{max-height:320px}}
@media(max-width:760px){.home-faq-list details{padding:19px 2px}.home-faq-list details[open]{padding-left:12px;padding-right:12px}}

/* Home compacta: fabricantes y aliados diferenciados visualmente. */
.home-manufacturers.section{max-width:none;background:#f4f5f0;padding-top:38px;padding-bottom:32px}
.home-manufacturers-head{display:flex;align-items:end;gap:32px;justify-content:space-between}
.home-manufacturers-head h2{margin:0}
.home-manufacturers-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}
.home-manufacturers-logos a{min-height:90px;background:#fff;border:1px solid #e1e4dc;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:16px;transition:border-color .2s}
.home-manufacturers-logos a:hover,.home-manufacturers-logos a:focus-visible{border-color:#e46623}
.home-manufacturers-logos img{max-width:min(100%,195px);max-height:55px;width:auto;height:auto;object-fit:contain}
body main .home-manufacturers-note{margin:13px 0 0;color:#677169;font-size:var(--type-supporting);line-height:var(--type-leading-supporting)}
/* Ally logos: intentionally not project cards, and without implied case links. */
.home-allies.section{max-width:none;background:#fff;color:#202522;padding-top:38px;padding-bottom:34px}
.home-allies-header{display:flex;align-items:end;justify-content:space-between;gap:18px}
.home-allies .eyebrow{color:#af4b1b;margin-bottom:7px}
.home-allies h2{margin:0}
.home-ally-controls{display:none;flex-shrink:0;gap:8px}
.home-ally-controls.is-ready{display:flex}
.home-ally-controls button{width:43px;height:43px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #bdc5bb;border-radius:3px;background:#fff;color:#202522;font-size:var(--type-ui);cursor:pointer;transition:border-color .2s}
.home-ally-controls button:hover:not(:disabled),.home-ally-controls button:focus-visible{border-color:#e46623}
.home-ally-controls button:disabled{opacity:.28;cursor:default}
.home-ally-track{display:flex;align-items:center;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:thin;scrollbar-color:#d0d7cf transparent;overscroll-behavior-inline:contain;padding:16px 2px 13px}
.home-ally-logo{box-sizing:border-box;flex:0 0 calc((100% - 72px)/5);min-width:0;min-height:100px;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;padding:12px;background:#fff}
.home-ally-logo img{width:100%;height:66px;object-fit:contain;filter:grayscale(1);opacity:.86;transition:opacity .2s;display:block}
.home-ally-logo img:hover{opacity:1}
.home-allies-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:4px}
body main .home-allies-footer p{font-size:var(--type-supporting);line-height:var(--type-leading-supporting);color:#5e6b62;margin:0}
.home-allies-footer .textlink{white-space:nowrap}
@media(max-width:1024px){.home-ally-logo{flex-basis:calc((100% - 54px)/4)}}
@media(max-width:760px){
.home-manufacturers.section{padding-top:30px;padding-bottom:28px}
.home-manufacturers-head{display:block}
.home-manufacturers-logos{gap:8px;margin-top:16px}
.home-manufacturers-logos a{min-height:73px;padding:9px}
.home-manufacturers-logos img{max-height:42px}
.home-allies.section{padding-top:28px;padding-bottom:26px}
.home-ally-logo{flex-basis:calc((100% - 12px)/2);padding:9px;min-height:85px}
.home-ally-track{gap:12px;padding-top:12px}
.home-ally-logo img{height:55px}
.home-allies-footer{align-items:flex-start;flex-direction:column;gap:8px}
.home-allies-footer .textlink{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.home-ally-track{scroll-behavior:auto}}

/* HOME / Productos y servicios: 10 tarjetas simétricas, sin acomodos manuales. */
#soluciones.section{padding-top:clamp(40px,5vw,72px);padding-bottom:clamp(40px,5vw,72px)}
#soluciones .section-head{gap:28px;margin-bottom:24px}
#soluciones .cards{
 width:100%;max-width:1350px;margin-inline:auto;
 display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;
 gap:12px;align-items:stretch
}
#soluciones .card{
 grid-column:auto;min-width:0;min-height:0;width:100%;align-self:stretch;
 display:flex;flex-direction:column;overflow:hidden;
 background:#fff;border:1px solid #e1e5df!important
}
#soluciones .card-media{
 position:relative;flex:0 0 auto;aspect-ratio:1.95/1;
 overflow:hidden;background:#e8ece6
}
#soluciones .card-photo{
 position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover
}
#soluciones .card-body{display:flex;flex-direction:column;gap:7px;flex:1;padding:14px 14px 17px}
#soluciones .card h3{margin:0;line-height:var(--type-leading-heading);overflow-wrap:break-word}
#soluciones .card p{
 margin:0;min-height:0;max-width:none;overflow:hidden;
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3
}
#soluciones .card-arrow{
 position:absolute;top:10px;right:10px;width:29px;height:29px;
 display:grid;place-items:center;border:1px solid #d7dfd4;border-radius:50%;
 background:#fffffff0;color:#2b352e;font-size:var(--type-ui);line-height:1
}
#soluciones .card:hover .card-arrow,#soluciones .card:focus-visible .card-arrow{
 color:#fff;background:var(--orange);border-color:var(--orange);transform:translate(1px,-1px)
}
@media(max-width:1019px){
 #soluciones .cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:840px;gap:12px}
 #soluciones .card{display:grid;grid-template-columns:minmax(0,40%) minmax(0,60%)}
 #soluciones .card-media{aspect-ratio:auto;min-height:132px;height:100%}
 #soluciones .card-body{justify-content:center;padding:13px 15px;gap:5px}
 #soluciones .card:hover{transform:none}
}
@media(max-width:640px){
 #soluciones .section-head{margin-bottom:18px}
 #soluciones .cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:520px;gap:10px}
 #soluciones .card{display:flex;flex-direction:column;min-height:0}
 #soluciones .card-media{aspect-ratio:1.9/1;min-height:0;height:auto}
 #soluciones .card-body{justify-content:flex-start;padding:11px 12px 14px;gap:5px}
 #soluciones .card p{-webkit-line-clamp:2;line-clamp:2}
 #soluciones .card-arrow{width:25px;height:25px;top:7px;right:7px}
}
@media(max-width:380px){
 #soluciones .cards{gap:8px}
 #soluciones .card-body{padding:10px 10px 12px}
}

/* Home / Contacto — el formulario es protagonista; datos comerciales solo en footer. */
#contacto.home-contact{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:22px;
  padding-block:clamp(42px,6vw,76px);
  padding-inline:max(6%,calc((100vw - 1200px)/2));
  scroll-margin-top:90px;
}
#contacto.home-contact .home-contact-intro,
#contacto.home-contact > .lf-widget{
  width:100%;
  max-width:920px;
  margin-inline:auto;
  min-width:0;
}
#contacto.home-contact .home-contact-intro h2{
  margin:10px 0 12px;
  max-width:810px;
}
#contacto.home-contact .home-contact-intro > p:not(.eyebrow){
  margin:0;
  max-width:760px;
  color:#647067;
  font-size:var(--type-body);
  line-height:var(--type-leading-body);
}
#contacto.home-contact > .lf-widget{
  order:2;
  scroll-margin-top:96px;
}
#contacto.home-contact .home-contact-intro{order:1}


@media(max-width:760px){
  #contacto.home-contact{
    gap:16px;
    padding:39px 5.5% 48px;
  }
  #contacto.home-contact .home-contact-intro h2{margin:8px 0 10px}
  #contacto.home-contact .home-contact-intro > p:not(.eyebrow){
    font-size:var(--type-body);
    line-height:1.5;
  }

}
