.zc-footer {
width: min(1480px, calc(100% - (var(--page-x, 96px) * 2)));
margin: var(--section-y, 96px) auto 34px;
min-height: 430px;
padding: 58px 64px 34px;
border: 1px solid rgba(220, 228, 240, 0.92);
border-radius: 34px;
background: rgba(255, 255, 255, 0.96);
box-shadow: 0 30px 80px rgba(77, 104, 172, 0.08);
overflow: hidden;
}

.zc-footer__grid {
display: grid;
grid-template-columns: minmax(250px, 0.8fr) minmax(680px, 2.2fr);
gap: 92px;
align-items: start;
padding-bottom: 58px;
}

.zc-footer__brand {
min-width: 0;
}

.zc-footer__logo {
display: inline-flex;
align-items: center;
text-decoration: none;
}

.zc-footer__logo-image {
width: 230px;
height: auto;
display: block;
}

.zc-footer__brand p {
max-width: 270px;
margin-top: 26px;
color: #313C53;
font-family: "Manrope", sans-serif;
font-size: 15px;
line-height: 1.7;
letter-spacing: 1px;
}

.zc-socials {
display: flex;
align-items: center;
gap: 14px;
margin-top: 36px;
}

.zc-socials a {
width: 38px;
height: 38px;
display: grid;
place-items: center;
border-radius: 50%;
background: #E8EDF5;
color: #313C53;
text-decoration: none;
transition: color 0.25s ease, background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.zc-socials a:hover {
color: #fff;
background: #288AE4;
box-shadow: 0 14px 28px rgba(40, 138, 228, 0.22);
transform: translateY(-3px);
}

.zc-socials svg {
width: 18px;
height: 18px;
/*fill: none;*/
stroke: #0E1E34;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.zc-footer__links {
display: grid;
grid-template-columns: repeat(4, minmax(120px, 1fr));
gap: 72px;
min-width: 0;
}

.zc-footer__col {
display: grid;
align-content: start;
gap: 17px;
min-width: 0;
}

.zc-footer__col h3 {
margin: 0 0 14px;
color: #0E1E34;
font-family: "Plus Jakarta Sans", sans-serif;
font-size: 16px;
line-height: 1.25;
font-weight: 700;
letter-spacing: 2px;
}

.zc-footer__col a {
color: #313C53;
font-family: "Manrope", sans-serif;
font-size: 15px;
line-height: 1.45;
font-weight: 500;
letter-spacing: 1px;
text-decoration: none;
transition: color 0.2s ease, transform 0.2s ease;
}

.zc-footer__col a:hover {
color: #288AE4;
transform: translateX(2px);
}

.zc-footer__segment {
display: inline-flex;
align-items: center;
gap: 12px;
width: fit-content;
}

.zc-footer__segment svg {
width: 22px;
height: 22px;
flex: 0 0 22px;
fill: none;
stroke: currentColor;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

.zc-footer__segment--blue {
color: #288AE4 !important;
}

.zc-footer__segment--green {
color: #00AE7C !important;
}

.zc-footer__segment--orange {
color: #FF9900 !important;
}

.zc-footer__segment--purple {
color: #A934F5 !important;
}

.zc-footer__segment span {
color: #313C53;
transition: color 0.2s ease;
}

.zc-footer__segment:hover span {
color: currentColor;
}

.zc-footer__bottom {
min-height: 58px;
padding-top: 28px;
border-top: 1px solid #DCE4F0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
color: #313C53;
font-family: "Manrope", sans-serif;
font-size: 14px;
line-height: 1.5;
letter-spacing: 1px;
}

@media (max-width: 1180px) {
.zc-footer {
min-height: auto;
padding: 48px 42px 30px;
}

.zc-footer__grid {
grid-template-columns: 1fr;
gap: 46px;
}

.zc-footer__links {
grid-template-columns: repeat(4, minmax(120px, 1fr));
gap: 42px;
}
}

@media (max-width: 760px) {
.zc-footer {
width: calc(100% - (var(--page-x, 24px) * 2));
padding: 38px 28px 26px;
border-radius: 28px;
}

.zc-footer__grid {
grid-template-columns: 1fr;
gap: 40px;
}

.zc-footer__links {
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 38px 28px;
}

.zc-footer__logo-image {
width: 214px;
}

.zc-footer__brand p {
max-width: 100%;
}

.zc-footer__bottom {
flex-direction: column;
align-items: flex-start;
}
}

@media (max-width: 420px) {
.zc-footer {
padding: 34px 22px 24px;
}

.zc-footer__logo-image {
width: 190px;
}

.zc-footer__links {
grid-template-columns: 1fr;
}
}