.site-footer, .site-footer *, .site-footer *::before, .site-footer *::after {
    box-sizing: border-box !important;
}

.site-footer .footer__col { min-width: 0; }
.site-footer .footer__list li { margin: 0 !important; padding: 0 !important; }
.site-footer a:focus-visible { outline: 2px solid #e16b36; outline-offset: 4px; }

.site-footer {
    position: relative !important;
    border: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
    padding: 72px 0 36px !important;
    background: #090909 !important;
    color: #fff !important;
}

.site-footer__container {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.site-footer__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 48px !important;
    margin: 0 0 36px !important;
}

.site-footer .footer__heading {
    margin: 0 0 18px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    font-family: 'NTSomic', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase;
}

.site-footer .footer__list {
    display: grid !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.site-footer .footer__list,
.site-footer .footer__list a {
    color: #fff !important;
    font-family: 'NTSomic', sans-serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    overflow-wrap: anywhere;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.site-footer .footer__list a:hover {
    color: #e16b36 !important;
}

.site-footer .footer__disclaimer {
    max-width: 340px;
    margin: 18px 0 0 !important;
    color: rgba(255, 255, 255, 0.34) !important;
    font-family: 'NTSomic', sans-serif !important;
    font-size: 11px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.45 !important;
}

.site-footer__logo {
    display: block !important;
    width: 180px !important;
    height: auto !important;
    margin: 0 auto !important;
}


@media(max-width:760px){.site-footer{padding:48px 0 28px!important}.site-footer__grid{grid-template-columns:1fr!important;gap:32px!important;margin-bottom:32px!important}.site-footer__logo{width:150px!important}}

body footer.site-footer[data-site-footer] .site-footer__container {
    width: 100% !important;
    max-width: 1280px !important;
    padding: 0 24px !important;
    margin: 0 auto !important;
}

/* Suppress decorations and text overrides from individual landing pages. */
footer.site-footer::before,
footer.site-footer::after {
    content: none !important;
}
footer.site-footer .footer__list li {
    color: #fff !important;
    font: inherit !important;
    text-align: left !important;
}

/* Unified footer columns: navigation, social links, contacts and legal details. */
.site-footer .site-footer__grid--full{grid-template-columns:max-content repeat(4,minmax(0,1fr))!important;gap:28px!important;align-items:start}
.site-footer .site-footer__grid--full + .site-footer__logo{margin:48px 0 0!important}
@media(max-width:1100px){.site-footer .site-footer__grid--full{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:36px 28px!important}}
@media(max-width:760px){.site-footer .site-footer__grid--full{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:32px 24px!important}.site-footer .site-footer__grid--full .footer__col:last-child{grid-column:1/-1}}
@media(max-width:420px){.site-footer .site-footer__grid--full{grid-template-columns:1fr!important}.site-footer .site-footer__grid--full + .site-footer__logo{margin-top:32px!important}}

/* Content-sized columns keep equal free space between groups. */
.site-footer .site-footer__grid {
    display:flex!important;flex-wrap:wrap;justify-content:space-between;
    align-items:flex-start;gap:36px 28px!important;
}
.site-footer .site-footer__grid > .footer__col {
    flex:0 1 auto;width:max-content;max-width:100%;
}
.site-footer .site-footer__grid > .footer__col:last-child { max-width:300px; }
@media(max-width:420px){
    .site-footer .site-footer__grid { flex-direction:column;gap:32px!important; }
}

/* Keep one explicit gap instead of stacking container and child margins. */
body footer.site-footer[data-site-footer] .site-footer__container { gap:40px!important; }
.site-footer .site-footer__grid { margin-bottom:0!important; }
.site-footer .site-footer__grid + .site-footer__logo { margin:0 auto!important; }
@media(max-width:760px){
    body footer.site-footer[data-site-footer] .site-footer__container { gap:28px!important; }
}

/* Mobile services and legal details share the same row. */
@media(max-width:760px){
    .site-footer .site-footer__grid--full { display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:32px 20px!important; }
    .site-footer .site-footer__grid--full > .footer__col { grid-column:span 2;width:auto;min-width:0;max-width:none;overflow-wrap:anywhere; }
    .site-footer .site-footer__grid--full > .footer__col:nth-child(4),
    .site-footer .site-footer__grid--full > .footer__col:last-child { grid-column:span 3; }
}
@media(max-width:420px){
    .site-footer .site-footer__grid--full > .footer__col { grid-column:span 3; }
    .site-footer .site-footer__grid--full > .footer__col:nth-child(3) { grid-column:1/-1; }
}
