.v2-footer {
  margin-top: 4rem; border-top: 1px solid rgba(167,215,188,.09);
  background: radial-gradient(ellipse at 0 100%, rgba(65,122,88,.09), transparent 48%), radial-gradient(ellipse at 100% 0, rgba(65,122,88,.055), transparent 40%), #0b0d0c;
}
.v2-footer-inner { width: min(1560px,calc(100% - 4rem)); margin: 0 auto; padding: 3.4rem 0 1.3rem; }
.v2-footer-columns { display: grid; grid-template-columns: 1.25fr 1fr 1fr .85fr; gap: 3rem; }
.v2-footer .v2-logo { display: inline-flex; font-size: 1.65rem; margin-bottom: .6rem; }
.v2-footer h2 { color: #dde7e1; font-size: .95rem; font-weight: 650; margin: .4rem 0 1.25rem; }
.v2-footer p { color: #8f9a93; font-size: .83rem; line-height: 1.75; margin: .5rem 0 1.2rem; }
.v2-footer-brand p { max-width: 19rem; }
.v2-footer nav { display: flex; flex-direction: column; align-items: flex-start; gap: .85rem; }
.v2-footer nav h2 { margin-bottom: .4rem; }
.v2-footer a { color: #a1aca5; text-decoration: none; transition: color .2s, background .2s; }
.v2-footer nav a { font-size: .83rem; }
.v2-footer a:hover { color: #b5eccb; }
.v2-footer .v2-logo { color: #edf3ef; }
.v2-footer .v2-footer-social { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid #ffffff0c; border-radius: 11px; background: #ffffff05; }
.v2-footer .v2-footer-social:hover { background: #87ffbb0d; }
.v2-footer svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.v2-footer .v2-footer-telegram { display: inline-flex; align-items: center; gap: .55rem; color: #cedbd3; font-weight: 600; font-size: .85rem; }
.v2-footer-telegram svg { color: #92d8ad; }
.v2-footer-contact p { margin-bottom: .5rem; font-size: .75rem; }
.v2-footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid #ffffff0b; color: #68746c; font-size: .73rem; }
.v2-footer a:focus-visible { outline: 2px solid #8ce8b4; outline-offset: 5px; border-radius: 3px; }
@media(max-width: 980px) {
  .v2-footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem; }
}
@media(max-width: 560px) {
  .v2-footer { margin-top: 2.5rem; }
  .v2-footer-inner { width: calc(100% - 2rem); padding-top: 2rem; padding-bottom: 6rem; }
  .v2-footer-columns { gap: 1.8rem 1rem; }
  .v2-footer-brand { grid-column: 1/-1; }
  .v2-footer-brand p { max-width: 26rem; }
  .v2-footer-contact { grid-column: 1/-1; }
  .v2-footer-bottom { margin-top: 2rem; flex-direction: column; gap: .6rem; }
}
@media(prefers-reduced-motion: reduce) { .v2-footer a { transition: none; } }
