.ix-footer{
  position:relative;
  background:
    radial-gradient(circle at 12% 0%, rgba(37,99,235,.16), transparent 45%),
    radial-gradient(circle at 88% 100%, rgba(249,115,22,.10), transparent 45%),
    linear-gradient(180deg,#0d1b4b 0%, #081333 100%);
  color:rgba(255,255,255,.68);
  font-family:'Inter',sans-serif;
  padding:0 10% 0;
  overflow:hidden;
}

/* gradient hairline at the very top — the only "loud" stroke on the page */
.ix-footer::before{
  content:'';
  position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(249,115,22,.7) 35%, rgba(37,99,235,.7) 65%, transparent);
}

/* faint node-and-line texture, fixed in the corner, never competes with text */
.ix-footer-texture{
  position:absolute; top:0; right:0; width:480px; height:100%;
  opacity:.5; pointer-events:none;
}
.ix-footer-texture svg{width:100%; height:100%;}

.ix-footer-inner{ position:relative; z-index:2; padding-top:64px; }

/* ---------- top row: brand + newsletter ---------- */
.ix-footer-top{
  display:flex; justify-content:space-between; align-items:flex-end; gap:40px;
  padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.08);
}
.ix-footer-brand{max-width:380px;}
.ix-footer-logo{font-size:21px; font-weight:800; color:#fff; letter-spacing:-.02em;}
.ix-footer-logo span{color:#F97316;}
.ix-footer-tagline{font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.35); margin-top:5px; font-weight:600;}
.ix-footer-brand p{font-size:13.5px; line-height:1.8; color:rgba(255,255,255,.5); margin-top:18px;}

.ix-newsletter{flex-shrink:0; width:340px;}
.ix-newsletter h5{font-size:13px; font-weight:700; color:#fff; margin-bottom:4px;}
.ix-newsletter p{font-size:12px; color:rgba(255,255,255,.45); margin-bottom:14px;}
.ix-newsletter-form{display:flex; gap:0; border:1px solid rgba(255,255,255,.16); border-radius:50px; padding:4px 4px 4px 18px; background:rgba(255,255,255,.04); transition:border-color .25s, background .25s;}
.ix-newsletter-form:focus-within{border-color:#F97316; background:rgba(255,255,255,.06);}
.ix-newsletter-form input{flex:1; min-width:0; background:transparent; border:none; outline:none; color:#fff; font-size:13px; font-family:inherit;}
.ix-newsletter-form input::placeholder{color:rgba(255,255,255,.35);}
.ix-newsletter-form button{
  flex-shrink:0; border:none; background:#F97316; color:#fff; font-family:inherit;
  font-size:12.5px; font-weight:700; padding:10px 20px; border-radius:46px; cursor:pointer;
  transition:background .2s, transform .2s;
}
.ix-newsletter-form button:hover{background:#ea6c0a; transform:translateY(-1px);}
.ix-newsletter-form button:focus-visible,
.ix-newsletter-form input:focus-visible{outline:2px solid #F97316; outline-offset:2px;}

/* ---------- middle row: link columns w/ hairline dividers ---------- */
.ix-footer-grid{
  display:grid; grid-template-columns:1fr 1fr 1fr 1.2fr;
  padding:44px 0;
}
.ix-footer-col{ padding:0 32px; border-left:1px solid rgba(255,255,255,.08); }
.ix-footer-col:first-child{ padding-left:0; border-left:none; }

.ix-footer-col h4{
  color:rgba(255,255,255,.9); font-size:11.5px; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; margin-bottom:20px;
}
.ix-footer-col ul{list-style:none; display:flex; flex-direction:column; gap:13px;}
.ix-footer-col ul a{
  position:relative; color:rgba(255,255,255,.6); text-decoration:none; font-size:13.5px;
  transition:color .2s, padding-left .2s; display:inline-block;
}
.ix-footer-col ul a::before{
  content:'→'; position:absolute; left:-16px; opacity:0; color:#F97316;
  transition:opacity .2s, left .2s;
}
.ix-footer-col ul a:hover{color:#fff; padding-left:14px;}
.ix-footer-col ul a:hover::before{opacity:1; left:-2px;}
.ix-footer-col ul a:focus-visible{outline:2px solid #F97316; outline-offset:3px; border-radius:3px;}

.ix-contact-item{display:flex; align-items:flex-start; gap:11px; font-size:13.5px; color:rgba(255,255,255,.6); margin-bottom:16px; line-height:1.5;}
.ix-contact-item svg{width:16px; height:16px; flex-shrink:0; color:#F97316; margin-top:1px;}

.ix-social-row{display:flex; gap:10px; margin-top:6px;}
.ix-social-row a{
  position:relative; width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.8); text-decoration:none; overflow:hidden; isolation:isolate;
  transition:border-color .25s, color .25s;
}
.ix-social-row a::before{
  content:''; position:absolute; inset:0; z-index:-1; border-radius:50%;
  background:linear-gradient(135deg,#F97316,#2563EB); transform:scale(0); transition:transform .3s cubic-bezier(.3,1.4,.5,1);
}
.ix-social-row a:hover{border-color:transparent; color:#fff;}
.ix-social-row a:hover::before{transform:scale(1);}
.ix-social-row a svg{width:15px; height:15px; position:relative; z-index:1;}
.ix-social-row a:focus-visible{outline:2px solid #F97316; outline-offset:3px;}

/* ---------- bottom strip ---------- */
.ix-footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding:22px 0 26px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  font-size:12px; color:rgba(255,255,255,.38);
}
.ix-footer-bottom a{color:rgba(255,255,255,.5); text-decoration:none; transition:color .2s;}
.ix-footer-bottom a:hover{color:#F97316;}
.ix-footer-legal{display:flex; gap:20px;}

/* ---------- responsive ---------- */
@media(max-width:980px){
  .ix-footer-top{flex-direction:column; align-items:flex-start;}
  .ix-newsletter{width:100%;}
  .ix-footer-grid{grid-template-columns:1fr 1fr; gap:32px 0; row-gap:36px;}
  .ix-footer-col{border-left:none; padding-left:0;}
  .ix-footer-col:nth-child(odd){padding-right:16px;}
}
@media(max-width:560px){
  .ix-footer{padding:0 6%;}
  .ix-footer-grid{grid-template-columns:1fr; gap:32px;}
  .ix-footer-col{padding:0 !important;}
  .ix-footer-bottom{flex-direction:column; align-items:flex-start;}
}
@media (prefers-reduced-motion: reduce){
  .ix-footer *{transition:none !important;}
}