/* Footer background:
   Light — soft breadcrumb light (#ECF2F6)
   Night — Abstrak dark CTA (#27272E)
   Animations — same Abstrak CTA bubbles in both modes */

@keyframes movingleftright1 {
    0% { transform: translateX(0) translateY(0); }
    40% { transform: translateX(50px) translateY(-200px); }
    75% { transform: translateX(800px); }
    100% { transform: translateY(0) translateX(0); }
}

@keyframes movingleftright2 {
    0% { transform: translateX(0) translateY(0); }
    40% { transform: translateX(-50px) translateY(200px); }
    75% { transform: translateX(-500px); }
    100% { transform: translateY(0) translateX(0); }
}

@keyframes movingleftright3 {
    0% { transform: translateX(0) translateY(0); }
    40% { transform: translateX(100px) translateY(-200px); }
    75% { transform: translateX(-500px); }
    100% { transform: translateY(0) translateX(0); }
}

.footer_2.footer_2--abstrak-bg {
    --footer-light-color: #ECF2F6;
    --footer-light-gradient: linear-gradient(90deg, var(--footer-light-color) 0%, color-mix(in srgb, var(--footer-light-color) 0%, transparent) 70.31%);
    position: relative;
    /* Do NOT clip footer — footer_top_contact uses top:-80px and must stick out */
    overflow: visible;
    z-index: 1;
    background: var(--footer-light-gradient) !important;
    background-image: var(--footer-light-gradient) !important;
    background-color: var(--footer-light-color) !important;
    background-size: cover !important;
    /* Room for bottom bubble bleed only — no empty block above copyright */
    padding-bottom: 28px !important;
}

.footer_2.footer_2--abstrak-bg > .footer_copyright {
    margin-top: 28px !important;
    padding-bottom: 0;
    padding-top: 20px;
}

.footer_2.footer_2--abstrak-bg > .container,
.footer_2.footer_2--abstrak-bg > .footer_copyright {
    position: relative;
    z-index: 2;
}

/* Contact widget above bubbles — solid card, no bleed-through */
.footer_2.footer_2--abstrak-bg .footer_top_contact {
    position: relative;
    z-index: 3;
    background: #ffffff;
    isolation: isolate;
}

.footer_2 .footer_shape_group,
.footer_3 .footer_shape_group {
    overflow: visible;
}

.footer_2 .footer_shape_group,
.footer_3 .footer_shape_group {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    pointer-events: none;
    z-index: 0;
}

.footer_2 .footer_shape_group .shape,
.footer_3 .footer_shape_group .shape {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    line-height: 0;
}

.footer_2 .footer_shape_group .shape img,
.footer_3 .footer_shape_group .shape img {
    display: block;
    max-width: none;
    height: auto;
}

.footer_2 .footer_shape_group .shape.shape-1 {
    top: auto;
    bottom: 0;
    left: 18%;
}

.footer_2 .footer_shape_group .shape.shape-1 img {
    transform: rotate(180deg);
    width: min(760px, 62vw);
    max-width: none;
    height: auto;
    opacity: 0.9;
    filter: brightness(1.15) saturate(0.35);
}

@media only screen and (max-width: 991.99px) {
    .footer_2.footer_2--abstrak-bg {
        padding-bottom: 24px !important;
    }

    .footer_2.footer_2--abstrak-bg > .footer_copyright {
        margin-top: 24px !important;
        padding-top: 18px;
    }

    .footer_2 .footer_shape_group .shape.shape-1 img {
        width: min(520px, 92vw);
    }
}

@media only screen and (max-width: 575.99px) {
    .footer_2.footer_2--abstrak-bg {
        padding-bottom: 20px !important;
    }

    .footer_2.footer_2--abstrak-bg > .footer_copyright {
        margin-top: 20px !important;
        padding-top: 16px;
    }
}

.footer_2 .footer_shape_group .shape.shape-2,
.footer_3 .footer_shape_group .shape.shape-2 {
    top: 180px;
    left: 18%;
    opacity: 0.5;
    animation: movingleftright1 infinite 20000ms linear;
}

.footer_2 .footer_shape_group .shape.shape-3,
.footer_3 .footer_shape_group .shape.shape-3 {
    top: 31%;
    left: 20%;
    animation: movingleftright2 infinite 25000ms linear;
}

.footer_2 .footer_shape_group .shape.shape-4,
.footer_3 .footer_shape_group .shape.shape-4 {
    top: 44%;
    left: 28%;
    animation: movingleftright1 infinite 25000ms linear;
}

.footer_2 .footer_shape_group .shape.shape-5,
.footer_3 .footer_shape_group .shape.shape-5 {
    top: 50%;
    left: 17%;
    animation: movingleftright2 infinite 30000ms linear;
}

.footer_2 .footer_shape_group .shape.shape-6,
.footer_3 .footer_shape_group .shape.shape-6 {
    top: 26%;
    right: 21%;
    animation: movingleftright3 infinite 30000ms linear;
}

.footer_2 .footer_shape_group .shape.shape-7,
.footer_3 .footer_shape_group .shape.shape-7 {
    top: 30%;
    right: 15%;
    animation: movingleftright1 infinite 30000ms linear;
}

@media only screen and (max-width: 767px) {
        .footer_2 .footer_shape_group .shape.shape-6,
    .footer_3 .footer_shape_group .shape.shape-6 {
        display: none;
    }
}

/* Light mode text — dark on soft gray */
.footer_2.footer_2--abstrak-bg .footer_info p,
.footer_2.footer_2--abstrak-bg .footer_link ul li a,
.footer_2.footer_2--abstrak-bg .footer_post ul li .text p,
.footer_2.footer_2--abstrak-bg .footer_post ul li .text a,
.footer_2.footer_2--abstrak-bg .footer_copyright p {
    color: var(--colorBlack, #27272E);
    opacity: 0.7;
}

.footer_2.footer_2--abstrak-bg .footer_post h3,
.footer_2.footer_2--abstrak-bg .footer_link h3 {
    color: var(--colorBlack, #27272E);
}

.footer_2.footer_2--abstrak-bg .footer_link ul li a:hover,
.footer_2.footer_2--abstrak-bg .footer_post ul li .text a:hover {
    color: var(--colorPrimary, #3399ff);
    opacity: 1;
}

.footer_2.footer_2--abstrak-bg .footer_copyright {
    border-top-color: rgba(8, 5, 33, 0.10);
}

/* Soft peach/white glows on light bubbles (breadcrumb-like light feel) */
.footer_2 .footer_shape_group .shape.shape-2 img,
.footer_2 .footer_shape_group .shape.shape-3 img,
.footer_2 .footer_shape_group .shape.shape-4 img,
.footer_2 .footer_shape_group .shape.shape-5 img,
.footer_2 .footer_shape_group .shape.shape-6 img,
.footer_2 .footer_shape_group .shape.shape-7 img,
.footer_3 .footer_shape_group .shape.shape-2 img,
.footer_3 .footer_shape_group .shape.shape-3 img,
.footer_3 .footer_shape_group .shape.shape-4 img,
.footer_3 .footer_shape_group .shape.shape-5 img,
.footer_3 .footer_shape_group .shape.shape-6 img,
.footer_3 .footer_shape_group .shape.shape-7 img {
    filter: brightness(1.05) saturate(0.6);
}

/* Night mode — dark CTA + dimmed bubbles, same animations */
html.night-mode .footer_2.footer_2--abstrak-bg,
body.night-mode .footer_2.footer_2--abstrak-bg,
html.active-dark-mode .footer_2.footer_2--abstrak-bg,
body.active-dark-mode .footer_2.footer_2--abstrak-bg,
html.night-mode .footer_3.footer_3--abstrak-bg,
body.night-mode .footer_3.footer_3--abstrak-bg,
html.active-dark-mode .footer_3.footer_3--abstrak-bg,
body.active-dark-mode .footer_3.footer_3--abstrak-bg {
    background: #27272E !important;
    background-image: none !important;
    background-color: #27272E !important;
}

html.night-mode .footer_2 .footer_shape_group .shape img,
body.night-mode .footer_2 .footer_shape_group .shape img,
html.active-dark-mode .footer_2 .footer_shape_group .shape img,
body.active-dark-mode .footer_2 .footer_shape_group .shape img,
html.night-mode .footer_3 .footer_shape_group .shape img,
body.night-mode .footer_3 .footer_shape_group .shape img,
html.active-dark-mode .footer_3 .footer_shape_group .shape img,
body.active-dark-mode .footer_3 .footer_shape_group .shape img {
    filter: brightness(0.5);
    opacity: 1;
}

html.night-mode .footer_2.footer_2--abstrak-bg .footer_info p,
html.night-mode .footer_2.footer_2--abstrak-bg .footer_link ul li a,
html.night-mode .footer_2.footer_2--abstrak-bg .footer_post ul li .text p,
html.night-mode .footer_2.footer_2--abstrak-bg .footer_post ul li .text a,
html.night-mode .footer_2.footer_2--abstrak-bg .footer_copyright p,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_info p,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_link ul li a,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_post ul li .text p,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_post ul li .text a,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_copyright p {
    color: #D3D3D4;
    opacity: 1;
}

html.night-mode .footer_2.footer_2--abstrak-bg .footer_post h3,
html.night-mode .footer_2.footer_2--abstrak-bg .footer_link h3,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_post h3,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_link h3 {
    color: #ffffff;
}

html.night-mode .footer_2.footer_2--abstrak-bg .footer_link ul li a:hover,
html.night-mode .footer_2.footer_2--abstrak-bg .footer_post ul li .text a:hover,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_link ul li a:hover,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_post ul li .text a:hover {
    color: #FFDC60;
}

html.night-mode .footer_2.footer_2--abstrak-bg .footer_copyright,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_copyright {
    border-top-color: rgba(255, 255, 255, 0.12);
}

/* Keep social brand colors in night mode (icons stay white) */
html.night-mode .footer_2 .footer_info ul li a,
body.night-mode .footer_2 .footer_info ul li a,
html.active-dark-mode .footer_2 .footer_info ul li a,
body.active-dark-mode .footer_2 .footer_info ul li a {
    color: #ffffff !important;
}

html.night-mode .footer_2 .footer_info ul li a.facebook,
body.night-mode .footer_2 .footer_info ul li a.facebook,
html.active-dark-mode .footer_2 .footer_info ul li a.facebook,
body.active-dark-mode .footer_2 .footer_info ul li a.facebook {
    background: #3b5998 !important;
    border-color: #3b5998 !important;
}

html.night-mode .footer_2 .footer_info ul li a.twitter,
body.night-mode .footer_2 .footer_info ul li a.twitter,
html.active-dark-mode .footer_2 .footer_info ul li a.twitter,
body.active-dark-mode .footer_2 .footer_info ul li a.twitter {
    background: #1DA1F2 !important;
    border-color: #1DA1F2 !important;
}

html.night-mode .footer_2 .footer_info ul li a.linkedin,
body.night-mode .footer_2 .footer_info ul li a.linkedin,
html.active-dark-mode .footer_2 .footer_info ul li a.linkedin,
body.active-dark-mode .footer_2 .footer_info ul li a.linkedin {
    background: #0077B5 !important;
    border-color: #0077B5 !important;
}

html.night-mode .footer_2 .footer_info ul li a.youtube,
body.night-mode .footer_2 .footer_info ul li a.youtube,
html.active-dark-mode .footer_2 .footer_info ul li a.youtube,
body.active-dark-mode .footer_2 .footer_info ul li a.youtube {
    background: #CD201F !important;
    border-color: #CD201F !important;
}

html.night-mode .footer_2.footer_2--abstrak-bg .footer_top_contact,
body.night-mode .footer_2.footer_2--abstrak-bg .footer_top_contact,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_top_contact,
body.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_top_contact {
    background: #292930;
    box-shadow: 0px 30px 40px 0px rgba(0, 0, 0, 0.35);
}

html.night-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li,
body.night-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li,
body.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li {
    border-right-color: rgba(255, 255, 255, 0.12);
}

html.night-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .icon,
body.night-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .icon,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .icon,
body.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .icon {
    background: #212121;
}

html.night-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .text span,
html.night-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .text a,
html.night-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .text p,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .text span,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .text a,
html.active-dark-mode .footer_2.footer_2--abstrak-bg .footer_top_contact ul li .text p {
    color: #D3D3D4;
}


/* Slim footer 3 — shapes may rise into the body above the bar */
.footer_3 .footer_shape_group {
    overflow: visible;
}

.footer_3 .footer_shape_group .shape.shape-1 {
    bottom: 0;
    left: 26%;
}

.footer_3 .footer_shape_group .shape.shape-1 img {
    width: min(580px, 58vw);
    max-width: none;
    height: auto;
    transform: rotate(180deg);
    opacity: 0.9;
    filter: brightness(1.15) saturate(0.35);
}

.footer_3 .footer_shape_group .shape.shape-2 {
    top: auto;
    bottom: 70%;
    left: 8%;
    opacity: 0.5;
}

.footer_3 .footer_shape_group .shape.shape-3 {
    top: auto;
    bottom: 110%;
    left: 22%;
    opacity: 0.45;
}

.footer_3 .footer_shape_group .shape.shape-4 {
    top: auto;
    bottom: 85%;
    left: 48%;
    opacity: 0.45;
}

.footer_3 .footer_shape_group .shape.shape-5 {
    top: auto;
    bottom: 130%;
    left: 62%;
    opacity: 0.45;
}

.footer_3 .footer_shape_group .shape.shape-6 {
    top: auto;
    bottom: 95%;
    right: 14%;
    opacity: 0.5;
}

.footer_3 .footer_shape_group .shape.shape-7 {
    top: auto;
    bottom: 60%;
    right: 6%;
    opacity: 0.45;
}

.footer_3 .footer_shape_group .shape.shape-2 img,
.footer_3 .footer_shape_group .shape.shape-3 img,
.footer_3 .footer_shape_group .shape.shape-4 img,
.footer_3 .footer_shape_group .shape.shape-5 img,
.footer_3 .footer_shape_group .shape.shape-6 img,
.footer_3 .footer_shape_group .shape.shape-7 img {
    width: 22px;
    height: auto;
}

/* ========== Footer Layout 3 — same Abstrak bg as layout 2, keep slim height ========== */
.footer_3.footer_3--abstrak-bg {
    --footer-light-color: #ECF2F6;
    --footer-light-gradient: linear-gradient(90deg, var(--footer-light-color) 0%, color-mix(in srgb, var(--footer-light-color) 0%, transparent) 70.31%);
    position: relative;
    /* Allow shapes to bleed upward into the page body */
    overflow: visible !important;
    z-index: 2;
    flex: 0 0 auto;
    background: var(--footer-light-gradient) !important;
    background-image: var(--footer-light-gradient) !important;
    background-color: var(--footer-light-color) !important;
    background-size: cover !important;
}

.footer_3.footer_3--abstrak-bg .footer_3_text {
    padding: 36px 0 28px !important;
}

.footer_3.footer_3--abstrak-bg > .container {
    position: relative;
    z-index: 2;
}

.footer_3.footer_3--abstrak-bg .footer_3_top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    padding-bottom: 24px;
}

.footer_3.footer_3--abstrak-bg .footer_3_logo {
    display: block;
    width: 80px;
    flex-shrink: 0;
}

.footer_3.footer_3--abstrak-bg .footer_3_divider {
    border-top: 1px solid rgba(8, 5, 33, 0.10);
}

.footer_3.footer_3--abstrak-bg .footer_3_socials {
    flex: 0 0 auto;
    margin-left: auto;
    margin-right: 48px;
}

.footer_3.footer_3--abstrak-bg .footer_3_bottom {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    width: 100%;
    padding-top: 20px;
}

.footer_3.footer_3--abstrak-bg .footer_3_copyright {
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    color: var(--colorBlack, #27272E);
    font-family: var(--headingFont);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    text-transform: none;
    opacity: 0.75;
}

.footer_3.footer_3--abstrak-bg .footer_3_legal {
    display: flex;
    flex: 0 1 auto;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-end;
    gap: 28px;
    margin-right: 48px;
    max-width: none;
}

.footer_3.footer_3--abstrak-bg .footer_3_legal li {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin: 0;
    padding: 0;
    position: relative;
}

.footer_3.footer_3--abstrak-bg .footer_3_legal li i {
    display: none !important;
}

.footer_3.footer_3--abstrak-bg .footer_3_legal li + li::before {
    content: "•";
    position: absolute;
    left: -16px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    color: rgba(39, 39, 46, 0.45);
    font-size: 12px;
    line-height: 1;
}

.footer_3.footer_3--abstrak-bg .footer_3_legal li a,
.footer_3.footer_3--abstrak-bg .footer_3_legal li a:hover,
.footer_3.footer_3--abstrak-bg .footer_3_legal li a:focus {
    /* Reset social-button styles inherited from .footer_3_text ul li a */
    width: auto !important;
    height: auto !important;
    min-width: 0;
    line-height: 1.4 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    display: inline !important;
    text-align: left;
    color: var(--colorBlack, #27272E) !important;
    font-family: var(--headingFont);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0.75;
    text-transform: none;
    transform: none !important;
    transition: color linear .3s, opacity linear .3s;
}

.footer_3.footer_3--abstrak-bg .footer_3_legal li a:hover {
    color: var(--colorPrimary, #3399ff) !important;
    opacity: 1;
}

@media only screen and (min-width: 992px) and (max-width: 1199.99px) {
    .footer_3.footer_3--abstrak-bg .footer_3_socials,
    .footer_3.footer_3--abstrak-bg .footer_3_legal {
        margin-right: 32px;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_legal {
        gap: 22px;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_copyright {
        font-size: 13px;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_legal li a {
        font-size: 13px;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_legal li + li::before {
        left: -13px;
    }
}
.footer_3 .footer_3_socials li a {
    transform: scale(1);
    transition: transform 0.35s ease, background-color 0.3s ease, color 0.3s ease;
    will-change: transform;
}

.footer_3 .footer_3_socials li a:hover,
.footer_3 .footer_3_socials li a:focus {
    transform: scale(0.9);
}

.footer_3 .footer_3_socials li a,
.footer_3 .footer_3_socials li a i,
.footer_3 .footer_3_socials li a:hover,
.footer_3 .footer_3_socials li a:focus,
.footer_3 .footer_3_socials li a:hover i,
.footer_3 .footer_3_socials li a:focus i {
    color: #ffffff !important;
}

html.night-mode .footer_3 .footer_3_socials li a,
body.night-mode .footer_3 .footer_3_socials li a,
html.active-dark-mode .footer_3 .footer_3_socials li a,
body.active-dark-mode .footer_3 .footer_3_socials li a,
html.night-mode .footer_3 .footer_3_socials li a i,
body.night-mode .footer_3 .footer_3_socials li a i,
html.active-dark-mode .footer_3 .footer_3_socials li a i,
body.active-dark-mode .footer_3 .footer_3_socials li a i {
    color: #ffffff !important;
}

html.night-mode .footer_3.footer_3--abstrak-bg .footer_3_divider,
body.night-mode .footer_3.footer_3--abstrak-bg .footer_3_divider,
html.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_divider,
body.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_divider {
    border-top-color: rgba(255, 255, 255, 0.12);
}

html.night-mode .footer_3.footer_3--abstrak-bg .footer_3_copyright,
body.night-mode .footer_3.footer_3--abstrak-bg .footer_3_copyright,
html.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_copyright,
body.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_copyright {
    color: #ffffff;
    opacity: 0.85;
}

html.night-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li + li::before,
body.night-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li + li::before,
html.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li + li::before,
body.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li + li::before {
    color: rgba(255, 255, 255, 0.45);
}

html.night-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li a,
body.night-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li a,
html.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li a,
body.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li a {
    color: #ffffff;
    opacity: 0.85;
}

html.night-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li a:hover,
body.night-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li a:hover,
html.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li a:hover,
body.active-dark-mode .footer_3.footer_3--abstrak-bg .footer_3_legal li a:hover {
    color: var(--colorPrimary, #3399ff);
    opacity: 1;
}

/* Pin slim footer to bottom of viewport when page content is short */
body:has(.footer_3.footer_3--abstrak-bg) {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    /* Do not clip shapes that rise above the footer into the page */
    overflow-x: clip;
    overflow-y: visible;
}

body:has(.footer_3.footer_3--abstrak-bg) .footer_3.footer_3--abstrak-bg {
    margin-top: auto !important;
    width: 100%;
    flex-shrink: 0;
}

body:has(.footer_3.footer_3--abstrak-bg) .sign_in,
body:has(.footer_3.footer_3--abstrak-bg) .sign_up {
    margin-bottom: 0 !important;
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body:has(.footer_3.footer_3--abstrak-bg) .sign_in > .row,
body:has(.footer_3.footer_3--abstrak-bg) .sign_up > .row {
    flex: 0 0 auto;
    width: 100%;
}

body:has(.footer_3.footer_3--abstrak-bg) .sign_in_form {
    padding-top: clamp(48px, 8vh, 120px) !important;
    padding-bottom: clamp(48px, 8vh, 120px) !important;
}

/* Mobile: logo + socials above line, copyright row below */
@media only screen and (max-width: 991.99px) {
    .footer_3 .footer_shape_group .shape.shape-1 {
        bottom: 0;
    }

    .footer_3 .footer_shape_group .shape.shape-1 img {
        width: min(420px, 88vw);
    }

    .footer_3.footer_3--abstrak-bg .footer_3_text {
        padding: 28px 0 22px !important;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_top {
        padding-bottom: 20px;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_bottom {
        padding-top: 16px;
        flex-direction: column;
        align-items: center !important;
        justify-content: center;
        text-align: center;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_copyright {
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding-right: 0;
        font-size: 13px;
        line-height: 1.45;
        white-space: normal;
        text-align: center;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_legal {
        display: none !important;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_socials {
        margin-right: 16px;
        margin-left: auto;
    }
}

@media only screen and (max-width: 575.99px) {
    .footer_3.footer_3--abstrak-bg .footer_3_text {
        padding: 22px 0 18px !important;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_top {
        gap: 12px;
        padding-bottom: 16px;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_bottom {
        gap: 10px;
        padding-top: 14px;
    }

    .footer_3.footer_3--abstrak-bg .footer_3_copyright {
        font-size: 12px;
        line-height: 1.4;
    }
}
