/* ==========================================================
   FOOTER — banda de cierre con llamada a la oferta, cuatro columnas y barra legal.
   ========================================================== */
.ft{position:relative;background:#080a0d;color:var(--acero);overflow:hidden;border-top:1px solid var(--linea)}
.ft::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(120,170,230,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(120,170,230,.05) 1px,transparent 1px);background-size:72px 72px;
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 80% 0%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 90% at 80% 0%,#000,transparent 75%)}
.ft>*{position:relative}
.ft__cta{border-bottom:1px solid var(--linea);background:radial-gradient(ellipse 50% 140% at 85% 50%,rgba(0,134,255,.16),transparent 70%)}
.ft__cta-in{max-width:1320px;margin:0 auto;padding:clamp(44px,8vh,84px) clamp(24px,4vw,56px);display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap}
.ft__cta-t{margin:0;font-weight:300;font-size:clamp(28px,3.4vw,52px);line-height:1.08;letter-spacing:-.012em;color:var(--hueso)}
.ft__cta-t em{font-style:normal;display:block;background:linear-gradient(90deg,var(--azul),#4fd0ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;padding-bottom:.06em}
.ft__main{max-width:1320px;margin:0 auto;padding:clamp(44px,7vh,72px) clamp(24px,4vw,56px);display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:36px clamp(28px,4vw,64px)}
.ft__brand img{display:block;height:28px;width:auto}
.ft__brand p{margin:20px 0 0;max-width:34ch;font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.65}
.ft__h{margin:0 0 18px;font-family:var(--mono);font-weight:400;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--azul-luz)}
.ft__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.ft a:not(.btn){color:var(--acero);text-decoration:none;font-family:Inter,system-ui,sans-serif;font-size:14.5px;line-height:1.5;transition:color .2s}
.ft a:not(.btn):hover,.ft a:not(.btn):focus-visible{color:var(--hueso)}
.ft a:focus-visible{outline:2px solid var(--azul-luz);outline-offset:3px;border-radius:2px}
.ft address{font-style:normal;display:flex;flex-direction:column;gap:14px}
.ft__tel{font-family:var(--cond)!important;font-size:26px!important;letter-spacing:.02em;color:var(--hueso)!important}
.ft__tel:hover{color:var(--azul-luz)!important}
.ft__mail{font-family:var(--cond)!important;font-size:19px!important;letter-spacing:.02em;color:var(--hueso)!important;overflow-wrap:anywhere}
.ft__mail:hover{color:var(--azul-luz)!important}
.ft__bar{max-width:1320px;margin:0 auto;padding:22px clamp(24px,4vw,56px) 30px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px 32px;flex-wrap:wrap}
.ft__copy{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.1em}
.ft__legal{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px}
.ft__legal a{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:1000px){.ft__main{grid-template-columns:1fr 1fr}.ft__brand{grid-column:1/-1}}
@media(max-width:600px){
  .ft__cta-in{flex-direction:column;align-items:stretch;text-align:left}
  .ft__cta-in .btn{justify-content:center}
  .ft__main{grid-template-columns:1fr 1fr;gap:34px 20px}
  .ft__contact{grid-column:1/-1}
  .ft__bar{flex-direction:column;align-items:flex-start}
}
.ft__bar::before{content:"";position:absolute;top:0;left:clamp(24px,4vw,56px);right:clamp(24px,4vw,56px);height:1px;background:var(--linea)}
