
.site-footer{
  --gutter: clamp(12px,3vw,36px);
  background: var(--brand2);
  color: var(--white);
  font-weight: 300;
}
.site-footer a{color:var(--white);text-decoration:none;opacity:.95}
.site-footer a:hover{color:var(--brand1);opacity:1}

/* Grid: marca arriba centrada y 2 columnas más centradas debajo */
.footer-inner{
  display:grid;
  /* columnas más estrechas y centradas */
  grid-template-columns: minmax(220px, 1fr) minmax(0, 3fr);
  justify-content: center; /* centra todo el bloque de columnas */
  grid-template-areas:
    "brand brand"
    "col1  col2";
  gap: clamp(16px, 3vw, 36px);
  padding: 40px var(--gutter) 28px;
  align-items:start;
}

/* Marca centrada */
.footer-brand{
  grid-area: brand;
  display:flex; flex-direction:column; gap:10px;
  align-items:center; text-align:center;
  margin: 24px 0;
}
.footer-logo img{height:75px; display:block}
.footer-claim{max-width:260px; height:auto; opacity:.95}

/* Mapear columnas por orden */
.footer-inner > .footer-col:nth-of-type(1){grid-area: col1}
.footer-inner > .footer-col:nth-of-type(2){grid-area: col2}

/* Columnas: centradas y con ancho máximo */
.footer-col{justify-self:center; width:100%; max-width:320px}
.footer-col.footer-services-col{max-width:100%}
.footer-col h3{
  margin:0 0 12px;
  font-size:14px; letter-spacing:.06em; text-transform:uppercase;
  opacity:.9;
}
.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer-col li a{font-size:15px;line-height:1.3}
.footer-col li a:focus-visible{outline:2px solid var(--brand1);outline-offset:2px;border-radius:6px}

/* Servicios + soluciones */
.footer-services-inline{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  align-items:center;
}
.footer-service-link{
  font-size:14px;
  opacity:.9;
  white-space:nowrap;
}
.footer-service-link:hover{opacity:1}
.footer-service-link--area{
  font-weight:700;
  text-transform:none;
  letter-spacing:.01em;
}

/* Redes (Line Awesome) */
.footer-social{display:flex;margin-top:12px} .social-link{ width:36px;height:36px;display:grid;place-items:center left; } .social-link i{font-size:24px;line-height:1}

/* Legal */
.footer-legal{border-top:1px solid rgba(255,255,255,.2); margin-top:16px}
.legal-inner{
  display:flex; gap:16px; align-items:center; justify-content:space-between;
  padding:14px var(--gutter) 24px; flex-wrap:wrap;
}
.legal-inner small{opacity:.9}
.legal-links{display:flex;gap:16px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.legal-links a{font-size:14px;opacity:.9}
.legal-links a:hover{opacity:1}

/* Responsive */
@media (max-width:1024px){
  .footer-inner{
    grid-template-columns: minmax(220px, 1fr) minmax(280px, 2fr);
    justify-content:center;
    grid-template-areas:
      "brand brand"
      "col1  col2";
  }
}
@media (max-width:640px){
  .footer-inner{
    grid-template-columns: minmax(220px, 1fr);
    justify-content:start;
    grid-template-areas:
      "brand"
      "col2"
      "col1";
  }
  .footer-col{justify-self:start; text-align:left}
  .footer-inner > .footer-col:nth-of-type(1){margin-top:16px}
  .footer-social{justify-content:flex-start}
  .footer-claim{max-width:200px}
  .legal-inner{gap:10px}
}
