.pk-footer {
    margin-top: 56px;
    background: linear-gradient(105deg, #062b57 0%, #03244b 55%, #041f42 100%);
    color: #fff;
    font-family: inherit;
}

.pk-footer a { color: inherit; text-decoration: none; }

.pk-footer__inner {
    width: min(1440px, calc(100% - 72px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.35fr .9fr .95fr .95fr 1.05fr;
    gap: 0;
    padding: 38px 0 32px;
}

.pk-footer__brand,
.pk-footer__column,
.pk-footer__join {
    min-width: 0;
    padding: 0 28px;
    border-right: 1px solid rgba(255,255,255,.14);
}

.pk-footer__brand { padding-left: 0; }
.pk-footer__join { border-right: 0; padding-right: 0; }

.pk-footer__brand-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.15;
}

.pk-footer__logo {
    width: 170px;
    height: auto;
    max-height: 120px;
    object-fit: contain;
    object-position: left center;
}

.pk-footer__brand > p {
    max-width: 280px;
    margin: 14px 0 16px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
    line-height: 1.55;
}

.pk-footer__social { display: flex; gap: 9px; }
.pk-footer__social a {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 50%;
    transition: .2s ease;
}
.pk-footer__social a:hover { background: #fff; color: #062b57; transform: translateY(-2px); }
.pk-footer__social svg { width: 16px; height: 16px; fill: currentColor; }

.pk-footer h2 {
    margin: 2px 0 14px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
}

.pk-footer__column nav,
.pk-footer__column address {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 0;
    font-style: normal;
}

.pk-footer__column a,
.pk-footer__column address span {
    color: rgba(255,255,255,.83);
    font-size: 13px;
    line-height: 1.3;
    transition: color .18s ease, transform .18s ease;
}
.pk-footer__column a:hover { color: #fff; transform: translateX(3px); }

.pk-footer__join p {
    margin: 0 0 14px;
    color: rgba(255,255,255,.78);
    font-size: 13px;
    line-height: 1.45;
}

.pk-footer__cta,
.pk-footer__donate {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 38px;
    padding: 9px 14px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 800;
    transition: .2s ease;
}
.pk-footer__cta {
    background: #fff;
    color: #062b57 !important;
    margin-bottom: 9px;
}
.pk-footer__cta:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.18); }
.pk-footer__cta span { color: #b5121b; font-size: 18px; }
.pk-footer__donate {
    justify-content: center;
    background: #b5121b;
    color: #fff !important;
}
.pk-footer__donate:hover { background: #d01622; transform: translateY(-1px); }

.pk-footer__bottom { background: #191919; }
.pk-footer__bottom-inner {
    width: min(1440px, calc(100% - 72px));
    margin: 0 auto;
    min-height: 46px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: rgba(255,255,255,.62);
    font-size: 12px;
}

@media (max-width: 1100px) {
    .pk-footer__inner {
        grid-template-columns: 1.4fr 1fr 1fr;
        row-gap: 30px;
    }
    .pk-footer__brand,
    .pk-footer__column,
    .pk-footer__join { border-right: 0; padding: 0 22px; }
    .pk-footer__brand { padding-left: 0; }
    .pk-footer__column:nth-of-type(3) { padding-right: 0; }
    .pk-footer__join { padding-left: 0; }
}

@media (max-width: 760px) {
    .pk-footer { margin-top: 40px; }
    .pk-footer__inner,
    .pk-footer__bottom-inner { width: min(100% - 36px, 620px); }
    .pk-footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 30px 22px;
        padding: 34px 0 28px;
    }
    .pk-footer__brand,
    .pk-footer__column,
    .pk-footer__join { padding: 0; }
    .pk-footer__brand { grid-column: 1 / -1; }
    .pk-footer__join { grid-column: 1 / -1; max-width: 420px; }
    .pk-footer__bottom-inner {
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        padding: 12px 0;
        gap: 4px;
    }
}

@media (max-width: 480px) {
    .pk-footer__inner { grid-template-columns: 1fr; }
    .pk-footer__brand,
    .pk-footer__join { grid-column: auto; }
}
