.footer2{
  --f2-bg-1:#705fe1;
  --f2-bg-2:#0c6dff;
  --f2-bg:#0b0f1e;
  --f2-white:#fff;
  --f2-muted:#9aa3bc;

  color:var(--f2-white);
  background-color: var(--f2-bg);
  background:
    radial-gradient(1000px 520px at 100% -10%, rgba(12,109,255,0.22), transparent),
    radial-gradient(820px 420px at 0% 0%, rgba(112,95,225,0.20), transparent),
    var(--f2-bg);
  padding:clamp(48px, 6vw, 84px) 0;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}

@supports (background: color-mix(in srgb, #000 50%, transparent)) {
  .footer2 {
    background:
      radial-gradient(1000px 520px at 100% -10%, color-mix(in srgb, var(--f2-bg-2) 22%, transparent), transparent),
      radial-gradient(820px 420px at 0% 0%, color-mix(in srgb, var(--f2-bg-1) 20%, transparent), transparent),
      var(--f2-bg);
  }
}

.footer2::before{
  content:"";
  position:absolute; inset:0 0 auto 0; height:2px;
  background:linear-gradient(90deg, var(--f2-bg-1), var(--f2-bg-2));
  opacity:.85;
}
.footer2__backdrop{position:absolute; inset:0; pointer-events:none}

.footer2 .container{
  max-width:1280px;
  margin:0 auto;
  padding:0 16px;
}

/* ===== TOP GRID ===== */
.footer2__top{
  display:grid;
  grid-template-areas:"brand nav contacts";
  grid-template-columns:1.35fr 1fr 1fr;
  column-gap:clamp(56px, 9vw, 140px);
  row-gap:28px;
  align-items:start;
}

/* ===== BRAND ===== */
.footer2__brand{grid-area:brand}

.footer2__logo{
  display:flex; align-items:center; gap:12px;
  text-decoration:none; color:#fff; margin:0 0 10px;
}
.footer2__logo-mark{
  display:grid; place-items:center;
  width:42px; height:42px; border-radius:12px;
  background:linear-gradient(135deg, var(--f2-bg-1), var(--f2-bg-2));
  font-weight:800;
}
.footer2__logo-text{
  font-weight:800;
  font-size:clamp(18px, 1.9vw, 24px);
}
@media (min-width:1200px){
  .footer2__logo-mark{width:48px; height:48px}
}

.footer2__tagline{
  color:var(--f2-muted);
  margin:0 0 16px;
  line-height:1.6;
}

.footer2__cta{
  display:flex; gap:12px; flex-wrap:wrap;
}
.footer2__btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 22px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  border:1px solid transparent;
  transition:.25s ease;
  will-change:transform, box-shadow;
}
.footer2__btn svg{width:18px; height:18px; fill:currentColor}

.footer2__btn--primary{
  background:linear-gradient(90deg, var(--f2-bg-1), var(--f2-bg-2));
  color:#fff;
  box-shadow:0 18px 40px rgba(12,109,255,.30), 0 0 0 6px rgba(12,109,255,.10);
}
.footer2__btn--primary:hover{transform:translateY(-2px)}

.footer2__btn--ghost{
  color:#e7eaff;
  border-color:rgba(231,234,255,.22);
  background:rgba(231,234,255,.06);
}
.footer2__btn--ghost:hover{
  transform:translateY(-2px);
  background:rgba(231,234,255,.12);
}

.footer2__nav{grid-area:nav}
.footer2__nav h4,
.footer2__contacts h4{
  margin:0 0 12px;
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#cbd2ff;
}
.footer2__nav ul{
  list-style:none; margin:0; padding:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(160px, 1fr)); 
  gap:12px 28px;
}
.footer2__nav li{min-width:0}
.footer2__nav a{
  color:#e7eaff; text-decoration:none; opacity:.9;
  white-space:nowrap;
  background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;
  transition:opacity .2s, background-size .25s;
}
.footer2__nav a:hover{opacity:1; background-size:100% 1px}

/* ===== CONTACTS ===== */
.footer2__contacts{grid-area:contacts}
.footer2__contacts ul{list-style:none; margin:0; padding:0; display:grid; gap:10px}
.footer2__contacts a{
  display:inline-flex; align-items:center;
  color:#e7eaff; text-decoration:none; opacity:.95;
}
.footer2__contacts a:hover{opacity:1}
.footer2__contacts svg{width:18px; height:18px; margin-right:8px; fill:#cbd2ff}

/* ===== BOTTOM ===== */
.footer2__bottom{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  margin-top:clamp(28px, 4.5vw, 46px);
  padding-top:clamp(16px, 2vw, 24px);
  border-top:1px solid rgba(231,234,255,.12);
  color:#c3cae9;
  font-size:14px;
}
.footer2__social{display:flex; gap:10px}
.footer2__social a{
  display:grid; place-items:center;
  width:36px; height:36px; border-radius:12px;
  background:rgba(231,234,255,.06);
  border:1px solid rgba(231,234,255,.15);
  transition:.25s;
}
.footer2__social a svg{width:18px; height:18px; fill:#e7eaff}
.footer2__social a:hover{transform:translateY(-2px); background:rgba(231,234,255,.12)}

.footer2 .footer2__nav ul{
  display:grid;
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  grid-template-columns: none;
  gap: 10px 48px;
}

/* ====== TABLET ====== */
@media (max-width:1023.98px){
  .footer2__top{
    grid-template-areas:
      "brand brand"
      "nav   contacts";
    grid-template-columns:1fr 1fr;
    column-gap:clamp(28px, 6vw, 56px);
  }
  .footer2__nav ul{
    grid-template-columns:repeat(2, minmax(150px, 1fr));
    gap:12px 24px;
  }
}

/* ====== MOBILE ====== */
@media (max-width:639.98px){
  .footer2 .container{padding:0 18px}

  .footer2__top{
    grid-template-areas:
      "brand"
      "nav"
      "contacts";
    grid-template-columns:1fr;
    row-gap:26px;
  }

  .footer2__nav ul{
    grid-template-columns:repeat(2, minmax(140px, 1fr));
    gap:12px 22px;
  }

  .footer2__cta{flex-direction:column}
  .footer2__btn{
    width:100%;
    padding:16px 22px;
    font-size:16px;
  }
  .footer2__btn--primary{
    box-shadow:0 12px 28px rgba(12,109,255,.35), 0 0 0 8px rgba(12,109,255,.12);
  }

  .footer2__bottom{
    flex-direction:column; align-items:flex-start; gap:14px;
  }
  .footer2__social a{width:42px; height:42px; border-radius:14px}
}

/* ===== accessibility: reduced motion ===== */
@media (prefers-reduced-motion:reduce){
  .footer2__btn:hover,
  .footer2__social a:hover{transform:none}
}
@media (max-width: 639.98px){
  .footer2 .footer2__nav ul{
    gap: 10px 24px;
  }
}
@media (max-width: 639.98px){
  .footer2__tagline br { display: inline; }
}
@media (min-width: 640px){
  .footer2__tagline br { display: none; }
}
