.cs420-footer{
  position:relative;
  width:100%;
  padding:70px 18px 28px;
  background: radial-gradient(1200px 420px at 20% 0%, rgba(70,211,255,0.15), transparent 55%),
              radial-gradient(900px 380px at 80% 10%, rgba(255,255,255,0.08), transparent 60%),
              linear-gradient(135deg, var(--cs420-bg1), var(--cs420-bg2));
  color: var(--cs420-text);
  overflow:hidden;
}

.cs420-footer:before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(600px 260px at 40% 100%, rgba(70,211,255,0.10), transparent 65%),
    radial-gradient(500px 220px at 90% 90%, rgba(70,211,255,0.06), transparent 70%);
  pointer-events:none;
}

.cs420-footer__wrap{
  position:relative;
  max-width:1180px;
  margin:0 auto;
}

.cs420-footer__panel{
  display:grid;
  grid-template-columns: 1.25fr 1fr 1fr 1fr;
  gap:28px;
  padding:34px 34px;
  border-radius:28px;
  background: var(--cs420-glass);
  border: 1px solid var(--cs420-glass-border);
  backdrop-filter: blur(var(--cs420-blur));
  -webkit-backdrop-filter: blur(var(--cs420-blur));
  box-shadow: 0 18px 55px rgba(0,0,0,0.35);
}

.cs420-footer__brand .cs420-footer__logo{
  width:64px;
  height:64px;
  border-radius:18px;
  overflow:hidden;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:14px;
}

.cs420-footer__brand .cs420-footer__logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:10px;
}

.cs420-footer__title{
  font-size:20px;
  font-weight:700;
  letter-spacing: .2px;
  margin-bottom:8px;
}

.cs420-footer__h{
  font-size:14px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(255,255,255,0.82);
  margin-bottom:12px;
}

.cs420-footer__p{
  color: var(--cs420-muted);
  font-size:14px;
  line-height:1.6;
}

.cs420-footer__ul{
  list-style:none;
  padding:0;
  margin:0;
}

.cs420-footer__li{
  margin:0;
  padding:0;
}

.cs420-footer__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color: rgba(255,255,255,0.88);
  text-decoration:none;
  font-size:14px;
  line-height:1.55;
  padding:6px 0;
  transition: transform .15s ease, color .15s ease, opacity .15s ease;
}

.cs420-footer__link:hover{
  color: var(--cs420-accent);
  transform: translateX(2px);
}

.cs420-footer__chev{
  display:inline-flex;
  width:16px;
  justify-content:center;
  color: rgba(255,255,255,0.45);
}

.cs420-footer__contact .cs420-footer__item{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:10px 0;
}

.cs420-footer__ico{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.80);
  margin-top:1px;
  flex: 0 0 22px;
  font-size:12px;
}

.cs420-footer__rating{
  margin-top:14px;
  padding-top:12px;
  border-top: 1px solid rgba(255,255,255,0.10);
}

.cs420-footer__stars{
  display:flex;
  gap:4px;
  margin-bottom:6px;
}

.cs420-footer__star{
  font-size:14px;
  opacity: .25;
}

.cs420-footer__star.is-on{
  opacity: 1;
  color: #ffcc66;
}

.cs420-footer__meta{
  font-size:12px;
  color: rgba(255,255,255,0.68);
}

.cs420-footer__social{
  display:flex;
  gap:10px;
  margin-top:14px;
}

.cs420-footer__soc{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color: rgba(255,255,255,0.88);
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
  font-size:14px;
}

.cs420-footer__soc:hover{
  transform: translateY(-2px);
  border-color: rgba(70,211,255,0.55);
  background: rgba(70,211,255,0.10);
  color: var(--cs420-accent);
}

.cs420-footer__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:14px;
  height:44px;
  padding:0 16px;
  border-radius:14px;
  background: var(--cs420-btn-bg);
  border: 1px solid var(--cs420-btn-border);
  color: var(--cs420-btn-text);
  text-decoration:none;
  font-weight:700;
  letter-spacing:.2px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.22);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  width: fit-content;
}

.cs420-footer__cta:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 38px rgba(0,0,0,0.30);
  background: rgba(70,211,255,0.18);
}

.cs420-footer__copyright{
  text-align:center;
  margin-top:18px;
  font-size:12px;
  color: rgba(255,255,255,0.55);
}

@media (max-width: 1024px){
  .cs420-footer__panel{
    grid-template-columns: 1fr 1fr;
    padding:28px 22px;
  }
}

@media (max-width: 640px){
  .cs420-footer{
    padding:54px 14px 22px;
  }
  .cs420-footer__panel{
    grid-template-columns: 1fr;
    gap:18px;
    border-radius:24px;
    padding:22px 18px;
  }
  .cs420-footer__cta{
    width:100%;
  }
}
