.fortis-footer {
  position: relative;
  z-index: 2;
  isolation: isolate;
  overflow: hidden;
  border-top: 1px solid rgba(39, 223, 255, .34);
  background: #050d13;
  color: #edf7fa;
  font-family: 'Space Grotesk', sans-serif;
}
.fortis-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(circle at 8% 0%, rgba(39, 223, 255, .08), transparent 38%), linear-gradient(rgba(39, 223, 255, .022) 1px, transparent 1px), linear-gradient(90deg, rgba(39, 223, 255, .022) 1px, transparent 1px);
  background-size: auto, 80px 80px, 80px 80px;
  mask-image: linear-gradient(90deg, #000, transparent 80%);
}
.fortis-footer * { box-sizing: border-box; }
.fortis-footer a { color: inherit; text-decoration: none; }
.fortis-footer a:focus-visible { outline: 2px solid #27dfff; outline-offset: 5px; }
.fortis-footer__wrap { max-width: 1500px; margin: 0 auto; padding: 0 clamp(24px, 5vw, 88px); }
.fortis-footer__head { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 45px 0 39px; border-bottom: 1px solid rgba(132, 219, 237, .22); }
.fortis-footer__brand { display: inline-flex; align-items: center; gap: 23px; min-width: 0; }
.fortis-footer__brand img { display: block; width: clamp(165px, 17vw, 212px); height: auto; max-width: 100%; }
.fortis-footer__brand span { padding-left: 23px; border-left: 1px solid rgba(132, 219, 237, .27); color: #8faeb9; font: 500 9px 'IBM Plex Mono', monospace; letter-spacing: .15em; white-space: nowrap; }
.fortis-footer__top { display: inline-flex; align-items: center; gap: 18px; color: #27dfff !important; font: 500 10px 'IBM Plex Mono', monospace; letter-spacing: .12em; white-space: nowrap; }
.fortis-footer__top span { font-size: 20px; line-height: 1; transition: transform .2s ease; }
.fortis-footer__top:hover span { transform: translateY(-4px); }
.fortis-footer__main { display: grid; grid-template-columns: minmax(245px, 1.4fr) repeat(2, minmax(0, 1fr)); gap: clamp(30px, 4vw, 68px); padding: 66px 0 82px; }
.fortis-footer__eyebrow, .fortis-footer__column h2, .fortis-footer__utility-label { margin: 0 0 28px; color: #27dfff; font: 500 10px 'IBM Plex Mono', monospace; letter-spacing: .16em; }
.fortis-footer__statement { max-width: 355px; margin: 0 0 26px; color: #edf7fa; font-size: clamp(28px, 3vw, 44px); font-weight: 600; line-height: 1.06; letter-spacing: -.055em; }
.fortis-footer__intro > a { display: inline-flex; gap: 15px; align-items: center; padding-bottom: 9px; border-bottom: 1px solid rgba(39, 223, 255, .5); color: #27dfff; font: 500 11px 'IBM Plex Mono', monospace; letter-spacing: .04em; overflow-wrap: anywhere; }
.fortis-footer__intro > a:hover { color: #fff; }
.fortis-footer__column { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; min-width: 0; }
.fortis-footer__column h2 { margin-bottom: 11px; }
.fortis-footer__column a { color: #c3d4da; font-size: 15px; line-height: 1.4; transition: color .2s ease, transform .2s ease; }
.fortis-footer__column a:hover { color: #27dfff; transform: translateX(3px); }
.fortis-footer__utility { display: flex; justify-content: space-between; gap: 30px 60px; padding: 28px 0; border-top: 1px solid rgba(132, 219, 237, .22); border-bottom: 1px solid rgba(132, 219, 237, .22); }
.fortis-footer__utility-group { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 23px; }
.fortis-footer__utility-label { margin: 0 10px 0 0; }
.fortis-footer__utility a { color: #b5cbd3; font-size: 12px; line-height: 1.4; }
.fortis-footer__utility a:hover, .fortis-footer__utility a[aria-current="page"] { color: #27dfff; }
.fortis-footer__note { max-width: 900px; margin: 0; padding: 25px 0 0; color: #8ea8b2; font-size: 12px; line-height: 1.65; }
.fortis-footer__note code { color: #c4dbe2; font: inherit; overflow-wrap: anywhere; }
.fortis-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding: 29px 0 34px; color: #75919c; font: 500 9px 'IBM Plex Mono', monospace; letter-spacing: .12em; }
@media (max-width: 1050px) {
  .fortis-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 55px 35px; }
  .fortis-footer__intro { grid-column: 1 / -1; }
  .fortis-footer__statement { max-width: 520px; }
}
@media (max-width: 680px) {
  .fortis-footer__wrap { padding: 0 20px; }
  .fortis-footer__head { padding: 33px 0; }
  .fortis-footer__brand span { display: none; }
  .fortis-footer__brand img { width: 160px; }
  .fortis-footer__top { gap: 8px; font-size: 8px; }
  .fortis-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 24px; padding: 53px 0 58px; }
  .fortis-footer__intro { grid-column: 1 / -1; }
  .fortis-footer__statement { max-width: 440px; font-size: clamp(33px, 8vw, 48px); }
  .fortis-footer__column a { font-size: 14px; }
  .fortis-footer__column h2 { font-size: 9px; }
  .fortis-footer__utility { flex-direction: column; gap: 24px; }
  .fortis-footer__utility-label { width: 100%; }
  .fortis-footer__bottom { flex-direction: column; gap: 10px; font-size: 8px; }
}
@media (max-width: 380px) {
  .fortis-footer__main { gap: 38px 17px; }
  .fortis-footer__column a { font-size: 13px; }
}
