.footer.site-footer.footer-redesign {
    --footer-ink:color-mix(in srgb, var(--white) 76%, var(--navy));
    --footer-muted:color-mix(in srgb, var(--white) 64%, var(--navy));
    --footer-line:color-mix(in srgb, var(--white) 16%, var(--navy));
    --footer-blue:var(--blue);
    --footer-accent:color-mix(in srgb, var(--blue) 58%, var(--white));
    --container-width:calc(100% - clamp(40px, 9.7vw, 160px));
    padding:0;
    border:0;
    background:radial-gradient(ellipse at 0 0, color-mix(in srgb, var(--blue) 12%, var(--navy)), transparent 48%), var(--navy);
    color:var(--footer-ink)
}

.footer-redesign .footer-cta {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-bottom:1px solid var(--footer-line);
    background:var(--navy)
}

.footer-redesign .footer-cta > img {
    position:absolute;
    z-index:-2;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:70% center
}

.footer-redesign .footer-cta:after {
    content:'';
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(90deg, color-mix(in srgb, var(--navy) 97%, transparent), color-mix(in srgb, var(--navy) 88%, transparent) 28%, color-mix(in srgb, var(--navy) 25%, transparent) 65%, transparent), linear-gradient(0deg, color-mix(in srgb, var(--navy) 20%, transparent), transparent 45%)
}

.footer-redesign .footer-cta-inner {
    padding-block:clamp(64px, 6.2vw, 100px);
    min-height:490px
}

.footer-redesign .footer-cta-eyebrow {
    margin:0 0 18px;
    color:var(--footer-accent);
    font-size:17px;
    font-weight:650;
    letter-spacing:.045em
}

.footer-redesign .footer-cta h2 {
    max-width:900px;
    margin:0;
    color:var(--white);
    font-size:clamp(38px, 4.35vw, 68px);
    font-weight:750;
    line-height:1.08;
    letter-spacing:-.035em
}

.footer-redesign .footer-cta h2 em {
    font-style:normal;
    color:var(--footer-accent);
    background:linear-gradient(100deg, var(--footer-accent), var(--white));
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent
}

.footer-redesign .footer-cta-description {
    max-width:720px;
    margin:24px 0 34px;
    color:var(--footer-muted);
    font-size:clamp(17px, 1.55vw, 23px);
    line-height:1.55
}

.footer-redesign .footer-cta-actions {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:24px 40px
}

.footer-redesign .footer-demo-link,
.footer-redesign .footer-contact-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    min-height:62px;
    font-size:18px;
    font-weight:600;
    text-decoration:none;
    transition:background .2s, color .2s, box-shadow .2s
}

.footer-redesign .footer-demo-link {
    padding:16px 32px;
    border:1px solid transparent;
    border-radius:9px;
    color:var(--white);
    background:var(--footer-blue);
    box-shadow:0 12px 34px color-mix(in srgb, var(--blue) 13%, transparent)
}

.footer-redesign .footer-demo-link:hover {
    background:var(--blue-hover);
    box-shadow:0 9px 25px color-mix(in srgb, var(--blue) 19%, transparent)
}

.footer-redesign .footer-contact-link { color:var(--white) }
.footer-redesign .footer-contact-link:hover { color:var(--footer-accent) }
.footer-redesign .footer-contact-link span { font-size:26px; font-weight:400 }

.footer-redesign .footer-content {
    display:grid;
    grid-template-columns:minmax(260px, 1.8fr) minmax(145px, 1fr) minmax(175px, 1.1fr) minmax(175px, 1.1fr) minmax(185px, 1fr);
    gap:clamp(24px, 3vw, 56px);
    padding-block:68px 58px
}

.footer-redesign .footer-content-grouped {
    grid-template-columns:minmax(260px, 1.8fr) minmax(130px, .9fr) minmax(165px, 1.1fr) minmax(170px, 1.1fr) minmax(244px, 1.2fr);
}

.footer-redesign .footer-brand {
    display:inline-flex;
    align-items:center;
    gap:16px;
    width:fit-content;
    color:var(--white);
    font-size:clamp(29px, 2.65vw, 40px);
    font-weight:750;
    letter-spacing:-.04em;
    line-height:1.2;
    white-space:nowrap;
    text-decoration:none
}

.footer-redesign .footer-brand > svg { flex:none; width:60px; height:44px; color:var(--footer-blue) }
.footer-redesign .footer-brand-dot { color:var(--footer-blue) }

.footer-redesign .footer-description {
    max-width:340px;
    margin:24px 0 28px;
    color:var(--footer-ink);
    font-size:16px;
    line-height:1.65
}

.footer-redesign .footer-socials {
    display:flex;
    align-items:center;
    gap:25px
}

.footer-redesign .footer-socials > a,
.footer-redesign .footer-socials > span {
    display:grid;
    place-items:center;
    width:38px;
    height:42px
}

.footer-redesign .footer-socials svg {
    display:block;
    width:29px;
    height:29px;
    color:var(--footer-ink)
}

.footer-redesign .footer-socials a:hover svg { color:var(--footer-accent) }
.footer-redesign .footer-messengers { gap:12px }
.footer-redesign .footer-messengers > a {
    width:44px;
    height:44px;
    border:1px solid var(--footer-line);
    border-radius:12px;
    background:#ffffff08;
    transition:background .2s, border-color .2s
}
.footer-redesign .footer-messengers > a:hover {
    border-color:var(--footer-accent);
    background:#ffffff14
}
.footer-redesign .footer-messengers img { display:block; width:26px; height:26px }
.footer-redesign .footer-contact-socials {
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}
.footer-redesign .footer-contact-socials > a { flex:0 0 44px }
.footer-redesign .footer-column { min-width:0 }

.footer-redesign .footer-column h2 {
    margin:7px 0 25px;
    color:var(--footer-muted);
    font-size:13px;
    font-weight:650;
    line-height:1.4;
    letter-spacing:.07em;
    text-transform:uppercase
}

.footer-redesign .footer-column > a {
    display:block;
    width:fit-content;
    padding-block:9px;
    color:var(--footer-ink);
    font-size:16px;
    line-height:1.5;
    text-decoration:none;
    transition:color .2s
}

.footer-redesign .footer-column > a:hover { color:var(--white) }
.footer-redesign .footer-column > a:first-of-type { padding-top:0 }
.footer-redesign .footer-contacts > a { color:var(--footer-accent) }
.footer-redesign .footer-contacts > a span { margin-left:6px }
.footer-redesign .footer-contacts > p { margin:8px 0 0; color:var(--footer-muted); font-size:14px; line-height:1.6 }

.footer-redesign .footer-meta {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:18px 26px;
    padding-block:32px 48px;
    border-top:1px solid var(--footer-line);
    color:var(--footer-muted);
    font-size:13px;
    line-height:1.5
}

.footer-redesign .footer-meta > p { margin:0 }
.footer-redesign .footer-meta > :not(:first-child) { padding-left:26px; border-left:1px solid var(--footer-line) }
.footer-redesign .footer-meta a { color:inherit; text-decoration:none }
.footer-redesign .footer-meta a:hover { color:var(--white) }
.footer-redesign .footer-privacy-button { padding:0; border:0; color:inherit; background:none; font:inherit; cursor:pointer }
.footer-redesign .footer-privacy-button:hover { color:var(--white) }
.footer-redesign .footer-languages { display:flex; align-items:center; gap:12px }
.footer-redesign .footer-languages a[aria-current] { color:var(--footer-accent) }
.footer-redesign .footer-meta .footer-language { border:0; padding:0; background:none; font:inherit; border-radius:0 }
.footer-redesign .footer-credit { margin-left:auto; color:var(--footer-accent); white-space:nowrap }
.footer-redesign .footer-credit span { margin-left:6px }
.footer-redesign a:focus-visible,
.footer-redesign button:focus-visible { outline:2px solid var(--footer-accent); outline-offset:6px }

.footer-privacy-dialog {
    max-width:560px;
    width:calc(100% - 32px);
    max-height:calc(100dvh - 40px);
    overflow:auto;
    padding:32px;
    border:1px solid var(--line);
    border-radius:16px;
    color:var(--ink);
    background:var(--surface);
    box-shadow:0 24px 100px color-mix(in srgb, var(--navy) 33%, transparent)
}

.footer-privacy-dialog::backdrop { background:color-mix(in srgb, var(--navy) 67%, transparent); backdrop-filter:blur(6px) }
.footer-privacy-dialog h2 { margin:0 0 20px; font-size:26px; line-height:1.25 }
.footer-privacy-dialog p { font-size:16px; line-height:1.7 }
.footer-privacy-dialog a { color:var(--blue) }
.footer-privacy-dialog form { margin-top:24px }

@media (max-width:1250px) {
    .footer-redesign .footer-content { grid-template-columns:1.6fr 1fr 1.2fr; gap:36px }
    .footer-redesign .footer-identity { grid-row:span 2 }
    .footer-redesign .footer-cta h2 { max-width:760px }
    .footer-redesign .footer-meta { gap:20px }
    .footer-redesign .footer-meta > :not(:first-child) { padding-left:20px }
}

@media (max-width:760px) {
    .footer-redesign .footer-cta-inner { min-height:500px; padding-block:60px }
    .footer-redesign .footer-cta > img { object-position:65% center; opacity:.6 }
    .footer-redesign .footer-cta:after { background:linear-gradient(90deg, color-mix(in srgb, var(--navy) 93%, transparent), color-mix(in srgb, var(--navy) 65%, transparent)), linear-gradient(0deg, var(--navy), transparent 65%) }
    .footer-redesign .footer-cta h2 { max-width:600px; font-size:clamp(35px, 7.6vw, 56px) }
    .footer-redesign .footer-cta-description { max-width:450px }
    .footer-redesign .footer-cta-actions { gap:15px 24px }
    .footer-redesign .footer-demo-link,
    .footer-redesign .footer-contact-link { min-height:54px; font-size:16px }
    .footer-redesign .footer-demo-link { padding-inline:22px }
    .footer-redesign .footer-content { grid-template-columns:repeat(2, minmax(0, 1fr)); padding-block:44px; gap:32px 24px }
    .footer-redesign .footer-identity { grid-column:1 / -1; grid-row:auto }
    .footer-redesign .footer-description { max-width:380px; margin-block:18px }
    .footer-redesign .footer-brand { font-size:34px }
    .footer-redesign .footer-column h2 { margin-bottom:20px }
    .footer-redesign .footer-column > a { font-size:15px }
    .footer-redesign .footer-meta { padding-block:26px 36px; gap:18px 24px }
    .footer-redesign .footer-meta > :first-child { flex-basis:100% }
    .footer-redesign .footer-meta > :not(:first-child) { padding-left:0; border:0 }
    .footer-redesign .footer-credit { margin-left:0 }
}

@media (max-width:420px) {
    .footer-redesign .footer-cta h2 { font-size:35px }
    .footer-redesign .footer-cta h2 br { display:none }
    .footer-redesign .footer-cta-actions { align-items:flex-start; flex-direction:column; gap:10px }
    .footer-redesign .footer-cta-eyebrow { font-size:14px }
    .footer-redesign .footer-content { gap:30px 18px }
    .footer-redesign .footer-contacts { grid-column:1 / -1 }
    .footer-redesign .footer-meta { font-size:12px }
}

@media (prefers-reduced-motion:reduce) {
    .footer-redesign a { transition:none }
}
